The module evaluation machinery has undergone non-trivial refactoring
since implementation. Sync up the comments and code for maintenance.
Notably,
- Actually use the kEvaluatingAsync status (previously conflated under
kEvaluated)
- [[IsAsyncEvaluating]] -> [[IsAsyncEvaluation]]
- GatherAsyncParentCompletions -> GatherAvailableAncestors
- async -> has_toplevel_await
- kAsyncModule -> kModuleWithTopLevelAwait
Bug: 347060515
Change-Id: Ia2c35d5b42ee9f58db841cdfcaef9d17b018c9c6
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5636701
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#94591}
Replace the `deepEqual` function with `assert.compareArray` resp.
`verifyProperty`.
Also remove the second part of "sm/strict/15.4.5.1.js", because it's
terribly out-dated w.r.t. the SpiderMonkey implementation of Array
objects.
On engines which pass through these functions to the libc library they can
return slightly different values depending on the OS and archictures.
Showing a few example with Python, which also passes these through to libc on a
few platforms I have access to:
Ubuntu Noble, Python 12, s390x
```
>>> import math
>>> math.cbrt(math.e)
1.3956124250860897
>>> math.acosh(math.cosh(0.2))
0.20000000000000023
```
Ubuntu Noble, Python 12, x86_64
```
>>> import math
>>> math.cbrt(math.e)
1.39561242508609
>>> math.acosh(math.cosh(0.2))
0.20000000000000023
```
MacOS 14, Python 12, x86_64
```
>>> import math
>>> math.cbrt(math.e)
1.3956124250860895
>>> math.acosh(math.cosh(0.2))
0.20000000000000026
```
* Move Map.prototype.getOrInsert tests from staging
* Fix esid and remove noStrict
* Add check for map.get(-0) to append-new-values-normalizes-zero-key.js
These tests are currently being executed in SpiderMonkey as `non262` tests,
and were exported using the `test262-export.py` script. Linting errors
were then corrected.