Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2473 commits
Select commit Hold shift + click to select a range
4a4b1e3
Baseline full Iterator after generator prototype fix
dannote May 20, 2026
88ab5a2
Baseline full String reprise
dannote May 20, 2026
dc06403
Skip custom string methods on primitives
dannote May 20, 2026
7902c76
Baseline clean Promise workload
dannote May 20, 2026
24d1aff
Baseline clean Set workload
dannote May 20, 2026
b47ced4
Baseline RegExp first 500 reprise
dannote May 20, 2026
27eeee5
Baseline TypedArray first 500
dannote May 20, 2026
9273797
Preserve receiver for prototype getters
dannote May 20, 2026
ea0b296
Preserve undefined inherited accessor lookups
dannote May 20, 2026
6d57f19
Baseline TypedArray first 1000 after prototype lookup fixes
dannote May 20, 2026
031b7d4
Rewrite Object toString tag selection from QuickJS model
dannote May 20, 2026
af23704
Avoid constructor metadata lookup for plain builtins
dannote May 20, 2026
f848a20
Baseline clean full Object workload
dannote May 20, 2026
f95b8a1
Baseline TypedArray tail after RAB subarray cleanup
dannote May 20, 2026
5ad3a45
Validate detached buffers before TypedArray slice coercion
dannote May 20, 2026
4aa5d7a
Honor zero-count TypedArray slice detachment rules
dannote May 20, 2026
6ac767a
Extract generic realm support from Test262 host
dannote May 20, 2026
be3ea91
Avoid metadata recovery for builtin methods
dannote May 20, 2026
f10a5c0
Root Array map targets during callbacks
dannote May 21, 2026
1fad3db
Root Array flatMap targets during callbacks
dannote May 21, 2026
7c7bfdc
Root Array.from targets during mapping
dannote May 21, 2026
90b05e4
Use null prototype for Array unscopables
dannote May 21, 2026
c8bacf5
Honor Function prototype overrides for builtins
dannote May 21, 2026
413e41d
Avoid spreading concat primitives
dannote May 21, 2026
acc1833
Use new target realm for dynamic functions
dannote May 21, 2026
1ec460f
Use realm errors for Function apply
dannote May 21, 2026
ec7f641
Fix Boolean prototype semantics
dannote May 21, 2026
09722ed
Fix Number constant descriptors
dannote May 21, 2026
93931fe
Install realm Boolean through builtin DSL
dannote May 21, 2026
bff3c13
Install realm Symbol through builtin DSL
dannote May 21, 2026
1bcb305
Implement Symbol prototype semantics
dannote May 21, 2026
6da38a5
Finish Symbol cross-realm semantics
dannote May 21, 2026
056d2fc
Root suspended interpreter frames during calls
dannote May 21, 2026
73e58e6
Add BigInt fixed-width statics
dannote May 21, 2026
e4a22a1
Fix BigInt constructor conversion
dannote May 21, 2026
1616fef
Implement BigInt prototype semantics
dannote May 21, 2026
3015371
Install realm numeric builtins through DSL
dannote May 21, 2026
d510769
Install realm Array through builtin DSL
dannote May 21, 2026
f091f89
Install realm collection builtins through DSL
dannote May 21, 2026
4b296f3
Install realm Promise through builtin DSL
dannote May 21, 2026
8ecc14f
Install realm Iterator through builtin DSL
dannote May 21, 2026
4080f16
Install realm weak ref builtins through DSL
dannote May 21, 2026
8a1ea58
Install realm DataView through builtin DSL
dannote May 21, 2026
0c231f9
Install realm Date through builtin DSL
dannote May 21, 2026
ee4f883
Install realm RegExp through builtin DSL
dannote May 21, 2026
992fb46
Install realm errors through builtin DSL
dannote May 21, 2026
c2a3505
Install realm Object through builtin DSL
dannote May 21, 2026
c1a71ed
Install realm Proxy through builtin DSL
dannote May 21, 2026
5f840c8
Install realm Function through builtin DSL
dannote May 21, 2026
261bed4
Fix proxy trap call semantics
dannote May 21, 2026
f3f8e85
Use handler receiver for proxy prototype traps
dannote May 21, 2026
b6431e5
Forward proxy define and delete invariants
dannote May 21, 2026
a8eb500
Forward proxy get receivers
dannote May 21, 2026
66ba686
Centralize object-like value predicate
dannote May 21, 2026
822a6cf
Reuse object-like predicate in runtime modules
dannote May 21, 2026
2ad8895
Reuse value predicates in coercion
dannote May 21, 2026
3a61f69
Reuse value predicates in compiler helpers
dannote May 21, 2026
4d21365
Use canonical internal key predicate
dannote May 21, 2026
12e4086
Centralize internal namespace checks
dannote May 21, 2026
f4bedbf
Use internal namespace predicate in host filters
dannote May 21, 2026
69f1f32
Centralize internal slot key checks
dannote May 21, 2026
8300469
Introduce scoped runtime state access
dannote May 21, 2026
38b27ef
Use runtime state for interpreter eval context
dannote May 21, 2026
7aefad8
Scope suspended interpreter roots
dannote May 21, 2026
d444713
Use runtime state inside interpreter dispatch
dannote May 21, 2026
e3d5db9
Use runtime state in interpreter ops
dannote May 21, 2026
c844ed3
Scope generator resume contexts
dannote May 21, 2026
ed28c30
Use runtime state in compiler helpers
dannote May 21, 2026
2bdbdf3
Use runtime state in compiler subhelpers
dannote May 21, 2026
1b5e95b
Use runtime state in global helpers
dannote May 21, 2026
f41f2de
Use runtime state in runtime builtins
dannote May 21, 2026
8fc2bff
Use runtime state for invocation context fallback
dannote May 21, 2026
5406955
Use runtime state in object model context sites
dannote May 21, 2026
4b49d8c
Centralize arguments object cache access
dannote May 21, 2026
1b78d55
Centralize iterator result owner state
dannote May 21, 2026
afa538c
Centralize arguments object cache keys
dannote May 21, 2026
e6e59ec
Centralize strict mode value predicates
dannote May 21, 2026
56bd98b
Reuse strict function predicate in object helpers
dannote May 21, 2026
09198c3
Centralize SameValueZero semantics
dannote May 21, 2026
c09438d
Reuse object-like predicate in array runtimes
dannote May 21, 2026
b13f999
Reuse object-like predicate in Object runtime
dannote May 21, 2026
5753d8a
Reuse object-like predicate for Proxy constructor
dannote May 21, 2026
d57dad8
Reuse function-like predicate in coercion
dannote May 21, 2026
950cd90
Reuse object-like predicate in RegExp runtime
dannote May 21, 2026
87a1925
Remove unused strict equality helper
dannote May 21, 2026
c7f4b53
Centralize array prototype detection
dannote May 21, 2026
8dd1f61
Centralize symbol value helpers
dannote May 21, 2026
3f8a3b6
Reuse property key normalization in Object runtime
dannote May 21, 2026
47305d7
Reuse symbol predicate in key checks
dannote May 21, 2026
b75d434
Centralize home object need predicate
dannote May 21, 2026
e2df0b4
Centralize static deletion predicate
dannote May 21, 2026
2ae187c
Reuse static deletion predicate in property checks
dannote May 21, 2026
4f0451f
Centralize builtin name lookup
dannote May 21, 2026
70e5a5c
Reuse object-like predicate for receivers
dannote May 21, 2026
9710b23
Reuse array prototype detection across object model
dannote May 21, 2026
cc83533
Reuse array prototype detection in get and define
dannote May 21, 2026
4046b44
Centralize typed array constructor matching
dannote May 21, 2026
9be598c
Reuse typed array constructor lookup
dannote May 21, 2026
4e0be26
Add wrapped primitive predicates
dannote May 21, 2026
ff413ff
Reuse wrapped primitive type predicates
dannote May 21, 2026
95d3bbe
Expose central NaN predicate
dannote May 21, 2026
eed4646
Centralize function prototype predicate
dannote May 21, 2026
bc2af8c
Reuse function prototype predicate in descriptors
dannote May 21, 2026
504f35e
Centralize nullish value predicate
dannote May 21, 2026
88a0d73
Use nullish predicate for proxy traps
dannote May 21, 2026
b3baee3
Use nullish predicate in iterator and object paths
dannote May 21, 2026
47ef8fb
Use nullish predicate in runtime helpers
dannote May 21, 2026
ca6b1f9
Use nullish predicate in interpreter object helpers
dannote May 21, 2026
baf05c2
Centralize property key predicate
dannote May 21, 2026
5220b9c
Use nullish guard in runtime heads
dannote May 21, 2026
770a875
Use nullish guard across runtime modules
dannote May 21, 2026
e2a1bf8
Use nullish predicate in callable paths
dannote May 21, 2026
a1c1750
Centralize collection prototype lookup
dannote May 21, 2026
dbbef81
Update Reach to v2.5
dannote May 21, 2026
f4a52cf
Centralize builtin metadata access
dannote May 21, 2026
87be85d
Add Reach architecture policy
dannote May 21, 2026
15fae86
Harden Reach architecture policy
dannote May 21, 2026
829fa29
Route host event loop through execution boundary
dannote May 21, 2026
0fe4351
Move RegExp override state behind execution API
dannote May 21, 2026
9a9b8a6
Centralize primitive prototype override state
dannote May 21, 2026
3070ae6
Centralize definition operation state
dannote May 21, 2026
8e0fa42
Centralize prototype cache state
dannote May 21, 2026
6f5b382
Centralize collection iterator state
dannote May 21, 2026
f452712
Reuse iterator state for RegExp iterators
dannote May 21, 2026
bc6709d
Move JSON traversal state behind execution API
dannote May 21, 2026
ec5a343
Route function intrinsic state through Realm
dannote May 21, 2026
f25e604
Move global binding flags behind execution API
dannote May 21, 2026
8a0c312
Tighten process state architecture owners
dannote May 21, 2026
c041491
Route closure cell access through execution boundary
dannote May 21, 2026
5fa8e4f
Use invocation boundary for Set calls
dannote May 21, 2026
e43361c
Use invocation boundary for Reflect apply
dannote May 21, 2026
9dcdc1e
Route eval through execution boundary
dannote May 21, 2026
b8998fb
Enforce runtime interpreter separation
dannote May 21, 2026
8e1611c
Centralize function kind constructors
dannote May 21, 2026
fe79747
Move realm process state behind execution API
dannote May 21, 2026
94596c4
Move constructor callbacks out of globals
dannote May 21, 2026
c33c59b
Centralize function name metadata writes
dannote May 21, 2026
a8f5c84
Constrain execution service callers
dannote May 21, 2026
84aa06e
Make execution state owners explicit
dannote May 21, 2026
e1ce3bd
Rename constructor registry boundary
dannote May 21, 2026
e24c89c
Move Beam host state behind host API state
dannote May 21, 2026
e3f49e3
Narrow host process state owners
dannote May 21, 2026
f33d326
Move console host state behind state module
dannote May 21, 2026
52b3253
Move channel host state behind state modules
dannote May 22, 2026
9dea15b
Remove unused fetch process marker
dannote May 22, 2026
48c22c3
Move worker host state behind state module
dannote May 22, 2026
7bf2297
Split constructor property and construction services
dannote May 22, 2026
d8419c2
Centralize builtin metadata writes
dannote May 22, 2026
9fc1a6d
Constrain constructor service callers
dannote May 22, 2026
2af8b9b
Declare web host constructors in batches
dannote May 22, 2026
293551d
Extract web stream heap state helpers
dannote May 22, 2026
62cce8b
Extract interpreter object operation helpers
dannote May 22, 2026
7419acf
Constrain prototype and helper boundaries
dannote May 22, 2026
b5983f7
Centralize proxy trap invocation
dannote May 22, 2026
15a3411
Extract FormData host state helpers
dannote May 22, 2026
54cee59
Extract interpreter delete operation helpers
dannote May 22, 2026
85786d7
Throw on invalid proxy descriptor results
dannote May 22, 2026
eab80a0
Extract MessageChannel host state helpers
dannote May 22, 2026
458a12f
Use raw target slot for proxy get invariants
dannote May 22, 2026
4abe867
Constrain proxy trap helper callers
dannote May 22, 2026
dc206ca
Update Reach to v2.6
dannote May 22, 2026
31db89a
Use Reach layer allowlist policy
dannote May 22, 2026
438d27a
Extract interpreter copy-data helpers
dannote May 22, 2026
cd7f0f3
Expand Reach layer policy to state helpers
dannote May 22, 2026
37930ee
Extract URLSearchParams host state helpers
dannote May 22, 2026
65552cc
Enforce proxy descriptor writable invariant
dannote May 22, 2026
8061152
Centralize opcode and compiler form facts
dannote May 22, 2026
e4fd847
Route compiler dispatch through opcode facts
dannote May 22, 2026
361105c
Extract interpreter operator helpers
dannote May 22, 2026
665adc8
Route more object semantics through boundaries
dannote May 22, 2026
44b98b5
Expand object semantic boundaries
dannote May 22, 2026
cca83ae
Extract direct eval transaction helpers
dannote May 22, 2026
515b03b
Make lowering families data driven
dannote May 22, 2026
b07986a
Move eval local collection into DirectEval
dannote May 22, 2026
3cd328c
Constrain compiler semantic lowering calls
dannote May 22, 2026
f00bfb7
Route object literal fast path through ABI
dannote May 22, 2026
1027188
Use BEAM acronym in module names
dannote May 22, 2026
2ec9651
Extract interpreter special object helpers
dannote May 22, 2026
b7fcd3a
Route extensibility through internal methods
dannote May 22, 2026
326d26b
Route iterator lowering through ABI
dannote May 22, 2026
0503676
Route with-scope lowering through ABI
dannote May 22, 2026
4d35a71
Rename BEAM host API modules
dannote May 22, 2026
587484e
Move eval writeback into DirectEval
dannote May 22, 2026
479d640
Add stack and local lowering registries
dannote May 22, 2026
a9665c6
Route generator lowering through ABI
dannote May 22, 2026
7f89532
Expand BEAM form builders
dannote May 22, 2026
88dbcea
Validate opcode metadata drift
dannote May 22, 2026
0b006ae
Wrap direct eval in transaction API
dannote May 22, 2026
a9a3d60
Declare arithmetic and object lowering handlers
dannote May 22, 2026
0164874
Route global lowering through ABI
dannote May 22, 2026
2f73eee
Move proxy ownKeys dispatch to internal methods
dannote May 22, 2026
0fc1cbc
Extract interpreter misc opcode helpers
dannote May 22, 2026
3344220
Test opcode architecture invariants
dannote May 22, 2026
4542857
Constrain compiler state lowering ABI
dannote May 22, 2026
dc0ae38
Use object lowering handler registry
dannote May 22, 2026
16a7576
Move proxy has and delete dispatch to internal methods
dannote May 22, 2026
89c1b31
Route copy key enumeration through internal methods
dannote May 22, 2026
1be7d21
Use BEAMForms in lowering builder
dannote May 22, 2026
6299403
Extract interpreter object adjunct ops
dannote May 22, 2026
b2aac4f
Use global lowering handler registry
dannote May 22, 2026
97d4be4
Cover extracted interpreter helpers in Reach
dannote May 22, 2026
dcfbaba
Use call lowering handler registry
dannote May 22, 2026
fa8cfe2
Split interpreter object access helpers
dannote May 22, 2026
4851168
Cover split interpreter object helpers
dannote May 22, 2026
f9e6a7a
Use iterator lowering handler registry
dannote May 22, 2026
0d27e46
Use generator lowering handler registry
dannote May 22, 2026
f6d8642
Use class lowering handler registry
dannote May 22, 2026
8b0a629
Extract remaining interpreter object helpers
dannote May 22, 2026
0338aab
Cover remaining interpreter object helpers
dannote May 22, 2026
2aab375
Use with-scope lowering handler registry
dannote May 22, 2026
402c4b7
Use control lowering handler registry
dannote May 22, 2026
6207ee8
Remove interpreter object ops wrapper
dannote May 22, 2026
5bfbc3d
Retarget interpreter helper boundaries
dannote May 22, 2026
2e406bf
Move iterator call semantics out of compiler helpers
dannote May 22, 2026
dc8f9a8
Forbid interpreter ops compiler dependencies
dannote May 22, 2026
3b088ea
Route proxy set through internal methods
dannote May 22, 2026
42917d1
Route Reflect property methods through internal methods
dannote May 22, 2026
43b59a6
Route Object.hasOwn through internal methods
dannote May 22, 2026
ffc9dd1
Add BEAMForms map get helper
dannote May 22, 2026
c38c63a
Test BEAMForms map helper
dannote May 22, 2026
1b301ef
Extract proxy ownKeys validation
dannote May 22, 2026
e96f475
Group runtime ABI binding helpers
dannote May 22, 2026
c5341ae
Constrain proxy ownKeys helper callers
dannote May 22, 2026
d64199c
Extract proxy set helper
dannote May 22, 2026
fb7a21f
Extract remaining proxy dispatch helpers
dannote May 22, 2026
8a7d6e2
Use complete lowering registry dispatch
dannote May 22, 2026
43d576c
Route class property key literals through ABI
dannote May 22, 2026
a457b6a
Extract proxy define helper
dannote May 22, 2026
a46e4c3
Add BEAMForms function and map helpers
dannote May 22, 2026
b951e8e
Extract interpreter arguments object helper
dannote May 22, 2026
1fbe27d
Centralize interpreter current context fallback
dannote May 22, 2026
c4acf58
Route runtime define property through internal methods
dannote May 22, 2026
a4c2dce
Remove ordinary proxy has and delete paths
dannote May 22, 2026
f1a6a6b
Extract proxy get helper
dannote May 22, 2026
8decc28
Extract proxy own property helper
dannote May 22, 2026
d961a7c
Route proxy copy descriptors through internal methods
dannote May 22, 2026
d05a2c9
Use BEAMForms map get in global lowering
dannote May 22, 2026
70687f9
Centralize interpreter global refresh fallback
dannote May 22, 2026
b1a2e1a
Route proxy put through set helper
dannote May 22, 2026
960bd83
Extract proxy prototype helper
dannote May 22, 2026
bbcaa16
Route compiled in operator through internal methods
dannote May 22, 2026
850e81f
Route interpreter property checks through internal methods
dannote May 22, 2026
b0d548a
Route iterator and error has checks through internal methods
dannote May 22, 2026
67cdce3
Route compiled delete through internal methods
dannote May 22, 2026
a9a1c8e
Route JSON delete through internal methods
dannote May 22, 2026
3f32c82
Route array has and delete through internal methods
dannote May 22, 2026
996e881
Add shared proxy dispatch helper
dannote May 22, 2026
c864a52
Extract primitive wrapper get helpers
dannote May 22, 2026
3f5a8ae
Route JSON writes through internal methods
dannote May 22, 2026
36fc71f
Route instruction stack effects through opcode spec
dannote May 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .credo.exs
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,9 @@
# and be sure to use `mix credo --strict` to see low priority checks)
#
{Credo.Check.Consistency.MultiAliasImportRequireUse, []},
{Credo.Check.Consistency.ParameterPatternMatching, []},
{Credo.Check.Consistency.UnusedVariableNames, []},
{Credo.Check.Design.AliasUsage, []},
{Credo.Check.Design.DuplicatedCode, []},
{Credo.Check.Design.SkipTestWithoutComment, []},
{Credo.Check.Readability.AliasAs, []},
Expand All @@ -214,15 +216,21 @@
{Credo.Check.Readability.Specs, []},
{Credo.Check.Readability.StrictModuleLayout, []},
{Credo.Check.Readability.WithCustomTaggedTuple, []},
{Credo.Check.Readability.PreferImplicitTry, []},
{Credo.Check.Refactor.ABCSize, []},
{Credo.Check.Refactor.AppendSingleItem, []},
{Credo.Check.Refactor.CondInsteadOfIfElse, []},
{Credo.Check.Refactor.CyclomaticComplexity, []},
{Credo.Check.Refactor.DoubleBooleanNegation, []},
{Credo.Check.Refactor.FilterReject, []},
{Credo.Check.Refactor.FunctionArity, []},
{Credo.Check.Refactor.IoPuts, []},
{Credo.Check.Refactor.LongQuoteBlocks, []},
{Credo.Check.Refactor.MapJoin, []},
{Credo.Check.Refactor.MapMap, []},
{Credo.Check.Refactor.ModuleDependencies, []},
{Credo.Check.Refactor.NegatedIsNil, []},
{Credo.Check.Refactor.Nesting, []},
{Credo.Check.Refactor.PassAsyncInTestCases, []},
{Credo.Check.Refactor.PipeChainStart, []},
{Credo.Check.Refactor.RejectFilter, []},
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ jobs:
run: curl -fsSL https://raw.githubusercontent.com/DonIsaac/zlint/refs/heads/main/tasks/install.sh | bash

- run: mix deps.get
- run: mix npm.get
- run: npm install
- name: CI
run: |
Expand Down Expand Up @@ -91,7 +90,6 @@ jobs:
restore-keys: ${{ runner.os }}-ubsan-27.0-1.18-

- run: mix deps.get
- run: mix npm.get
- run: mix compile
- name: Test
run: |
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,4 @@ bun.lock
# Git worktrees for parallel agent work
.worktrees/
test/support/test_addon.node
fprof.trace
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "test/test262"]
path = test/test262
url = git@github.com:tc39/test262.git
Loading