Changeset 43352 in webkit for trunk/JavaScriptCore/jit
- Timestamp:
- May 7, 2009, 11:45:34 AM (16 years ago)
- Location:
- trunk/JavaScriptCore/jit
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JIT.cpp
r43331 r43352 1103 1103 } 1104 1104 case op_profile_will_call: { 1105 emitGetCTIParam( STUB_ARGS_profilerReference, regT0);1105 emitGetCTIParam(FIELD_OFFSET(JITStackFrame, enabledProfilerReference) / sizeof (void*), regT0); 1106 1106 Jump noProfiler = branchTestPtr(Zero, Address(regT0)); 1107 1107 emitPutJITStubArgFromVirtualRegister(currentInstruction[1].u.operand, 1, regT0); … … 1112 1112 } 1113 1113 case op_profile_did_call: { 1114 emitGetCTIParam( STUB_ARGS_profilerReference, regT0);1114 emitGetCTIParam(FIELD_OFFSET(JITStackFrame, enabledProfilerReference) / sizeof (void*), regT0); 1115 1115 Jump noProfiler = branchTestPtr(Zero, Address(regT0)); 1116 1116 emitPutJITStubArgFromVirtualRegister(currentInstruction[1].u.operand, 1, regT0); … … 1524 1524 emitPutImmediateToCallFrameHeader(m_codeBlock, RegisterFile::CodeBlock); 1525 1525 1526 emitGetCTIParam( STUB_ARGS_registerFile, regT0);1526 emitGetCTIParam(FIELD_OFFSET(JITStackFrame, registerFile) / sizeof (void*), regT0); 1527 1527 addPtr(Imm32(m_codeBlock->m_numCalleeRegisters * sizeof(Register)), callFrameRegister, regT1); 1528 1528 -
trunk/JavaScriptCore/jit/JITStubs.h
r43334 r43352 110 110 #endif 111 111 112 #define STUB_ARGS_code (offsetof(struct JITStackFrame, code) / sizeof (void*)) 113 #define STUB_ARGS_callFrame (offsetof(struct JITStackFrame, callFrame) / sizeof (void*)) 114 115 #define STUB_RETURN_ADDRESS_SLOT (STUB_ARGS[-1]) 116 112 117 #if USE(JIT_STUB_ARGUMENT_VA_LIST) 113 118 #define STUB_ARGS_DECLARATION void* args, ... … … 136 141 #endif 137 142 138 #if PLATFORM(X86_64)139 #define STUB_ARGS_offset 0x10140 #else141 #define STUB_ARGS_offset 0x0C142 #endif143 144 #define STUB_ARGS_code (STUB_ARGS_offset)145 #define STUB_ARGS_registerFile (STUB_ARGS_offset + 1)146 #define STUB_ARGS_callFrame (STUB_ARGS_offset + 2)147 #define STUB_ARGS_exception (STUB_ARGS_offset + 3)148 #define STUB_ARGS_profilerReference (STUB_ARGS_offset + 4)149 #define STUB_ARGS_globalData (STUB_ARGS_offset + 5)150 151 #define STUB_RETURN_ADDRESS_SLOT (STUB_ARGS[-1])152 153 // The Mac compilers are fine with this,154 #if PLATFORM(MAC)155 struct VoidPtrPair {156 void* first;157 void* second;158 };159 #define RETURN_PAIR(a,b) VoidPtrPair pair = { a, b }; return pair160 #else161 143 typedef uint64_t VoidPtrPair; 162 144 union VoidPtrPairValue { … … 164 146 VoidPtrPair i; 165 147 }; 166 #define RETURN_PAIR(a,b) VoidPtrPairValue pair = {{ a, b }}; return pair.i 167 #endif 148 #define RETURN_PAIR(a,b) VoidPtrPairValue pair = {{ a, b }}; return pair.i 168 149 169 150 extern "C" void ctiVMThrowTrampoline();
Note:
See TracChangeset
for help on using the changeset viewer.