Reviewers: fschneider, Description: Allow esi to be an allocatable register on IA32.
Make esi available to the register allocator rather than dedicating it permanently to the context. The context is still passed in register esi to JavaScript and to the runtime as part of the calling convention. Because some stubs might end up calling JS or the runtime, it is also conservatively passed to stubs. Roughly half the calls have been modified to use the context as an input value in fixed register esi. The other half are marked as calls or deferred code so esi is spilled and can be explicitly set. It is no longer necessary to restore the context to esi after a call that might change it. Please review this at http://codereview.chromium.org/6452001/ SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge Affected files: M src/hydrogen-instructions.h M src/hydrogen-instructions.cc M src/hydrogen.cc M src/ia32/assembler-ia32.h M src/ia32/full-codegen-ia32.cc M src/ia32/lithium-codegen-ia32.h M src/ia32/lithium-codegen-ia32.cc M src/ia32/lithium-ia32.h M src/ia32/lithium-ia32.cc M src/ia32/macro-assembler-ia32.cc -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
