Closed
Bug 1129491
Opened 10 years ago
Closed 10 years ago
SIMD: Implement .check in the interpreter and asm.js
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla38
Tracking | Status | |
---|---|---|
firefox38 | --- | fixed |
People
(Reporter: bbouvier, Assigned: bbouvier)
References
Details
Attachments
(3 files, 1 obsolete file)
6.28 KB,
patch
|
evilpies
:
review+
|
Details | Diff | Splinter Review |
269.14 KB,
patch
|
luke
:
review+
|
Details | Diff | Splinter Review |
7.18 KB,
patch
|
bbouvier
:
review+
|
Details | Diff | Splinter Review |
Not mandatory, but nice to have for being able to benchmark with the latest spec polyfill.
Assignee | ||
Updated•10 years ago
|
Flags: needinfo?(benj)
Assignee | ||
Comment 1•10 years ago
|
||
This is for the interpreter...
Flags: needinfo?(benj)
Attachment #8563540 -
Flags: review?(till)
Assignee | ||
Comment 2•10 years ago
|
||
Same thing in asm.js. The idea behind this patch is to be able to have both kind of coercions for a short period of time, so that:
- emscripten can adjust (dan, let me know when you'd be ready for this change)
- we can adjust our benchmarks on awfy
- the Intel demo can be updated
Flags: needinfo?(sunfish)
Attachment #8563546 -
Flags: review?(luke)
Assignee | ||
Comment 3•10 years ago
|
||
And this patch effectively removes the constructor-as-a-coercion role, implying that all tests need to change. A pretty big patch, but all tests are just adding check calls for coercions. I am still running the test suite now and will add other test cases as I run into them.
Attachment #8563547 -
Flags: review?(luke)
Assignee | ||
Comment 4•10 years ago
|
||
Setting needinfo as a todo note for myself. Remaining parts:
- intel's github demo site
- awfy
- inline check in Ion
Flags: needinfo?(benj)
![]() |
||
Comment 5•10 years ago
|
||
Comment on attachment 8563546 [details] [diff] [review]
2.check.asmjs.patch
Review of attachment 8563546 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/asmjs/AsmJSValidate.cpp
@@ +2140,5 @@
> + if (global->isSimdCtor() ||
> + (global->isSimdOperation() && global->simdOperation() == AsmJSSimdOperation_check))
> + {
> + AsmJSSimdType type = global->isSimdCtor() ? global->simdCtorType()
> + : global->simdOperationType();
SM ternary style wants:
a
? b
: c
Attachment #8563546 -
Flags: review?(luke) → review+
![]() |
||
Updated•10 years ago
|
Attachment #8563547 -
Flags: review?(luke) → review+
Comment 6•10 years ago
|
||
(In reply to Benjamin Bouvier [:bbouvier] from comment #2)
> Created attachment 8563546 [details] [diff] [review]
> 2.check.asmjs.patch
>
> Same thing in asm.js. The idea behind this patch is to be able to have both
> kind of coercions for a short period of time, so that:
> - emscripten can adjust (dan, let me know when you'd be ready for this
> change)
The Emscripten changes will be easy. I'll update Emscripten whenever these patches land.
Flags: needinfo?(sunfish)
Attachment #8563540 -
Flags: review?(till) → review?(evilpies)
Comment on attachment 8563540 [details] [diff] [review]
1.check.intprtr.patch
Review of attachment 8563540 [details] [diff] [review]:
-----------------------------------------------------------------
Inferring from the context this look fine.
Attachment #8563540 -
Flags: review?(evilpies) → review+
Assignee | ||
Comment 8•10 years ago
|
||
- code is ready on my fork of mandelbrot: https://github.com/bnjbvr/mandelbrot/tree/simd-check
- PR on awfy is ready: https://github.com/h4writer/arewefastyet/pull/47
Next step is to have trees open (at least to send to try and then ask checkin-needed). To be continued...
Assignee | ||
Comment 9•10 years ago
|
||
carrying forward r+ from luke
Attachment #8563546 -
Attachment is obsolete: true
Attachment #8564229 -
Flags: review+
Assignee | ||
Comment 10•10 years ago
|
||
Requesting checking of patches 1 and 2 (if the try below is all green, or failures are unrelated. Related failures would be in ecma_7/SIMD js ref tests or asm.js/ jit-tests).
https://treeherder.mozilla.org/#/jobs?repo=try&revision=49f472bd1748
Keywords: checkin-needed
Assignee | ||
Comment 11•10 years ago
|
||
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/099b350c49c4
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/a1bd894fbfc8
Keywords: checkin-needed
Comment 12•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/099b350c49c4
https://hg.mozilla.org/mozilla-central/rev/a1bd894fbfc8
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
status-firefox38:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Assignee | ||
Comment 13•10 years ago
|
||
Sorry, forgot to put the leave-open keyword (see also comment 10 which was requesting landing of patches 1 and 2 only). Will land the last one asap.
Comment 14•10 years ago
|
||
(In reply to Benjamin Bouvier [:bbouvier] from comment #13)
> (see also comment 10 which was requesting landing of patches 1 and 2 only).
Bug marking is automated. Nobody saw it.
Assignee | ||
Comment 15•10 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM UTC-5] from comment #14)
> (In reply to Benjamin Bouvier [:bbouvier] from comment #13)
> > (see also comment 10 which was requesting landing of patches 1 and 2 only).
>
> Bug marking is automated. Nobody saw it.
Correct me if I'm wrong, but I thought that when people are asking for checkin-needed, sheriffs would look at which patches they need to check-in? Or does it happen only when we put specific keywords in the keywords section / whiteboard?
Assignee | ||
Comment 16•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/5de196d11522
Dan, this change will trigger validation errors if the old coercion style (viz. not using check) is used. I've seen you've udpated emscripten this weekend (thank you for that). Just wanted to give you heads up, just in case you needed to activate something.
Flags: needinfo?(benj)
Keywords: leave-open
Comment 17•10 years ago
|
||
Status: REOPENED → RESOLVED
Closed: 10 years ago → 10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•