• kmillikin@chromium.org's avatar
    Allow esi to be an allocatable register on IA32. · ebebcae4
    kmillikin@chromium.org authored
    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.
    
    Review URL: http://codereview.chromium.org/6452001
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    ebebcae4
full-codegen-ia32.cc 144 KB