RESOLVED FIXED 22171
CTI refactoring: remove m_callFrame; batch JIT all static trampolines.
https://bugs.webkit.org/show_bug.cgi?id=22171
Summary CTI refactoring: remove m_callFrame; batch JIT all static trampolines.
Gavin Barraclough
Reported 2008-11-10 20:14:24 PST
Batch compile the set of static trampolines at the point Machine is constructed, using a single allocation. Refactor out m_callFrame from CTI, since this is only needed to access the global data (instead store a pointer to the global data directly, since this is available at the point the Machine is constructed). Add a method to align the code buffer, to allow JIT generation for multiple trampolines in one block.
Attachments
The patch (31.47 KB, patch)
2008-11-10 20:15 PST, Gavin Barraclough
zwarich: review+
Gavin Barraclough
Comment 1 2008-11-10 20:15:35 PST
Created attachment 25042 [details] The patch no performance impact
Cameron Zwarich (cpst)
Comment 2 2008-11-10 20:53:19 PST
Comment on attachment 25042 [details] The patch r=me, but remove the trailing whitespace you added before emitInt3().
Gavin Barraclough
Comment 3 2008-11-10 21:10:11 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/masm/X86Assembler.h Sending JavaScriptCore/runtime/JSGlobalData.cpp Transmitting file data ....... Committed revision 38286.
Geoffrey Garen
Comment 4 2008-11-10 22:45:59 PST
I think you should fold the initialize function into the Machine constructor. Is there any reason for it to be separate?
Note You need to log in before you can comment on or make changes to this bug.