Simplify the processing of deferred code in the code generator. Our
deferred code snippets are highly stylized. They always make a call to a stub or the runtime and then return. This change takes advantage of that. Creating a deferred code object now captures a snapshot of the registers in the virtual frame. The registers are automatically saved on entry to the deferred code and restored on exit. The clients of deferred code must ensure that there is no change to the registers in the virtual frame (eg, by allocating which can cause spilling) or to the stack pointer. That is currently the case. As a separate change, I will add either code to verify this constraint or else code to forbid any frame effect. The deferred code itself does not use the virtual frame or register allocator (or even the code generator). It is raw macro assembler code. Review URL: http://codereview.chromium.org/118226 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Showing
src/arm/codegen-arm-inl.h
0 → 100644
src/ia32/codegen-ia32-inl.h
0 → 100644
This diff is collapsed.
src/x64/codegen-x64-inl.h
0 → 100644
Please
register
or
sign in
to comment