Commit 41fbab3
committed
Implement $262.agent for test262 multi-agent Atomics tests
- Add js_agent.rs with agent thread spawning, broadcast, report queue, and receive primitives
- Register __agent_* native hooks in global env (mod.rs) and dispatch them in eval.rs
- Inject $262.agent shim in compose_test.js before harness files to avoid double $262 definition
- Change runner.js to detect and pass needsAgent flag instead of skipping agent tests
- Replace global ASYNC_WAITERS with thread-local PendingAsyncWaiterLocal for waitAsync promises
- Poll resolved async waiters in js_promise poll_event_loop for cross-thread promise resolution
- Keep event loop alive while pending async waiters exist (mod.rs event loop)
- Fix named function expression (NFE) self-binding by creating intermediate scope at closure creation
- Reset agent state per test for isolation, skip reset on agent threads1 parent 0c723d6 commit 41fbab3
File tree
8 files changed
+460
-44
lines changed- ci
- src
- core
8 files changed
+460
-44
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
280 | 280 | | |
281 | 281 | | |
282 | 282 | | |
283 | | - | |
| 283 | + | |
284 | 284 | | |
285 | 285 | | |
286 | 286 | | |
| |||
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
370 | 389 | | |
371 | 390 | | |
372 | 391 | | |
| |||
466 | 485 | | |
467 | 486 | | |
468 | 487 | | |
469 | | - | |
| 488 | + | |
470 | 489 | | |
471 | 490 | | |
472 | 491 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
350 | 350 | | |
351 | 351 | | |
352 | 352 | | |
353 | | - | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | | - | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
358 | 356 | | |
359 | 357 | | |
360 | 358 | | |
| |||
434 | 432 | | |
435 | 433 | | |
436 | 434 | | |
437 | | - | |
| 435 | + | |
438 | 436 | | |
439 | 437 | | |
440 | 438 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19020 | 19020 | | |
19021 | 19021 | | |
19022 | 19022 | | |
| 19023 | + | |
| 19024 | + | |
| 19025 | + | |
| 19026 | + | |
| 19027 | + | |
| 19028 | + | |
| 19029 | + | |
| 19030 | + | |
| 19031 | + | |
| 19032 | + | |
| 19033 | + | |
| 19034 | + | |
| 19035 | + | |
| 19036 | + | |
| 19037 | + | |
| 19038 | + | |
| 19039 | + | |
| 19040 | + | |
| 19041 | + | |
19023 | 19042 | | |
19024 | 19043 | | |
19025 | 19044 | | |
19026 | | - | |
| 19045 | + | |
19027 | 19046 | | |
19028 | 19047 | | |
19029 | 19048 | | |
| |||
19032 | 19051 | | |
19033 | 19052 | | |
19034 | 19053 | | |
| 19054 | + | |
| 19055 | + | |
| 19056 | + | |
| 19057 | + | |
| 19058 | + | |
| 19059 | + | |
19035 | 19060 | | |
19036 | 19061 | | |
19037 | 19062 | | |
| |||
20113 | 20138 | | |
20114 | 20139 | | |
20115 | 20140 | | |
| 20141 | + | |
| 20142 | + | |
| 20143 | + | |
| 20144 | + | |
| 20145 | + | |
| 20146 | + | |
| 20147 | + | |
| 20148 | + | |
| 20149 | + | |
| 20150 | + | |
| 20151 | + | |
| 20152 | + | |
| 20153 | + | |
| 20154 | + | |
| 20155 | + | |
| 20156 | + | |
| 20157 | + | |
| 20158 | + | |
| 20159 | + | |
| 20160 | + | |
| 20161 | + | |
| 20162 | + | |
| 20163 | + | |
| 20164 | + | |
| 20165 | + | |
| 20166 | + | |
| 20167 | + | |
| 20168 | + | |
| 20169 | + | |
| 20170 | + | |
| 20171 | + | |
| 20172 | + | |
| 20173 | + | |
| 20174 | + | |
| 20175 | + | |
| 20176 | + | |
| 20177 | + | |
| 20178 | + | |
| 20179 | + | |
| 20180 | + | |
| 20181 | + | |
| 20182 | + | |
| 20183 | + | |
| 20184 | + | |
| 20185 | + | |
| 20186 | + | |
| 20187 | + | |
| 20188 | + | |
| 20189 | + | |
| 20190 | + | |
| 20191 | + | |
| 20192 | + | |
| 20193 | + | |
| 20194 | + | |
| 20195 | + | |
| 20196 | + | |
| 20197 | + | |
| 20198 | + | |
| 20199 | + | |
| 20200 | + | |
| 20201 | + | |
| 20202 | + | |
| 20203 | + | |
| 20204 | + | |
| 20205 | + | |
| 20206 | + | |
| 20207 | + | |
| 20208 | + | |
| 20209 | + | |
| 20210 | + | |
| 20211 | + | |
| 20212 | + | |
| 20213 | + | |
| 20214 | + | |
| 20215 | + | |
| 20216 | + | |
| 20217 | + | |
| 20218 | + | |
| 20219 | + | |
| 20220 | + | |
| 20221 | + | |
| 20222 | + | |
| 20223 | + | |
| 20224 | + | |
| 20225 | + | |
| 20226 | + | |
20116 | 20227 | | |
20117 | 20228 | | |
20118 | 20229 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
360 | 360 | | |
361 | 361 | | |
362 | 362 | | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
363 | 383 | | |
364 | 384 | | |
365 | 385 | | |
| |||
495 | 515 | | |
496 | 516 | | |
497 | 517 | | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
498 | 523 | | |
499 | 524 | | |
500 | 525 | | |
| |||
673 | 698 | | |
674 | 699 | | |
675 | 700 | | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
676 | 712 | | |
677 | 713 | | |
678 | 714 | | |
| |||
0 commit comments