[Webkit-unassigned] [Bug 162980] New: [DOMJIT] Add DOMJITSignature
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Oct 5 10:56:54 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=162980
Bug ID: 162980
Summary: [DOMJIT] Add DOMJITSignature
Classification: Unclassified
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
Assignee: webkit-unassigned at lists.webkit.org
Reporter: utatane.tea at gmail.com
We should have two type of DOMJIT functionality.
1. DOMJIT::GetterSetter based inlining system
We can define all the DOMJIT operations in DOMJIT::Patchpoint. It is great since we have a chance to inline it completely!
While it's quite good for performance, ASM is typically written by hand.
I explored the way to generate ASM automatically from IDL compiler, but the accessors we can do so is still limited.
For example, even in Node::firstChild, it has special check path for ContainerNode, while nextSibling, parentNode, and previousSibling do not have such a path.
And this fact is not exposed in IDL.
We manually write ASM in this case. It has scalability & complexity (But CSS Selector JIT already does the similar things for parentNode, siblings) problem.
So we will write this for super hot accessors. Like parentNode, firstChild etc.
2. DOMJIT::Signature based type checking elimination
On the other hand, this can be applied to many bindings automatically.
We support DOMJIT::Signature. That is the way to express DOM function's signature to DFG/FTL.
DFG / FTL recognizes and emit Checks instead of binding code. And in the middle of code, we will invoke the thin binding code that does not have any checks.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20161005/6907d7a1/attachment-0001.html>
More information about the webkit-unassigned
mailing list