Summary: | FTL should implement InvalidationPoint in terms of llvm.stackmap | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||||||||||||||||
Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||
Severity: | Normal | CC: | barraclough, buildbot, commit-queue, eflews.bot, ggaren, gtk-ews, gyuyoung.kim, mark.lam, mhahnenberg, msaboff, oliver, rakuco, rego+ews, rniwa, sam, xan.lopez | ||||||||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||||||||||
Hardware: | All | ||||||||||||||||||||
OS: | All | ||||||||||||||||||||
Bug Depends on: | 123423, 123472 | ||||||||||||||||||||
Bug Blocks: | 122318 | ||||||||||||||||||||
Attachments: |
|
Description
Filip Pizlo
2013-03-30 17:25:25 PDT
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 |