Description[compiler] Mark shared functions for optimization
The current method of marking functions for optimization, which replaces
the JSFunction's code object with one that triggers optimization, would
never allow unnamed functions to be optimized. This is an issue for a
style of programming which heavily relies on passing around closures.
This patch sets a bit on the SharedFunctionInfo when a JSFunction is
marked. When another JSFunction referring to the same SharedFunctionInfo
is lazily compiled, it immediately triggers a non-concurrent optimize.
BUG=v8:5512
Committed: https://crrev.com/4a31323e973e0a03403a53c601dfd4f0237532e8
Cr-Commit-Position: refs/heads/master@{#40506}
Patch Set 1 #Patch Set 2 : Fix bad copy & paste #Patch Set 3 : Use a boolean accessor for the bit #Patch Set 4 : Reorder compiler hints to not break Smi field writes on x86 #Patch Set 5 : Call runtime without stack where needed #Patch Set 6 : Save the files you actually changed, dummy #
Total comments: 2
Patch Set 7 : Unmark after compiling #
Messages
Total messages: 37 (28 generated)
|