Closed
Bug 938355
Opened 11 years ago
Closed 11 years ago
Allow marking throwing things as [Pure] in WebIDL
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
RESOLVED
FIXED
mozilla28
People
(Reporter: bzbarsky, Assigned: bzbarsky)
References
Details
(Keywords: dev-doc-complete)
Attachments
(2 files)
14.59 KB,
patch
|
efaust
:
review+
|
Details | Diff | Splinter Review |
8.47 KB,
patch
|
peterv
:
review+
|
Details | Diff | Splinter Review |
We've been conflating two different things under [Pure] to some extent: movability and the alias set. Things that can throw are not movable, but they can still be side-effect-less. Per IRC discussion with Eric just now, I'm going to split up the concepts of movability and side-effects in jitinfo. Then we can make [Pure, Throws] in WebIDL mean no side-effects but not movable. This will allow us to hoist other movable things past that DOM access, which we can't do right now.
Assignee | ||
Comment 1•11 years ago
|
||
Attachment #831851 -
Flags: review?(efaustbmo)
Assignee | ||
Updated•11 years ago
|
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•11 years ago
|
||
Attachment #831852 -
Flags: review?(peterv)
Assignee | ||
Comment 3•11 years ago
|
||
Note: this still never marks method calls movable for now. We'll worry about it once the JIT can in fact move them.
Whiteboard: [need review]
Comment 4•11 years ago
|
||
Comment on attachment 831851 [details] [diff] [review] part 1. Refactor jitinfo to separate out the concepts of side-effects and movability. Review of attachment 831851 [details] [diff] [review]: ----------------------------------------------------------------- Not only does this allow more progress forward, it also clarifies the existing state a lot. Well done. r=me. ::: dom/bindings/Codegen.py @@ +6061,3 @@ > """ > + aliasSet is a JSJitInfo::AliasSet value, without the "JSJitInfo::" bit. > + nit: trailing whitespace on empty line.
Attachment #831851 -
Flags: review?(efaustbmo) → review+
Assignee | ||
Comment 5•11 years ago
|
||
> nit: trailing whitespace on empty line.
Fixed.
Comment 6•11 years ago
|
||
Comment on attachment 831852 [details] [diff] [review] part 2. Relax the restriction on [Pure] not mixing with [Throws] and annotate some more things as [Pure]. Review of attachment 831852 [details] [diff] [review]: ----------------------------------------------------------------- Looks good to me. ::: dom/bindings/Codegen.py @@ +6064,5 @@ > argTypes is None if we don't want to output argTypes for some > reason (e.g. we have overloads or we're not a method) and > otherwise an iterable of the arguments for this method. > """ > + assert(not movable or aliasSet != "AliasEverything") # Can't move write-liasing things write-*a*liasing
Attachment #831852 -
Flags: review?(peterv) → review+
Assignee | ||
Comment 7•11 years ago
|
||
Fixed that typo, and: https://hg.mozilla.org/integration/mozilla-inbound/rev/1b65b71cce74 https://hg.mozilla.org/integration/mozilla-inbound/rev/c4dc627b7880
Flags: in-testsuite+
Whiteboard: [need review]
Target Milestone: --- → mozilla28
Comment 8•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/1b65b71cce74 https://hg.mozilla.org/mozilla-central/rev/c4dc627b7880
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 9•11 years ago
|
||
Documented at https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings#Pure
Keywords: dev-doc-complete
Updated•5 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•