Bug 22063

Summary: Calls have to make a CTI call, if they are not linked.
Product: WebKit Reporter: Gavin Barraclough <barraclough>
Component: JavaScriptCoreAssignee: Gavin Barraclough <barraclough>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Attachments:
Description Flags
the patch
none
Now with new improved changelogy goodness! oliver: review+

Gavin Barraclough
Reported 2008-11-03 20:26:29 PST
On the unlinked path, stop making a cti call – unless the codeblock needs JITting, or the number of parameters passed does not match the callee arity.
Attachments
the patch (18.55 KB, patch)
2008-11-03 20:28 PST, Gavin Barraclough
no flags
Now with new improved changelogy goodness! (19.58 KB, patch)
2008-11-03 20:33 PST, Gavin Barraclough
oliver: review+
Gavin Barraclough
Comment 1 2008-11-03 20:28:47 PST
Created attachment 24881 [details] the patch ~ 1% progression on sunspider --v8
Gavin Barraclough
Comment 2 2008-11-03 20:33:29 PST
Created attachment 24882 [details] Now with new improved changelogy goodness!
Oliver Hunt
Comment 3 2008-11-03 20:40:36 PST
Comment on attachment 24882 [details] Now with new improved changelogy goodness! Bad boy, commneted out code: > > @@ -679,6 +676,7 @@ void CTI::compileOpCall(OpcodeID opcodeI > m_jit.addl_i32r(registerOffset * sizeof(Register), X86::edi); > > // Call to the callee > +// m_jit.movl_i32r(argCount, X86::edx); > m_callStructureStubCompilationInfo[callLinkInfoIndex].hotPathOther = emitNakedCall(i, unreachable); r=me
Gavin Barraclough
Comment 4 2008-11-06 17:32:16 PST
Sending JavaScriptCore/ChangeLog Sending JavaScriptCore/VM/CTI.cpp Sending JavaScriptCore/VM/CTI.h Sending JavaScriptCore/VM/Machine.cpp Sending JavaScriptCore/VM/Machine.h Sending JavaScriptCore/parser/Nodes.h Transmitting file data ...... Committed revision 38209.
Note You need to log in before you can comment on or make changes to this bug.