Skip to content

Commit fc72e6e

Browse files
committed
Update for API redesign; address littledan review
1 parent 91f70c9 commit fc72e6e

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

document/js-api/index.bs

+12-12
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,6 @@ urlPrefix: https://heycam.github.io/webidl/; spec: WebIDL
189189
type: dfn
190190
text: create a namespace object; url: create-a-namespace-object
191191
urlPrefix: https://tc39.es/proposal-resizablearraybuffer/; spec: ResizableArrayBuffer proposal
192-
type: interface; for: ResizableArrayBuffer proposal
193-
text: ResizableArrayBuffer; url: sec-resizablearraybuffer-objects
194192
type: dfn
195193
text: handled; url: sec-hostresizearraybuffer
196194
text: IsResizableArrayBuffer; url: sec-isresizablearraybuffer
@@ -634,8 +632,8 @@ interface Memory {
634632
constructor(MemoryDescriptor descriptor);
635633
unsigned long grow([EnforceRange] unsigned long delta);
636634
ArrayBuffer toFixedLengthBuffer();
637-
ResizableArrayBuffer toResizableBuffer();
638-
readonly attribute (ArrayBuffer or ResizableArrayBuffer) buffer;
635+
ArrayBuffer toResizableBuffer();
636+
readonly attribute ArrayBuffer buffer;
639637
};
640638
</pre>
641639

@@ -644,13 +642,15 @@ which can be simultaneously referenced by multiple {{Instance}} objects. Each
644642
{{Memory}} object has the following internal slots:
645643

646644
* \[[Memory]] : a [=memory address=]
647-
* \[[BufferObject]] : an {{ArrayBuffer}} or {{ResizableArrayBuffer}} whose [=Data Block=] is [=identified with=] the above memory address
645+
* \[[BufferObject]] : an {{ArrayBuffer}} whose [=Data Block=] is [=identified with=] the above memory address
648646

649647
<div algorithm>
650648
To <dfn>create a fixed length memory buffer</dfn> from a [=memory address=] |memaddr|, perform the following steps:
651649

652650
1. Let |block| be a [=Data Block=] which is [=identified with=] the underlying memory of |memaddr|.
653-
1. Let |buffer| be a new {{ArrayBuffer}} whose \[[ArrayBufferData]] is |block| and \[[ArrayBufferByteLength]] is set to the length of |block|.
651+
1. Let |buffer| be a new {{ArrayBuffer}} with the internal slots \[[ArrayBufferData]], \[[ArrayBufferByteLength]], and \[[ArrayBufferDetachKey]].
652+
1. Set |buffer|.\[[ArrayBufferData]] to |block|.
653+
1. Set |buffer|.\[[ArrayBufferByteLength]] to |length|.
654654
1. Set |buffer|.\[[ArrayBufferDetachKey]] to "WebAssembly.Memory".
655655
1. Return |buffer|.
656656
</div>
@@ -662,7 +662,10 @@ which can be simultaneously referenced by multiple {{Instance}} objects. Each
662662
1. Let |length| be the length of |block|.
663663
1. If |maxsize| &gt; (65536 &times; 65536),
664664
1. Throw a {{RangeError}} exception.
665-
1. Let |buffer| be a new {{ResizableArrayBuffer}} whose \[[ArrayBufferData]] is |block|, \[[ArrayBufferByteLength]] is set to |length|, and \[[ArrayBufferMaxByteLength]] is |maxsize|.
665+
1. Let |buffer| be a new {{ArrayBuffer}} with the internal slots \[[ArrayBufferData]], \[[ArrayBufferByteLength]], \[[ArrayBufferMaxByteLength]], and \[[ArrayBufferDetachKey]].
666+
1. Set |buffer|.\[[ArrayBufferData]] to |block|.
667+
1. Set |buffer|.\[[ArrayBufferByteLength]] to |length|.
668+
1. Set |buffer|.\[[ArrayBufferMaxByteLength]] is |maxsize|.
666669
1. Set |buffer|.\[[ArrayBufferDetachKey]] to "WebAssembly.Memory".
667670
1. Return |buffer|.
668671
</div>
@@ -766,17 +769,14 @@ Immediately after a WebAssembly [=memory.grow=] instruction executes, perform th
766769
1. If |memtype| has a max,
767770
1. Let |maxsize| be the max value in |memtype|.
768771
1. Otherwise,
769-
1. Let |maxsize| be an implementation-defined value &ge; |buffer|.\[[ArrayBufferByteLength]] and &lt; (65536 &times; 65536).
770-
771-
Note: The implementation-defined value above is the same across all invocations of this method.
772-
772+
1. Let |maxsize| be 65536 &times; 65536.
773773
1. Let |resizableBuffer| be the result of [=create a resizable memory buffer|creating a resizable memory buffer=] from |memaddr| and |maxsize|.
774774
1. Perform ! [=DetachArrayBuffer=](|buffer|, "WebAssembly.Memory").
775775
1. Set **this**.\[[BufferObject]] to |resizableBuffer|.
776776
1. Return |resizableBuffer|.
777777
</div>
778778

779-
{{ResizableArrayBuffer}} objects returned by a {{Memory}} object must use the following definition of [=HostResizeArrayBuffer=].
779+
{{ArrayBuffer}} objects returned by a {{Memory}} object must use the following definition of [=HostResizeArrayBuffer=].
780780

781781
<div algorithm>
782782
The <dfn>abstract operation [=HostResizeArrayBuffer=]</dfn> takes arguments |buffer| and |newLength|. It performs the following steps when called.

0 commit comments

Comments
 (0)