Open
Bug 1938149
Opened 11 months ago
Updated 4 months ago
Implement optimized import path for Function.prototype.call.bind(DataView.prototype.get)
Categories
(Core :: JavaScript: WebAssembly, enhancement, P3)
Core
JavaScript: WebAssembly
Tracking
()
NEW
People
(Reporter: rhunt, Unassigned)
References
(Blocks 2 open bugs)
Details
V8 has code to recognize the following import pattern:
_159: Function.prototype.call.bind(DataView.prototype.getUint8),
_160: Function.prototype.call.bind(DataView.prototype.setUint8),
_167: Function.prototype.call.bind(DataView.prototype.getUint32),
_168: Function.prototype.call.bind(DataView.prototype.setUint32),
_177: Function.prototype.call.bind(DataView.prototype.getFloat64),
_178: Function.prototype.call.bind(DataView.prototype.setFloat64),
And emit optimized code for typed array access. We may want to see if we can do the same somehow.
Dart would like to use this for fast access to typed arrays.
| Reporter | ||
Comment 1•4 months ago
|
||
This shows up in JetStream3 and would improve our score on the dart subtest by around 4%. It's not just the DataView builtins, it's also things like:
Number.prototype.toString
BigInt.prototype.toString
String.prototype.toLowerCase
String.prototype.indexOf
| Reporter | ||
Updated•4 months ago
|
Summary: Implement optimized import path for Function.prototype.call.bind(DataView.prototype.get) → Implement optimized import path for Function.prototype.call.bind(function)
| Reporter | ||
Comment 2•4 months ago
|
||
I'm going to first start optimizing Function.prototype.call.bind in bug 1882955. This bug can be for further optimizations when the targetFunction is a recognized builtin like DataView.
Summary: Implement optimized import path for Function.prototype.call.bind(function) → Implement optimized import path for Function.prototype.call.bind(DataView.prototype.get)
You need to log in
before you can comment on or make changes to this bug.
Description
•