Closed
Bug 1103152
Opened 10 years ago
Closed 9 years ago
Remove some JSClass stub functions
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla37
People
(Reporter: jorendorff, Assigned: jorendorff)
Details
Attachments
(2 files)
165.33 KB,
patch
|
bhackett1024
:
review+
|
Details | Diff | Splinter Review |
3.35 KB,
patch
|
bhackett1024
:
review+
|
Details | Diff | Splinter Review |
I want to make all JSClass function pointer members nullable. This is the first step. I'll make these nullable: addProperty delProperty enumerate resolve convert and I'll remove the corresponding stub functions JS_DeletePropertyStub, JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub. (addProperty uses JS_PropertyStub which can't be removed yet.) After this, only getProperty and setProperty will remain.
Assignee | ||
Comment 1•10 years ago
|
||
Attachment #8527106 -
Flags: review?(jwalden+bmo)
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → jorendorff
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•10 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=4eae38e0bdba
Assignee | ||
Comment 3•10 years ago
|
||
Comment on attachment 8527106 [details] [diff] [review] Remove JS_DeletePropertyStub, JS_EnumerateStub, JS_ResolveStub, and JS_ConvertStub. Make five mandatory JSClass hooks optional (nullable) Review of attachment 8527106 [details] [diff] [review]: ----------------------------------------------------------------- Shifting review. I really want to land this and the patches in bug 1103368 as soon as I can. They're going to bitrot like crazy.
Attachment #8527106 -
Flags: review?(jwalden+bmo) → review?(bhackett1024)
Comment 4•10 years ago
|
||
Comment on attachment 8527106 [details] [diff] [review] Remove JS_DeletePropertyStub, JS_EnumerateStub, JS_ResolveStub, and JS_ConvertStub. Make five mandatory JSClass hooks optional (nullable) Review of attachment 8527106 [details] [diff] [review]: ----------------------------------------------------------------- Nice!!!! ::: js/src/jsapi.cpp @@ +2143,5 @@ > return true; > } > > JS_PUBLIC_API(bool) > +JS::OrdinaryToPrimitive(JSContext *cx, HandleObject obj, JSType type, MutableHandleValue vp) OrdinaryConvert, or OrdinaryDefaultValue?
Attachment #8527106 -
Flags: review?(bhackett1024) → review+
Comment 5•10 years ago
|
||
(In reply to Brian Hackett (:bhackett) from comment #4) > OrdinaryConvert, or OrdinaryDefaultValue? The algorithm in the spec is named OrdinaryToPrimitive: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-toprimitive (scroll down a little there) Beyond that, this entire mechanism is going to more or less go away when we implement conversion-to-primitive using a @@toPrimitive symbol, so it's not worth polishing things (like renaming the field from convert to toPrimitive or similar).
Assignee | ||
Comment 6•10 years ago
|
||
(In reply to Brian Hackett (:bhackett) from comment #4) > > +JS::OrdinaryToPrimitive(JSContext *cx, HandleObject obj, JSType type, MutableHandleValue vp) > > OrdinaryConvert, or OrdinaryDefaultValue? Waldo's right, the name just follows the spec. I admit, I did think "this name sucks" as I typed it in. Added a comment to help explain: /* * Implements ES6 draft rev 28 (2014 Oct 14) 7.1.1, second algorithm. * * Most users should not call this -- use JS::ToNumber, ToBoolean, or ToString * instead. This should only be called from custom convert hooks. It implements * the default conversion behavior shared by most objects in JS, so it's useful * as a fallback. */ extern JS_PUBLIC_API(bool) OrdinaryToPrimitive(JSContext *cx, HandleObject obj, JSType type, MutableHandleValue vp);
Assignee | ||
Comment 7•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/b3f742c00ba1
b2g build bustage https://treeherder.mozilla.org/ui/logviewer.html#?job_id=4173512&repo=mozilla-inbound https://hg.mozilla.org/integration/mozilla-inbound/rev/63f71ff39bbc
Assignee | ||
Comment 9•10 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=4fc89107a77f
Assignee | ||
Comment 10•10 years ago
|
||
14:20:40 INFO - {standard input}: Assembler messages: 14:20:40 INFO - {standard input}:49744: Error: can't resolve `_ZN2js16TypedArrayObject7classesE' {*UND* section} - `.LPIC442' {*UND* section} 14:20:40 ERROR - make[6]: *** [Unified_cpp_js_src8.o] Error 1 14:20:40 INFO - make[6]: *** Waiting for unfinished jobs.... **Assembler**?! No clue what's going on here.
Assignee | ||
Comment 11•10 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=c7c10a03df7f
Assignee | ||
Comment 12•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=688ebc1e85d5
Assignee | ||
Comment 13•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=f04f0fe17366
Assignee | ||
Comment 14•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=6eac2da8bd47
Assignee | ||
Comment 15•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=74b6f78e85e4
Assignee | ||
Comment 16•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=281347c575dc
Assignee | ||
Comment 17•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=034cb8c3539f
Assignee | ||
Comment 18•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=2ec9b3efc7c8
Assignee | ||
Comment 19•9 years ago
|
||
Try-bisecting continues apace. The good news is, it looks like 3 of the 5 hooks can be nulled out without angering the fickle Ice Cream Sandwich gods. I'm guessing 4 would be fine. Still no idea what's really causing this.
Assignee | ||
Comment 20•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=2618d0e54e1b
Assignee | ||
Comment 21•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=ce225adfcdf2
Assignee | ||
Comment 22•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=f38add1b1f1d
Assignee | ||
Comment 23•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=dec977a26d63
Assignee | ||
Comment 24•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=21bd53dbc9b3
Assignee | ||
Comment 25•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=139870604dc3
Assignee | ||
Comment 26•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=c6636ec4e69c
Assignee | ||
Comment 27•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=e8c6dfb1adca
Assignee | ||
Comment 28•9 years ago
|
||
Re: comment 27, I gave up and #ifdef'd some code just for GCC 4.4. If that works, let's land it and move on...
Assignee | ||
Comment 29•9 years ago
|
||
Attachment #8531447 -
Flags: review?(bhackett1024)
Updated•9 years ago
|
Attachment #8531447 -
Flags: review?(bhackett1024) → review+
Assignee | ||
Comment 30•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=8c88535a935a
Assignee | ||
Comment 31•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=1c76644859de
Assignee | ||
Comment 32•9 years ago
|
||
https://tbpl.mozilla.org/?tree=Try&rev=a349ef612573
Assignee | ||
Comment 33•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/a7d403088a16
Comment 34•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/a7d403088a16
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
You need to log in
before you can comment on or make changes to this bug.
Description
•