Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8608a8ac3b201b79a2d5475af207d84309f518ca
      
https://github.com/WebKit/WebKit/commit/8608a8ac3b201b79a2d5475af207d84309f518ca
  Author: Tetsuharu Ohzeki <[email protected]>
  Date:   2026-05-18 (Mon, 18 May 2026)

  Changed paths:
    A 
JSTests/stress/typedarray-constructor-allocatetypedarray-before-isdetachedbuffer-prototype-getter-detach.js
    A 
JSTests/stress/typedarray-constructor-allocatetypedarray-before-isdetachedbuffer.js
    A 
JSTests/stress/typedarray-constructor-allocatetypedarray-before-toindex-byteoffset.js
    A 
JSTests/stress/typedarray-constructor-allocatetypedarray-before-toindex-length.js
    A 
JSTests/stress/typedarray-constructor-byteoffset-modulo-elementsize-before-isdetachedbuffer-weird-byteoffset.js
    A 
JSTests/stress/typedarray-constructor-byteoffset-modulo-elementsize-before-isdetachedbuffer.js
    A 
JSTests/stress/typedarray-constructor-byteoffset-modulo-elementsize-before-toindex-length.js
    A 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-bufferbytelength-modulo-elementsize-weird-byteoffset-detach.js
    A 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-bufferbytelength-modulo-elementsize.js
    A 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-newbytelength-lt-0-weird-byteoffset.js
    A 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-newbytelength-lt-0.js
    A 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-offset+newbytelength-gt-bufferbytelength-byteoffset-too-large.js
    A 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-offset+newbytelength-gt-bufferbytelength-length-too-large.js
    A 
JSTests/stress/typedarray-constructor-toindex-byteoffset-before-isdetachedbuffer-weird-byteoffset-detach.js
    A 
JSTests/stress/typedarray-constructor-toindex-byteoffset-before-isdetachedbuffer.js
    A JSTests/stress/typedarray-constructor-toindex-byteoffset-detach-buffer.js
    A 
JSTests/stress/typedarray-constructor-toindex-length-before-isdetachedbuffer-weird-byteoffset-detach.js
    A 
JSTests/stress/typedarray-constructor-toindex-length-before-isdetachedbuffer-weird-length-detach.js
    A 
JSTests/stress/typedarray-constructor-toindex-length-before-isdetachedbuffer.js
    A JSTests/stress/typedarray-constructor-toindex-length-detach-buffer.js
    M JSTests/test262/expectations.yaml
    M LayoutTests/fast/canvas/webgl/data-view-test-expected.txt
    M Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h

  Log Message:
  -----------
  [JSC] test 262 fail: test/staging/sm/TypedArray/constructor-buffer-sequence.js
https://bugs.webkit.org/show_bug.cgi?id=313927

Reviewed by Yusuke Suzuki.

This change fixes some spec compliant issues to pass the test:

1. The step 7-a `AllocateTypedArray` of 
https://tc39.es/ecma262/2026/#sec-typedarray should be executed:
    1. before the step 2 `ToIndex(byteOffset)` of 
https://tc39.es/ecma262/2026/#sec-initializetypedarrayfromarraybuffer
2. The step 3 of 
https://tc39.es/ecma262/2026/#sec-initializetypedarrayfromarraybuffer should be 
executed:
    1. before the step 6 `IsDetachedBuffer(buffer)`.
    2. before the step 5-a `ToIndex(length)`.

----

This change just fixes failures shown as these test cases:

- 
JSTests/stress/typedarray-constructor-bug-313927-allocatetypedarray-before-toindex-byteoffset.js
- 
JSTests/stress/typedarray-constructor-bug-313927-byteoffset-modulo-elementsize-before-isdetachedbuffer-weird-byteoffset.js
- 
JSTests/stress/typedarray-constructor-bug-313927-byteoffset-modulo-elementsize-before-isdetachedbuffer.js
- 
JSTests/stress/typedarray-constructor-bug-313927-byteoffset-modulo-elementsize-before-toindex-length.js

Other added test cases are just a port of the rest of 
test/staging/sm/TypedArray/constructor-buffer-sequence.js
to improve the test coverage as a regression test.

Tests: 
JSTests/stress/typedarray-constructor-allocatetypedarray-before-isdetachedbuffer-prototype-getter-detach.js
       
JSTests/stress/typedarray-constructor-allocatetypedarray-before-isdetachedbuffer.js
       
JSTests/stress/typedarray-constructor-allocatetypedarray-before-toindex-byteoffset.js
       
JSTests/stress/typedarray-constructor-allocatetypedarray-before-toindex-length.js
       
JSTests/stress/typedarray-constructor-byteoffset-modulo-elementsize-before-isdetachedbuffer-weird-byteoffset.js
       
JSTests/stress/typedarray-constructor-byteoffset-modulo-elementsize-before-isdetachedbuffer.js
       
JSTests/stress/typedarray-constructor-byteoffset-modulo-elementsize-before-toindex-length.js
       
JSTests/stress/typedarray-constructor-isdetachbuffer-before-bufferbytelength-modulo-elementsize-weird-byteoffset-detach.js
       
JSTests/stress/typedarray-constructor-isdetachbuffer-before-bufferbytelength-modulo-elementsize.js
       
JSTests/stress/typedarray-constructor-isdetachbuffer-before-newbytelength-lt-0-weird-byteoffset.js
       
JSTests/stress/typedarray-constructor-isdetachbuffer-before-newbytelength-lt-0.js
       
JSTests/stress/typedarray-constructor-isdetachbuffer-before-offset+newbytelength-gt-bufferbytelength-byteoffset-too-large.js
       
JSTests/stress/typedarray-constructor-isdetachbuffer-before-offset+newbytelength-gt-bufferbytelength-length-too-large.js
       
JSTests/stress/typedarray-constructor-toindex-byteoffset-before-isdetachedbuffer-weird-byteoffset-detach.js
       
JSTests/stress/typedarray-constructor-toindex-byteoffset-before-isdetachedbuffer.js
       JSTests/stress/typedarray-constructor-toindex-byteoffset-detach-buffer.js
       
JSTests/stress/typedarray-constructor-toindex-length-before-isdetachedbuffer-weird-byteoffset-detach.js
       
JSTests/stress/typedarray-constructor-toindex-length-before-isdetachedbuffer-weird-length-detach.js
       
JSTests/stress/typedarray-constructor-toindex-length-before-isdetachedbuffer.js
       JSTests/stress/typedarray-constructor-toindex-length-detach-buffer.js

* 
JSTests/stress/typedarray-constructor-allocatetypedarray-before-isdetachedbuffer-prototype-getter-detach.js:
 Added.
* 
JSTests/stress/typedarray-constructor-allocatetypedarray-before-isdetachedbuffer.js:
 Added.
* 
JSTests/stress/typedarray-constructor-allocatetypedarray-before-toindex-byteoffset.js:
 Added.
* 
JSTests/stress/typedarray-constructor-allocatetypedarray-before-toindex-length.js:
 Added.
* 
JSTests/stress/typedarray-constructor-byteoffset-modulo-elementsize-before-isdetachedbuffer-weird-byteoffset.js:
 Added.
* 
JSTests/stress/typedarray-constructor-byteoffset-modulo-elementsize-before-isdetachedbuffer.js:
 Added.
* 
JSTests/stress/typedarray-constructor-byteoffset-modulo-elementsize-before-toindex-length.js:
 Added.
* 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-bufferbytelength-modulo-elementsize-weird-byteoffset-detach.js:
 Added.
* 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-bufferbytelength-modulo-elementsize.js:
 Added.
* 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-newbytelength-lt-0-weird-byteoffset.js:
 Added.
* 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-newbytelength-lt-0.js:
 Added.
* 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-offset+newbytelength-gt-bufferbytelength-byteoffset-too-large.js:
 Added.
* 
JSTests/stress/typedarray-constructor-isdetachbuffer-before-offset+newbytelength-gt-bufferbytelength-length-too-large.js:
 Added.
* 
JSTests/stress/typedarray-constructor-toindex-byteoffset-before-isdetachedbuffer-weird-byteoffset-detach.js:
 Added.
* 
JSTests/stress/typedarray-constructor-toindex-byteoffset-before-isdetachedbuffer.js:
 Added.
* JSTests/stress/typedarray-constructor-toindex-byteoffset-detach-buffer.js: 
Added.
* 
JSTests/stress/typedarray-constructor-toindex-length-before-isdetachedbuffer-weird-byteoffset-detach.js:
 Added.
* 
JSTests/stress/typedarray-constructor-toindex-length-before-isdetachedbuffer-weird-length-detach.js:
 Added.
* 
JSTests/stress/typedarray-constructor-toindex-length-before-isdetachedbuffer.js:
 Added.
* JSTests/stress/typedarray-constructor-toindex-length-detach-buffer.js: Added.
* LayoutTests/fast/canvas/webgl/data-view-test-expected.txt:
    Thrown error was changed due to add |byteOffset modulo 
TypedArray.BYTES_PER_ELEMENT| check.
* Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h:

Canonical link: https://commits.webkit.org/313401@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to