Changeset 40004 in webkit for trunk/JavaScriptCore/jit/JIT.cpp
- Timestamp:
- Jan 16, 2009, 8:57:56 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JIT.cpp
r39993 r40004 45 45 namespace JSC { 46 46 47 COMPILE_ASSERT(STUB_ARGS_code == 0xC, STUB_ARGS_code_is_C);48 COMPILE_ASSERT(STUB_ARGS_callFrame == 0xE, STUB_ARGS_callFrame_is_E);49 50 47 #if COMPILER(GCC) && PLATFORM(X86) 48 49 COMPILE_ASSERT(STUB_ARGS_code == 0x0C, STUB_ARGS_code_is_0x0C); 50 COMPILE_ASSERT(STUB_ARGS_callFrame == 0x0E, STUB_ARGS_callFrame_is_0x0E); 51 51 52 52 #if PLATFORM(DARWIN) … … 99 99 #elif COMPILER(GCC) && PLATFORM(X86_64) 100 100 101 COMPILE_ASSERT(STUB_ARGS_code == 0x10, STUB_ARGS_code_is_0x10); 102 COMPILE_ASSERT(STUB_ARGS_callFrame == 0x12, STUB_ARGS_callFrame_is_0x12); 103 101 104 #if PLATFORM(DARWIN) 102 105 #define SYMBOL_STRING(name) "_" #name … … 112 115 "pushq %r12" "\n" 113 116 "pushq %r13" "\n" 117 "pushq %r14" "\n" 118 "pushq %r15" "\n" 114 119 "pushq %rbx" "\n" 115 "subq $0x 38, %rsp" "\n"120 "subq $0x48, %rsp" "\n" 116 121 "movq $512, %r12" "\n" 117 "movq 0x70(%rsp), %r13" "\n" // Ox70 = 0x0E * 8, 0x0E = STUB_ARGS_callFrame (see assertion above) 118 "call *0x60(%rsp)" "\n" // Ox60 = 0x0C * 8, 0x0C = STUB_ARGS_code (see assertion above) 119 "addq $0x38, %rsp" "\n" 122 "movq $0xFFFF000000000000, %r14" "\n" 123 "movq $0xFFFF000000000002, %r15" "\n" 124 "movq 0x90(%rsp), %r13" "\n" // Ox90 = 0x12 * 8, 0x12 = STUB_ARGS_callFrame (see assertion above) 125 "call *0x80(%rsp)" "\n" // Ox80 = 0x10 * 8, 0x10 = STUB_ARGS_code (see assertion above) 126 "addq $0x48, %rsp" "\n" 120 127 "popq %rbx" "\n" 128 "popq %r15" "\n" 129 "popq %r14" "\n" 121 130 "popq %r13" "\n" 122 131 "popq %r12" "\n" … … 134 143 #error "JIT_STUB_ARGUMENT configuration not supported." 135 144 #endif 136 "addq $0x 38, %rsp" "\n"145 "addq $0x48, %rsp" "\n" 137 146 "popq %rbx" "\n" 147 "popq %r15" "\n" 148 "popq %r14" "\n" 138 149 "popq %r13" "\n" 139 150 "popq %r12" "\n" … … 935 946 emitCTICall(Interpreter::cti_op_throw); 936 947 #if PLATFORM(X86_64) 937 addPtr(Imm32(0x 38), X86::esp);948 addPtr(Imm32(0x48), X86::esp); 938 949 pop(X86::ebx); 950 pop(X86::r15); 951 pop(X86::r14); 939 952 pop(X86::r13); 940 953 pop(X86::r12);
Note:
See TracChangeset
for help on using the changeset viewer.