Changeset 40799 in webkit for trunk/JavaScriptCore/wrec/WRECGenerator.cpp
- Timestamp:
- Feb 9, 2009, 5:28:15 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/wrec/WRECGenerator.cpp
r40562 r40799 41 41 void Generator::generateEnter() 42 42 { 43 #if PLATFORM(X86_64) 44 // On x86-64 edi and esi are caller preserved, so nothing to do here. 45 // The four arguments have been passed in the registers %rdi, %rsi, 46 // %rdx, %rcx - shuffle these into the expected locations. 47 move(X86::edi, input); // (arg 1) edi -> eax 48 move(X86::ecx, output); // (arg 4) ecx -> edi 49 move(X86::edx, length); // (arg 3) edx -> ecx 50 move(X86::esi, index); // (arg 2) esi -> edx 51 52 #else 43 #if PLATFORM(X86) 53 44 // On x86 edi & esi are callee preserved registers. 54 45 push(X86::edi); … … 72 63 void Generator::generateReturnSuccess() 73 64 { 65 ASSERT(returnRegister != index); 66 ASSERT(returnRegister != output); 67 74 68 // Set return value. 75 pop( X86::eax); // match begin76 store32( X86::eax, output);69 pop(returnRegister); // match begin 70 store32(returnRegister, output); 77 71 store32(index, Address(output, 4)); // match end 78 72 79 73 // Restore callee save registers. 80 #if !PLATFORM(X86_64)74 #if PLATFORM(X86) 81 75 pop(X86::esi); 82 76 pop(X86::edi); … … 115 109 { 116 110 pop(); 117 move(Imm32(-1), X86::eax); 118 #if !PLATFORM(X86_64) 111 move(Imm32(-1), returnRegister); 112 113 #if PLATFORM(X86) 119 114 pop(X86::esi); 120 115 pop(X86::edi);
Note:
See TracChangeset
for help on using the changeset viewer.