diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/self-hosting/get-intrinsic.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/self-hosting/get-intrinsic.js b/js/src/jit-test/tests/self-hosting/get-intrinsic.js new file mode 100644 index 0000000000..8cff55a5cd --- /dev/null +++ b/js/src/jit-test/tests/self-hosting/get-intrinsic.js @@ -0,0 +1,19 @@ + +var intrinsic_names = [ + "IsConstructor", // Implementation in C++ + "ArrayMap", // Implementation in JS + "localeCache", // Self-hosting variable +]; + +for (var name of intrinsic_names) { + // GetIntrinsic in same global should have consistent values + assertEq(getSelfHostedValue(name), getSelfHostedValue(name)); + + // Different globals shouldn't reuse intrinsics. + for (var newCompartment of [true, false]) { + let g = newGlobal({newCompartment}); + let a = evaluate(`getSelfHostedValue("${name}")`, { global: g }) + let b = getSelfHostedValue(name); + assertEq(a === b, false); + } +} |