As discussed, the extra parameter to LCodeGen::CallCode and LCodeGen::CallRuntime is transitional. Eventually it will be eliminated.
I'm aware that the Hydrogen call instructions are a mess. I'll be able to clean them up, but first we need to remove the bogus uses of the arguments at the call instruction. On Tue, Feb 8, 2011 at 11:43 AM, <[email protected]> wrote: > 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
