Optimize away construction of temporary ArrayBufferView objects
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
People
(Reporter: jgilbert, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
![]() |
||
Comment 1•12 years ago
|
||
Comment 2•12 years ago
|
||
![]() |
||
Comment 3•12 years ago
|
||
![]() |
||
Comment 4•12 years ago
|
||
![]() |
||
Comment 5•12 years ago
|
||
![]() |
||
Comment 6•12 years ago
|
||
![]() |
||
Comment 7•12 years ago
|
||
Comment 8•11 years ago
|
||
![]() |
||
Comment 9•11 years ago
|
||
Comment 10•11 years ago
|
||
![]() |
||
Comment 11•11 years ago
|
||
Comment 12•11 years ago
|
||
![]() |
||
Comment 13•11 years ago
|
||
Comment 14•11 years ago
|
||
Comment 15•11 years ago
|
||
Comment 16•11 years ago
|
||
Comment 17•11 years ago
|
||
Comment 18•11 years ago
|
||
Updated•3 years ago
|
Comment 19•2 years ago
|
||
Does this still make any sense ten years on? Or should we just close this one?
Comment 20•9 months ago
|
||
I'd say the original problem that this is filed for does still exist, specifically when creating multiple views of an ArrayBuffer, you don't get the benefit of the nursery. I would leave this open for that.
The tangent identified in comment 3 to comment 5 is interesting. I don't know if it's relevant today. jandem, would it be worth filing a bug for that? The idea aiui is to recognize that eg document.getElementById("string literal")
is going to return the same thing unless something happens that could change it -- to make a "DOM alias set" or something? -- and enable it to be hoisted out of loops if there are no interfering operations. But for all I know, we already have this, or it's too hard to know what the other operations might do.
("Idempotent" doesn't seem like quite the right term to me for an operation that doesn't modify anything; of course reads are idempotent, the question is whether other operations affect the read results.)
Comment 21•9 months ago
|
||
(In reply to Steve Fink [:sfink] [:s:] from comment #20)
The tangent identified in comment 3 to comment 5 is interesting. I don't know if it's relevant today. jandem, would it be worth filing a bug for that? The idea aiui is to recognize that eg
document.getElementById("string literal")
is going to return the same thing unless something happens that could change it -- to make a "DOM alias set" or something? -- and enable it to be hoisted out of loops if there are no interfering operations. But for all I know, we already have this, or it's too hard to know what the other operations might do.
This was implemented at some point using the JSJitInfo::AliasSet
enum here. The DOM getter and method call MIR instructions use this information and this lets us optimize certain DOM calls/getters.
Description
•