Closed
Bug 1113179
Opened 10 years ago
Closed 10 years ago
SIMD.int32x4 / SIMD.float32x4 should not have a type set with unknownProperties.
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla37
People
(Reporter: nbp, Assigned: nbp)
References
Details
Attachments
(1 file)
2.45 KB,
patch
|
bbouvier
:
review+
|
Details | Diff | Splinter Review |
Currently, to make SIMD.int32x4 / SIMD.float32x4 callable, we create these objects with the Function as a proto [1]. Due to this trick, we flag the typeSet as having unknownProperties [2], which cause addType to flag the type set of int32x4 / float32x4 objects to be AnyObject [3].
This makes IonMonkey unable to predict what is the function which should be used for the function call (Bug 1112154), and force us to "guard; load; typebarrier" before every SIMD function call (Bug 1112155).
[1] http://dxr.mozilla.org/mozilla-central/source/js/src/builtin/SIMD.cpp#250,257
[2] http://dxr.mozilla.org/mozilla-central/source/js/src/jsinfer.cpp#4470-4478
[3] http://dxr.mozilla.org/mozilla-central/source/js/src/jsinfer.cpp#552-556,566-567
Assignee | ||
Comment 1•10 years ago
|
||
Attachment #8538571 -
Flags: review?(benj)
Comment 2•10 years ago
|
||
Comment on attachment 8538571 [details] [diff] [review]
SIMD types are now created as Singleton objects.
Review of attachment 8538571 [details] [diff] [review]:
-----------------------------------------------------------------
Good catch!
Attachment #8538571 -
Flags: review?(benj) → review+
Assignee | ||
Comment 3•10 years ago
|
||
Comment 4•10 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla37
You need to log in
before you can comment on or make changes to this bug.
Description
•