js-on-sx: constructors carry __proto__ = Function.prototype
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 42s

Object/Array/Number/String/Boolean had no __proto__, so
Function.prototype mutations were invisible to them. Added a
post-init (begin (dict-set! ...)) at the end of runtime.sx
that wires each constructor to js-function-global.prototype.
Combined with the recent Object.prototype fallback, the chain
now terminates correctly: ctor → Function.prototype → Object.prototype.
built-ins/Number: 41/50 → 42/50, built-ins/String: 75/99 → 78/99,
built-ins/Array: 12/45 → 13/45. conformance.sh: 148/148.
This commit is contained in:
2026-05-07 20:14:15 +00:00
parent 11612a511b
commit 2d475f95d1
4 changed files with 291 additions and 102 deletions

View File

@@ -1,26 +1,26 @@
{
"totals": {
"pass": 77,
"fail": 16,
"pass": 78,
"fail": 15,
"skip": 1,
"timeout": 6,
"total": 100,
"runnable": 99,
"pass_rate": 77.8
"pass_rate": 78.8
},
"categories": [
{
"category": "built-ins/String",
"total": 100,
"pass": 77,
"fail": 16,
"pass": 78,
"fail": 15,
"skip": 1,
"timeout": 6,
"pass_rate": 77.8,
"pass_rate": 78.8,
"top_failures": [
[
"Test262Error (assertion failed)",
14
13
],
[
"Timeout",
@@ -40,7 +40,7 @@
"top_failure_modes": [
[
"Test262Error (assertion failed)",
14
13
],
[
"Timeout",
@@ -56,6 +56,6 @@
]
],
"pinned_commit": "d5e73fc8d2c663554fb72e2380a8c2bc1a318a33",
"elapsed_seconds": 250.0,
"elapsed_seconds": 273.6,
"workers": 1
}