• ager@chromium.org's avatar
    MIPS: port Fix calls of strict mode function with an implicit receiver. · b92ef0be
    ager@chromium.org authored
    Port of r8040 to mips.
    
    Original commit message:
    Strict mode functions are to get 'undefined' as the receiver when
    called with an implicit receiver. Modes are bad! It forces us to have
    checks on all function calls.
    This change attempts to limit the cost by passing information about
    whether or not a call is with an implicit or explicit receiver in ecx
    as part of the calling convention. The cost is setting ecx on all
    calls and checking ecx on entry to strict mode functions.
    Implicit/explicit receiver state has to be maintained by ICs. Various
    stubs have to not clobber ecx or save and restore it.
    CallFunction stub needs to check if the receiver is implicit when it
    doesn't know from the context.
    
    BUG=
    TEST=
    
    Review URL: http://codereview.chromium.org/6992051
    Patch from Paul Lind <plind44@gmail.com>.
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    b92ef0be
ic-mips.cc 53.5 KB