Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Object.preventExtensions() and Object.isExtensible() #1525

Merged
merged 1 commit into from
Aug 28, 2021

Conversation

HalidOdat
Copy link
Member

It changes the following:

  • Implement Object.preventExtensions()
  • Implement Object.isExtensible()

@HalidOdat HalidOdat added enhancement New feature or request builtins PRs and Issues related to builtins/intrinsics labels Aug 28, 2021
@HalidOdat HalidOdat modified the milestones: v0.14.0, v0.13.0 Aug 28, 2021
@github-actions
Copy link

Test262 conformance changes:

Test result master count PR count difference
Total 80,685 80,685 0
Passed 32,365 32,670 +305
Ignored 15,818 15,818 0
Failed 32,502 32,197 -305
Panics 0 0 0
Conformance 40.11% 40.49% +0.38%
Fixed tests (308):
test/built-ins/Date/prototype/toJSON/builtin.js [strict mode] (previously Failed)
test/built-ins/Date/prototype/toJSON/builtin.js (previously Failed)
test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-22.js [strict mode] (previously Failed)
test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-22.js (previously Failed)
test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-25.js [strict mode] (previously Failed)
test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-25.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-8.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-8.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-c-2.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-c-2.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-b-i-1.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-b-i-1.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-1.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-1.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-3.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-3.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-11.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-11.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-1.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-1.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-14.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-14.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-5.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-5.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-4.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-4.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-2.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-2.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-2.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-2.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-12.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-12.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-13.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-13.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-3-28.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-3-28.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-c-1.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-c-1.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-6.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-6.js (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-7.js [strict mode] (previously Failed)
test/built-ins/Object/isFrozen/15.2.3.12-2-a-7.js (previously Failed)
test/built-ins/Object/keys/15.2.3.14-2-4.js [strict mode] (previously Failed)
test/built-ins/Object/keys/15.2.3.14-2-4.js (previously Failed)
test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js [strict mode] (previously Failed)
test/built-ins/Object/defineProperties/15.2.3.7-6-a-194.js (previously Failed)
test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js [strict mode] (previously Failed)
test/built-ins/Object/defineProperties/15.2.3.7-6-a-25.js (previously Failed)
test/built-ins/Object/setPrototypeOf/set-failure-non-extensible.js [strict mode] (previously Failed)
test/built-ins/Object/setPrototypeOf/set-failure-non-extensible.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-function-object.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-function-object.js (previously Failed)
test/built-ins/Object/seal/object-seal-extensible-of-o-is-set-as-false-even-if-o-has-no-own-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-extensible-of-o-is-set-as-false-even-if-o-has-no-own-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-number-object.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-number-object.js (previously Failed)
test/built-ins/Object/seal/object-seal-the-extension-of-o-is-prevented-already.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-the-extension-of-o-is-prevented-already.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-data-property-that-overrides-an-inherited-accessor-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-data-property-that-overrides-an-inherited-accessor-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-an-array-object.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-an-array-object.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-an-error-object.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-an-error-object.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-data-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-data-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-inherited-accessor-properties-are-ignored.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-inherited-accessor-properties-are-ignored.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-date-object.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-date-object.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-function-object-that-uses-object-s-get-own-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-function-object-that-uses-object-s-get-own-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-accessor-property-that-overrides-an-inherited-data-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-accessor-property-that-overrides-an-inherited-data-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-boolean-object.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-boolean-object.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-reg-exp-object.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-reg-exp-object.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-date-object-that-uses-object-s-get-own-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-date-object-that-uses-object-s-get-own-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-returned-object-is-not-extensible.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-returned-object-is-not-extensible.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-sealed-already.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-sealed-already.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-frozen-already.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-frozen-already.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-boolean-object-that-uses-object-s-get-own-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-boolean-object-that-uses-object-s-get-own-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-reg-exp-object-that-uses-object-s-get-own-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-reg-exp-object-that-uses-object-s-get-own-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-configurable-attribute-of-own-data-property-of-o-is-set-from-true-to-false-and-other-attributes-of-the-property-are-unaltered.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-configurable-attribute-of-own-data-property-of-o-is-set-from-true-to-false-and-other-attributes-of-the-property-are-unaltered.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-accessor-property-that-overrides-an-inherited-accessor-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-accessor-property-that-overrides-an-inherited-accessor-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-number-object-that-uses-object-s-get-own-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-number-object-that-uses-object-s-get-own-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-non-enumerable-own-property-of-o-is-sealed.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-non-enumerable-own-property-of-o-is-sealed.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-an-array-object-that-uses-object-s-get-own-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-an-array-object-that-uses-object-s-get-own-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-an-arguments-object-which-implements-its-own-get-own-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-an-arguments-object-which-implements-its-own-get-own-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-string-object.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-a-string-object.js (previously Failed)
test/built-ins/Object/seal/object-seal-inherited-data-properties-are-ignored.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-inherited-data-properties-are-ignored.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-accessor-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-accessor-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-data-property-that-overrides-an-inherited-data-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-data-property-that-overrides-an-inherited-data-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-string-object-which-implements-its-own-get-own-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-a-string-object-which-implements-its-own-get-own-property.js (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-an-arguments-object.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-o-is-an-arguments-object.js (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-an-error-object-that-uses-object-s-get-own-property.js [strict mode] (previously Failed)
test/built-ins/Object/seal/object-seal-p-is-own-property-of-an-error-object-that-uses-object-s-get-own-property.js (previously Failed)
test/built-ins/Object/assign/target-is-non-extensible-property-creation-throws.js [strict mode] (previously Failed)
test/built-ins/Object/assign/target-is-non-extensible-property-creation-throws.js (previously Failed)
test/built-ins/Object/assign/target-is-non-extensible-existing-data-property.js [strict mode] (previously Failed)
test/built-ins/Object/assign/target-is-non-extensible-existing-data-property.js (previously Failed)
test/built-ins/Object/freeze/15.2.3.9-2-1.js [strict mode] (previously Failed)
test/built-ins/Object/freeze/15.2.3.9-2-1.js (previously Failed)
test/built-ins/Object/freeze/15.2.3.9-3-1.js [strict mode] (previously Failed)
test/built-ins/Object/freeze/15.2.3.9-3-1.js (previously Failed)
test/built-ins/Object/freeze/15.2.3.9-4-3.js [strict mode] (previously Failed)
test/built-ins/Object/freeze/15.2.3.9-4-3.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-5.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-5.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-23.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-23.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-10.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-10.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-1-2.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-1-2.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-16.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-16.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-1.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-1.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-1-1.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-1-1.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-25.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-25.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-1-4.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-1-4.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-6.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-6.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-21.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-21.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-17.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-17.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-18.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-18.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-2.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-2.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-20.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-20.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-29.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-29.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-22.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-22.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-14.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-14.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-12.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-12.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-19.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-19.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-0-2.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-0-2.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-7.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-7.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-24.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-24.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-1-3.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-1-3.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-11.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-11.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-8.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-8.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-15.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-15.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-3.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-3.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-26.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-26.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-0-1.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-0-1.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-27.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-27.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-13.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-13.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-9.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-9.js (previously Failed)
test/built-ins/Object/isExtensible/name.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/name.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-0-3.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-0-3.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-4.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-2-4.js (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-1.js [strict mode] (previously Failed)
test/built-ins/Object/isExtensible/15.2.3.13-1.js (previously Failed)
test/built-ins/Object/prototype/setPrototypeOf-with-same-value.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/setPrototypeOf-with-same-value.js (previously Failed)
test/built-ins/Object/prototype/extensibility.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/extensibility.js (previously Failed)
test/built-ins/Object/prototype/isPrototypeOf/builtin.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/isPrototypeOf/builtin.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-1.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-1.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-1-3.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-1-3.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-9.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-9.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-15.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-15.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-12.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-12.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-1-1.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-1-1.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-24.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-24.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-13.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-13.js (previously Failed)
test/built-ins/Object/preventExtensions/symbol-object-contains-symbol-properties-non-strict.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-23.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-23.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-1.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-1.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-2-1.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-2-1.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-10.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-10.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-1-4.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-1-4.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-16.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-16.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-20.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-20.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-5.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-19.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-19.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-0-1.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-0-1.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-5-1.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-5-1.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-3.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-3.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-2.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-2.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-6.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-6.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-18.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-18.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-1-2.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-1-2.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-7.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-7.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-2.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-2.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-4.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-4.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-0-2.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-0-2.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-8.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-8.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-14.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-14.js (previously Failed)
test/built-ins/Object/preventExtensions/name.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/name.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-17.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-17.js (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-22.js [strict mode] (previously Failed)
test/built-ins/Object/preventExtensions/15.2.3.10-3-22.js (previously Failed)
test/built-ins/Object/defineProperty/15.2.3.6-4-606.js [strict mode] (previously Failed)
test/built-ins/Object/defineProperty/15.2.3.6-4-606.js (previously Failed)
test/built-ins/Object/defineProperty/8.12.9-9-b-i_2.js [strict mode] (previously Failed)
test/built-ins/Object/defineProperty/8.12.9-9-b-i_2.js (previously Failed)
test/built-ins/Object/defineProperty/8.12.9-9-c-i_2.js [strict mode] (previously Failed)
test/built-ins/Object/defineProperty/8.12.9-9-c-i_2.js (previously Failed)
test/built-ins/Object/defineProperty/15.2.3.6-4-198.js [strict mode] (previously Failed)
test/built-ins/Object/defineProperty/15.2.3.6-4-198.js (previously Failed)
test/built-ins/Object/defineProperty/15.2.3.6-4-1.js [strict mode] (previously Failed)
test/built-ins/Object/defineProperty/15.2.3.6-4-1.js (previously Failed)
test/built-ins/Object/defineProperty/15.2.3.6-4-609.js [strict mode] (previously Failed)
test/built-ins/Object/defineProperty/15.2.3.6-4-609.js (previously Failed)
test/built-ins/Object/defineProperty/8.12.9-9-c-i_1.js [strict mode] (previously Failed)
test/built-ins/Object/defineProperty/8.12.9-9-c-i_1.js (previously Failed)
test/built-ins/Object/defineProperty/8.12.9-9-b-i_1.js [strict mode] (previously Failed)
test/built-ins/Object/defineProperty/8.12.9-9-b-i_1.js (previously Failed)
test/built-ins/Reflect/setPrototypeOf/return-true-if-proto-is-current.js [strict mode] (previously Failed)
test/built-ins/Reflect/setPrototypeOf/return-true-if-proto-is-current.js (previously Failed)
test/built-ins/Reflect/setPrototypeOf/return-false-if-target-is-not-extensible.js [strict mode] (previously Failed)
test/built-ins/Reflect/setPrototypeOf/return-false-if-target-is-not-extensible.js (previously Failed)
test/built-ins/Reflect/isExtensible/return-boolean.js [strict mode] (previously Failed)
test/built-ins/Reflect/isExtensible/return-boolean.js (previously Failed)
test/built-ins/Reflect/preventExtensions/prevent-extensions.js [strict mode] (previously Failed)
test/built-ins/Reflect/preventExtensions/prevent-extensions.js (previously Failed)
test/built-ins/JSON/stringify/builtin.js [strict mode] (previously Failed)
test/built-ins/JSON/stringify/builtin.js (previously Failed)
test/built-ins/JSON/parse/builtin.js [strict mode] (previously Failed)
test/built-ins/JSON/parse/builtin.js (previously Failed)
test/language/expressions/arrow-function/extensibility.js [strict mode] (previously Failed)
test/language/expressions/arrow-function/extensibility.js (previously Failed)
test/language/expressions/logical-assignment/lgcl-and-assignment-operator-non-extensible.js [strict mode] (previously Failed)
test/language/types/object/S8.6.2_A8.js [strict mode] (previously Failed)
test/language/types/object/S8.6.2_A8.js (previously Failed)
test/intl402/Number/prototype/toLocaleString/builtin.js [strict mode] (previously Failed)
test/intl402/Number/prototype/toLocaleString/builtin.js (previously Failed)
Broken tests (3):
test/language/eval-code/indirect/non-definable-global-var.js [strict mode] (previously Passed)
test/language/eval-code/indirect/non-definable-global-var.js (previously Passed)
test/language/eval-code/direct/non-definable-global-var.js (previously Passed)

@github-actions
Copy link

Benchmark for 34158ca

Click to view benchmark
Test PR Benchmark Master Benchmark %
Arithmetic operations (Execution) 267.7±1.04ns 259.9±0.31ns +3.00%
Arithmetic operations (Full) 316.9±0.77µs 312.5±1.19µs +1.41%
Array access (Execution) 6.7±0.02µs 6.7±0.02µs 0.00%
Array access (Full) 341.3±1.98µs 342.5±0.51µs -0.35%
Array creation (Execution) 3.2±0.01ms 3.2±0.01ms 0.00%
Array creation (Full) 3.4±0.01ms 3.4±0.00ms 0.00%
Array pop (Execution) 1043.2±5.36µs 1041.4±4.42µs +0.17%
Array pop (Full) 1517.5±9.96µs 1513.2±2.40µs +0.28%
Boolean Object Access (Execution) 5.2±0.03µs 5.3±0.01µs -1.89%
Boolean Object Access (Full) 334.3±0.44µs 332.7±0.42µs +0.48%
Clean js (Execution) 775.3±5.59µs 776.2±4.41µs -0.12%
Clean js (Full) 1162.9±88.79µs 1137.4±5.58µs +2.24%
Clean js (Parser) 34.7±0.05µs 34.8±0.05µs -0.29%
Create Realm 428.6±3.03ns 447.0±15.18ns -4.12%
Dynamic Object Property Access (Execution) 5.1±0.03µs 5.3±0.03µs -3.77%
Dynamic Object Property Access (Full) 336.8±1.41µs 338.3±1.22µs -0.44%
Expression (Parser) 6.3±0.01µs 6.2±0.02µs +1.61%
Fibonacci (Execution) 786.5±1.99µs 794.8±1.61µs -1.04%
Fibonacci (Full) 1140.9±2.30µs 1144.5±1.92µs -0.31%
For loop (Execution) 20.1±0.08µs 20.0±0.17µs +0.50%
For loop (Full) 348.1±1.29µs 347.7±0.95µs +0.12%
For loop (Parser) 16.8±0.03µs 16.8±0.06µs 0.00%
Goal Symbols (Parser) 12.3±0.03µs 12.3±0.02µs 0.00%
Hello World (Parser) 3.5±0.02µs 3.5±0.02µs 0.00%
Long file (Parser) 798.1±3.86ns 799.0±0.98ns -0.11%
Mini js (Execution) 715.4±3.23µs 714.8±5.73µs +0.08%
Mini js (Full) 1077.4±6.91µs 1078.1±6.04µs -0.06%
Mini js (Parser) 30.7±0.11µs 30.7±0.06µs 0.00%
Number Object Access (Execution) 4.1±0.01µs 4.1±0.01µs 0.00%
Number Object Access (Full) 330.4±0.90µs 327.0±2.67µs +1.04%
Object Creation (Execution) 4.5±0.02µs 4.6±0.00µs -2.17%
Object Creation (Full) 332.2±1.12µs 334.6±0.66µs -0.72%
RegExp (Execution) 13.4±0.07µs 13.4±0.07µs 0.00%
RegExp (Full) 340.0±0.96µs 342.2±0.51µs -0.64%
RegExp Literal (Execution) 13.4±0.07µs 13.4±0.07µs 0.00%
RegExp Literal (Full) 348.9±0.75µs 347.8±1.26µs +0.32%
RegExp Literal Creation (Execution) 9.8±0.04µs 9.9±0.03µs -1.01%
RegExp Literal Creation (Full) 339.2±0.51µs 338.0±1.12µs +0.36%
Static Object Property Access (Execution) 4.7±0.02µs 4.8±0.03µs -2.08%
Static Object Property Access (Full) 334.0±1.00µs 337.5±1.03µs -1.04%
String Object Access (Execution) 7.5±0.04µs 7.5±0.02µs 0.00%
String Object Access (Full) 339.0±1.15µs 337.4±0.72µs +0.47%
String comparison (Execution) 6.7±0.02µs 6.7±0.03µs 0.00%
String comparison (Full) 339.2±0.87µs 337.5±1.84µs +0.50%
String concatenation (Execution) 5.2±0.02µs 5.2±0.01µs 0.00%
String concatenation (Full) 331.7±1.30µs 329.4±1.78µs +0.70%
String copy (Execution) 4.1±0.01µs 4.1±0.01µs 0.00%
String copy (Full) 326.8±0.92µs 322.8±0.93µs +1.24%
Symbols (Execution) 3.3±0.02µs 3.4±0.01µs -2.94%
Symbols (Full) 313.1±2.02µs 312.5±1.79µs +0.19%

Copy link
Member

@jedel1043 jedel1043 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked the failing tests and they are related to the eval function, which we haven't implemented yet, so this should be good!

Copy link
Member

@Razican Razican left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work @HalidOdat !!

@Razican Razican merged commit ae73c26 into master Aug 28, 2021
@jasonwilliams jasonwilliams deleted the feature/object-preventextensions branch October 5, 2021 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
builtins PRs and Issues related to builtins/intrinsics enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants