Commit 0c723d6
committed
Implement WeakRef, FinalizationRegistry, and Atomics.waitAsync
- Add WeakRef constructor and prototype.deref() in new js_weakref.rs
- Add FinalizationRegistry constructor, register, unregister, cleanupSome in new js_finalization_registry.rs
- Add Atomics.waitAsync with background thread waiter and promise resolution in js_typedarray.rs
- Define InternalSlot variants for WeakRef and FinalizationRegistry in value.rs
- Register new builtins in global initialization (mod.rs, lib.rs)
- Wire constructor dispatch in js_class.rs and eval.rs for new/Reflect.construct
- Fix parser to allow keyword tokens (e.g. async) as destructuring property keys
- Fix parser async lookahead in object literals so { async: true } is not parsed as async method
- Fix FinalizationRegistry.prototype.register.length (2) and unregister.length (1) across dot-access, bracket-access, and getOwnPropertyDescriptor paths
- Add FinalizationRegistry.js feature probe for test262 runner
- Add manual test scripts for WeakRef, FinalizationRegistry, and Atomics.waitAsync1 parent ecb7580 commit 0c723d6
File tree
14 files changed
+1087
-3
lines changed- ci/feature_probes
- js-scripts
- src
- core
14 files changed
+1087
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13384 | 13384 | | |
13385 | 13385 | | |
13386 | 13386 | | |
| 13387 | + | |
| 13388 | + | |
| 13389 | + | |
| 13390 | + | |
| 13391 | + | |
| 13392 | + | |
| 13393 | + | |
| 13394 | + | |
| 13395 | + | |
| 13396 | + | |
| 13397 | + | |
| 13398 | + | |
| 13399 | + | |
| 13400 | + | |
| 13401 | + | |
| 13402 | + | |
| 13403 | + | |
| 13404 | + | |
| 13405 | + | |
| 13406 | + | |
| 13407 | + | |
| 13408 | + | |
| 13409 | + | |
| 13410 | + | |
| 13411 | + | |
| 13412 | + | |
| 13413 | + | |
| 13414 | + | |
| 13415 | + | |
| 13416 | + | |
| 13417 | + | |
| 13418 | + | |
| 13419 | + | |
| 13420 | + | |
| 13421 | + | |
| 13422 | + | |
| 13423 | + | |
| 13424 | + | |
| 13425 | + | |
| 13426 | + | |
13387 | 13427 | | |
13388 | 13428 | | |
13389 | 13429 | | |
| |||
17134 | 17174 | | |
17135 | 17175 | | |
17136 | 17176 | | |
| 17177 | + | |
17137 | 17178 | | |
17138 | 17179 | | |
17139 | 17180 | | |
| |||
17237 | 17278 | | |
17238 | 17279 | | |
17239 | 17280 | | |
| 17281 | + | |
17240 | 17282 | | |
17241 | 17283 | | |
17242 | 17284 | | |
| |||
18707 | 18749 | | |
18708 | 18750 | | |
18709 | 18751 | | |
| 18752 | + | |
18710 | 18753 | | |
18711 | 18754 | | |
18712 | 18755 | | |
| |||
18810 | 18853 | | |
18811 | 18854 | | |
18812 | 18855 | | |
| 18856 | + | |
18813 | 18857 | | |
18814 | 18858 | | |
18815 | 18859 | | |
| |||
23339 | 23383 | | |
23340 | 23384 | | |
23341 | 23385 | | |
| 23386 | + | |
| 23387 | + | |
23342 | 23388 | | |
23343 | 23389 | | |
| 23390 | + | |
| 23391 | + | |
23344 | 23392 | | |
23345 | 23393 | | |
23346 | 23394 | | |
| |||
0 commit comments