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)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla38
Tracking Status
firefox38 --- fixed

People

(Reporter: bbouvier, Assigned: bbouvier)

References

Details

Attachments

(3 files, 1 obsolete file)

Not mandatory, but nice to have for being able to benchmark with the latest spec polyfill.
Flags: needinfo?(benj)
This is for the interpreter...
Flags: needinfo?(benj)
Attachment #8563540 - Flags: review?(till)
Attached patch 2.check.asmjs.patch (obsolete) — Splinter Review
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)
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)
Setting needinfo as a todo note for myself. Remaining parts: - intel's github demo site - awfy - inline check in Ion
Flags: needinfo?(benj)
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+
Attachment #8563547 - Flags: review?(luke) → review+
(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+
- 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...
carrying forward r+ from luke
Attachment #8563546 - Attachment is obsolete: true
Attachment #8564229 - Flags: review+
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
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
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.
Status: RESOLVED → REOPENED
Keywords: leave-open
Resolution: FIXED → ---
(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.
(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?
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
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: