Closed Bug 1148652 Opened 10 years ago Closed 10 years ago

Make NativeDefineProperty (more) compliant for arrays, TypedArray views, and arguments objects

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla40
Tracking Status
firefox40 --- fixed

People

(Reporter: jorendorff, Assigned: jorendorff)

References

Details

Attachments

(3 files)

These three object types are implemented as "native" in SM, but classified as "exotic" in the standard because each has a custom [[DefineOwnProperty]] internal method: * Arrays: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array-exotic-objects-defineownproperty-p-desc * Arguments: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-arguments-exotic-objects-defineownproperty-p-desc * TypedArrays: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-integer-indexed-exotic-objects-defineownproperty-p-desc We partially implement all the special cases in StandardDefineProperty. The goal here is to achieve the same level of compliance in NativeDefineProperty.
Blocks: 1125624
Assignee: nobody → jorendorff
Status: NEW → ASSIGNED
Comment on attachment 8585018 [details] [diff] [review] part 1 - Move array-specific special cases to the top of NativeDefineProperty; update ArraySetLength to be able to cope with incomplete attrs Review of attachment 8585018 [details] [diff] [review]: ----------------------------------------------------------------- Nice.
Attachment #8585018 - Flags: review?(efaustbmo) → review+
Attachment #8585019 - Flags: review?(efaustbmo) → review+
Comment on attachment 8585020 [details] [diff] [review] part 3 - Mark arguments.length as overridden when it is redefined via the C API. try: -b do -p linux64,linux64-st-an,macosx64,win32 -u all[x64,10.6,Windows XP] -t none Review of attachment 8585020 [details] [diff] [review]: ----------------------------------------------------------------- Nice catch.
Attachment #8585020 - Flags: review?(efaustbmo) → review+
(In reply to Eric Faust [:efaust] from comment #6) > part 3 - Mark arguments.length as overridden when it is redefined via the C API. > > Nice catch. Oh, I didn't catch this. Not a chance. Our test suite did.
Flags: needinfo?(jorendorff)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: