DescriptionDevirtualize AstNode and subclasses, except for visiting-related methods.
This is a requirement to replace AstNode vtable with a NodeType tag. In a second CL (https://codereview.chromium.org/2142233003/) I switch over that tag rather than double dispatch. With additional packing in a third CL there's roughly 8 byte reduction for almost all AstNode types, and for some even more.
BUG=
Committed: https://crrev.com/157008add027193b9b4fc21b55ff0bec7d0901c5
Cr-Commit-Position: refs/heads/master@{#37770}
Patch Set 1 #Patch Set 2 : Use switches #Patch Set 3 : cleanup #
Total comments: 2
Patch Set 4 : Addressed comment #5 #Patch Set 5 : Apply same to crankshaft #Patch Set 6 : Restore IsMonomorphic #Patch Set 7 : And call again #
Total comments: 9
Patch Set 8 : Addressed comments #Patch Set 9 : Added STATIC_ASSERTs #Patch Set 10 : remove static assert again #
Messages
Total messages: 24 (9 generated)
|