Closed
Bug 1118978
Opened 8 years ago
Closed 8 years ago
Add a more fine-grained mechanism for specifying alias sets in IDL
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
RESOLVED
FIXED
mozilla38
People
(Reporter: bzbarsky, Assigned: bzbarsky)
References
Details
Attachments
(4 files)
17.35 KB,
patch
|
peterv
:
review+
|
Details | Diff | Splinter Review |
11.37 KB,
patch
|
peterv
:
review+
|
Details | Diff | Splinter Review |
8.36 KB,
patch
|
peterv
:
review+
|
Details | Diff | Splinter Review |
922 bytes,
patch
|
peterv
:
review+
|
Details | Diff | Splinter Review |
The plan is to add these two annotations: [DependsOn=DOMState|DeviceState|Nothing]. If not specified, the default value is "Everything". [Affects=Nothing]. If not specified, the default value is "Everything". Then [Pure] desugars to [Affects=Nothing, DependsOn=DOMState] and [Constant] desugars to [Affects=Nothing, DependsOn=Nothing]. On the interaction-with-jit side, DependsOn=DeviceState means "not movable", but otherwise has the same alias set as DependsOn=Nothing.
![]() |
Assignee | |
Comment 1•8 years ago
|
||
This does not change the generated binding code in any way for our existing IDL files.
Attachment #8545591 -
Flags: review?(peterv)
![]() |
Assignee | |
Updated•8 years ago
|
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
![]() |
Assignee | |
Comment 2•8 years ago
|
||
Attachment #8545594 -
Flags: review?(peterv)
![]() |
Assignee | |
Comment 3•8 years ago
|
||
Attachment #8545596 -
Flags: review?(peterv)
![]() |
Assignee | |
Comment 4•8 years ago
|
||
Attachment #8545597 -
Flags: review?(peterv)
Comment 5•8 years ago
|
||
Comment on attachment 8545591 [details] [diff] [review] part 1. Introduce "Affects" and "DependsOn" state for IDL attributes and operations and desugar [Pure] and [Constant] into that state Review of attachment 8545591 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/bindings/Codegen.py @@ +8215,5 @@ > + def aliasSet(self): > + """ > + Returns the alias set to store in the jitinfo. This may not be the > + effective alias set the JIT uses, depending on whether we have enough > + information about our args that the JIT can prove effectful argument Not sure if it'd be correct English, but s/that/so that/ or s/prove/prove that/ would be slightly clearer to me.
Attachment #8545591 -
Flags: review?(peterv) → review+
![]() |
Assignee | |
Comment 6•8 years ago
|
||
Rewrote as: depending on whether we have enough information about our args to allow the JIT to prove that effectful argument conversions won't happen
Updated•8 years ago
|
Attachment #8545594 -
Flags: review?(peterv) → review+
Updated•8 years ago
|
Attachment #8545596 -
Flags: review?(peterv) → review+
Comment 7•8 years ago
|
||
Comment on attachment 8545597 [details] [diff] [review] part 4. Mark performance.now() as being side-effect free but dependent on device state Review of attachment 8545597 [details] [diff] [review]: ----------------------------------------------------------------- ::: dom/webidl/Performance.webidl @@ +14,5 @@ > typedef sequence <PerformanceEntry> PerformanceEntryList; > > [Exposed=(Window,Worker)] > interface Performance { > + [DependsOn=DeviceState,Affects=Nothing] I'd put a space after comma.
Attachment #8545597 -
Flags: review?(peterv) → review+
These landed and broke b2g builds, so backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/5feaa9fcb009 https://treeherder.mozilla.org/logviewer.html#?job_id=5518001&repo=mozilla-inbound
Flags: needinfo?(bzbarsky)
![]() |
Assignee | |
Comment 9•8 years ago
|
||
Ugh. I was sure I'd done a try run on this. The problem is that the IDL added in bug 1115465 is bogus and these patches added detection of that sort of bogosity. :(
Flags: needinfo?(bzbarsky)
![]() |
Assignee | |
Comment 10•8 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/ded8921cf389 https://hg.mozilla.org/integration/mozilla-inbound/rev/c20c84c93efc https://hg.mozilla.org/integration/mozilla-inbound/rev/28487aeabd0a https://hg.mozilla.org/integration/mozilla-inbound/rev/8685f427b0bb
![]() |
Assignee | |
Comment 11•8 years ago
|
||
Documented at: https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings#DependsOn https://developer.mozilla.org/en-US/docs/Mozilla/WebIDL_bindings#Affects
Comment 12•8 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/ded8921cf389 https://hg.mozilla.org/mozilla-central/rev/c20c84c93efc https://hg.mozilla.org/mozilla-central/rev/28487aeabd0a https://hg.mozilla.org/mozilla-central/rev/8685f427b0bb
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Updated•4 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•