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

Reply via email to