Ignore:
Timestamp:
Oct 4, 2013, 11:20:40 AM (12 years ago)
Author:
[email protected]
Message:

Add callOperation to Baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=122306

Reviewed by Geoffrey Garen.

Created baseline JIT compatible versions for a few flavors of callOperation().
Migrated cti_op_new_regexp() and its caller to callOperation(operationNewRegexp()).

  • dfg/DFGOperations.cpp: Moved operationNewRegexp() to JITOperations
  • dfg/DFGOperations.h:
  • jit/JIT.h:

(JSC::JIT::appendCall):

  • jit/JITInlines.h:

(JSC::JIT::appendCallWithExceptionCheck):
(JSC::JIT::appendCallWithExceptionCheckSetJSValueResult):
(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_new_regexp):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
  • jit/JSInterfaceJIT.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JSInterfaceJIT.h

    r156184 r156896  
    3030#include "CCallHelpers.h"
    3131#include "JITCode.h"
     32#include "JITOperations.h"
    3233#include "JITStubs.h"
    3334#include "JSCJSValue.h"
     
    6263#if CPU(X86_64)
    6364        static const RegisterID returnValueRegister = X86Registers::eax;
     65        static const RegisterID returnValue2Register = X86Registers::edx;
    6466        static const RegisterID cachedResultRegister = X86Registers::eax;
    6567#if !OS(WINDOWS)
     
    9092#elif CPU(X86)
    9193        static const RegisterID returnValueRegister = X86Registers::eax;
     94        static const RegisterID returnValue2Register = X86Registers::edx;
    9295        static const RegisterID cachedResultRegister = X86Registers::eax;
    9396        // On x86 we always use fastcall conventions = but on
     
    110113#elif CPU(ARM)
    111114        static const RegisterID returnValueRegister = ARMRegisters::r0;
     115        static const RegisterID returnValue2Register = ARMRegisters::r1;
    112116        static const RegisterID cachedResultRegister = ARMRegisters::r0;
    113117        static const RegisterID firstArgumentRegister = ARMRegisters::r0;
     
    132136#elif CPU(MIPS)
    133137        static const RegisterID returnValueRegister = MIPSRegisters::v0;
     138        static const RegisterID returnValue2Register = MIPSRegisters::v1;
    134139        static const RegisterID cachedResultRegister = MIPSRegisters::v0;
    135140        static const RegisterID firstArgumentRegister = MIPSRegisters::a0;
     
    170175
    171176        static const RegisterID returnValueRegister = SH4Registers::r0;
     177        static const RegisterID returnValue2Register = SH4Registers::r1;
    172178        static const RegisterID cachedResultRegister = SH4Registers::r0;
    173179
Note: See TracChangeset for help on using the changeset viewer.