Fun.
<rdar://problem/13543716>
Created attachment 215360 [details] work in progress
Created attachment 215362 [details] more
Created attachment 215363 [details] it's done? Dunno. I think I wrote all of the code.
Attachment 215363 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/bytecode/CodeBlock.cpp', u'Source/JavaScriptCore/bytecode/CodeBlockJettisoningWatchpoint.cpp', u'Source/JavaScriptCore/bytecode/CodeBlockJettisoningWatchpoint.h', u'Source/JavaScriptCore/bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp', u'Source/JavaScriptCore/bytecode/ProfiledCodeBlockJettisoningWatchpoint.h', u'Source/JavaScriptCore/dfg/DFGAbstractHeap.h', u'Source/JavaScriptCore/dfg/DFGClobberize.cpp', u'Source/JavaScriptCore/dfg/DFGClobberize.h', u'Source/JavaScriptCore/dfg/DFGCommonData.cpp', u'Source/JavaScriptCore/dfg/DFGCommonData.h', u'Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.cpp', u'Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.h', u'Source/JavaScriptCore/dfg/DFGInvalidationPointInjectionPhase.cpp', u'Source/JavaScriptCore/dfg/DFGInvalidationPointInjectionPhase.h', u'Source/JavaScriptCore/dfg/DFGJITCompiler.cpp', u'Source/JavaScriptCore/dfg/DFGJumpReplacement.cpp', u'Source/JavaScriptCore/dfg/DFGJumpReplacement.h', u'Source/JavaScriptCore/dfg/DFGNodeType.h', u'Source/JavaScriptCore/dfg/DFGOSRExitCompilationInfo.h', u'Source/JavaScriptCore/dfg/DFGPlan.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp', u'Source/JavaScriptCore/dfg/DFGWatchpointCollectionPhase.cpp', u'Source/JavaScriptCore/dfg/DFGWatchpointCollectionPhase.h']" exit_code: 1 Source/JavaScriptCore/bytecode/ProfiledCodeBlockJettisoningWatchpoint.h:26: #ifndef header guard has wrong style, please use: ProfiledCodeBlockJettisoningWatchpoint_h [build/header_guard] [5] Total errors found: 1 in 25 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 215363 [details] it's done? Attachment 215363 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/17138035
Comment on attachment 215363 [details] it's done? Attachment 215363 [details] did not pass efl-ews (efl): Output: http://webkit-queues.appspot.com/results/17088040
Comment on attachment 215363 [details] it's done? Attachment 215363 [details] did not pass win-ews (win): Output: http://webkit-queues.appspot.com/results/17138039
Comment on attachment 215363 [details] it's done? Attachment 215363 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/17038041
Comment on attachment 215363 [details] it's done? Attachment 215363 [details] did not pass gtk-ews (gtk): Output: http://webkit-queues.appspot.com/results/17158037
Comment on attachment 215363 [details] it's done? Attachment 215363 [details] did not pass efl-wk2-ews (efl-wk2): Output: http://webkit-queues.appspot.com/results/16058086
Created attachment 215398 [details] it compiles!
Created attachment 215407 [details] 64-bit DFG is done Still need to actually implement the FTL backend code and port this to the DFG 32-bit.
Attachment 215407 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/CMakeLists.txt', u'Source/JavaScriptCore/ChangeLog', u'Source/JavaScriptCore/GNUmakefile.list.am', u'Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj', u'Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj', u'Source/JavaScriptCore/assembler/AbstractMacroAssembler.h', u'Source/JavaScriptCore/bytecode/CodeBlock.cpp', u'Source/JavaScriptCore/bytecode/CodeBlock.h', u'Source/JavaScriptCore/bytecode/CodeBlockJettisoningWatchpoint.cpp', u'Source/JavaScriptCore/bytecode/CodeBlockJettisoningWatchpoint.h', u'Source/JavaScriptCore/bytecode/ExitKind.cpp', u'Source/JavaScriptCore/bytecode/ExitKind.h', u'Source/JavaScriptCore/bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp', u'Source/JavaScriptCore/bytecode/ProfiledCodeBlockJettisoningWatchpoint.h', u'Source/JavaScriptCore/dfg/DFGAbstractHeap.h', u'Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h', u'Source/JavaScriptCore/dfg/DFGClobberize.cpp', u'Source/JavaScriptCore/dfg/DFGClobberize.h', u'Source/JavaScriptCore/dfg/DFGCommonData.cpp', u'Source/JavaScriptCore/dfg/DFGCommonData.h', u'Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.cpp', u'Source/JavaScriptCore/dfg/DFGDesiredWatchpoints.h', u'Source/JavaScriptCore/dfg/DFGFixupPhase.cpp', u'Source/JavaScriptCore/dfg/DFGInvalidationPointInjectionPhase.cpp', u'Source/JavaScriptCore/dfg/DFGInvalidationPointInjectionPhase.h', u'Source/JavaScriptCore/dfg/DFGJITCode.h', u'Source/JavaScriptCore/dfg/DFGJITCompiler.cpp', u'Source/JavaScriptCore/dfg/DFGJITCompiler.h', u'Source/JavaScriptCore/dfg/DFGJumpReplacement.cpp', u'Source/JavaScriptCore/dfg/DFGJumpReplacement.h', u'Source/JavaScriptCore/dfg/DFGNodeType.h', u'Source/JavaScriptCore/dfg/DFGOSRExitCompilationInfo.h', u'Source/JavaScriptCore/dfg/DFGPlan.cpp', u'Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp', u'Source/JavaScriptCore/dfg/DFGSafeToExecute.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h', u'Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp', u'Source/JavaScriptCore/dfg/DFGWatchpointCollectionPhase.cpp', u'Source/JavaScriptCore/dfg/DFGWatchpointCollectionPhase.h', u'Source/JavaScriptCore/jit/JumpReplacementWatchpoint.cpp', u'Source/JavaScriptCore/jit/JumpReplacementWatchpoint.h']" exit_code: 1 Source/JavaScriptCore/bytecode/ProfiledCodeBlockJettisoningWatchpoint.h:26: #ifndef header guard has wrong style, please use: ProfiledCodeBlockJettisoningWatchpoint_h [build/header_guard] [5] Total errors found: 1 in 36 files If any of these errors are false positives, please file a bug against check-webkit-style.
Created attachment 215414 [details] fixed jettisoning logic Now, jettisons count reoptimization correctly.
I think that I'll split this into a separate patch. The patches I've posted so far will be for https://bugs.webkit.org/show_bug.cgi?id=123472, which just adds the concept of InvalidationPoint. This bug will be for implementing InvalidationPoint in the FTL.
Created attachment 215608 [details] work in progress
Created attachment 215671 [details] the patch
Comment on attachment 215671 [details] the patch r=me
Landed in http://trac.webkit.org/changeset/158402