| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #if V8_TARGET_ARCH_IA32 | 5 #if V8_TARGET_ARCH_IA32 |
| 6 | 6 |
| 7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
| 8 #include "src/api-arguments.h" | 8 #include "src/api-arguments.h" |
| 9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
| 10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
| (...skipping 1259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1270 | 1270 |
| 1271 { | 1271 { |
| 1272 FrameScope scope(masm, StackFrame::INTERNAL); | 1272 FrameScope scope(masm, StackFrame::INTERNAL); |
| 1273 | 1273 |
| 1274 // Number-of-arguments register must be smi-tagged to call out. | 1274 // Number-of-arguments register must be smi-tagged to call out. |
| 1275 __ SmiTag(eax); | 1275 __ SmiTag(eax); |
| 1276 __ push(eax); | 1276 __ push(eax); |
| 1277 __ push(edi); | 1277 __ push(edi); |
| 1278 __ push(edx); | 1278 __ push(edx); |
| 1279 __ push(ebx); | 1279 __ push(ebx); |
| 1280 __ push(esi); |
| 1280 | 1281 |
| 1281 __ CallStub(stub); | 1282 __ CallStub(stub); |
| 1282 | 1283 |
| 1284 __ pop(esi); |
| 1283 __ pop(ebx); | 1285 __ pop(ebx); |
| 1284 __ pop(edx); | 1286 __ pop(edx); |
| 1285 __ pop(edi); | 1287 __ pop(edi); |
| 1286 __ pop(eax); | 1288 __ pop(eax); |
| 1287 __ SmiUntag(eax); | 1289 __ SmiUntag(eax); |
| 1288 } | 1290 } |
| 1289 } | 1291 } |
| 1290 | 1292 |
| 1291 | 1293 |
| 1292 static void GenerateRecordCallTarget(MacroAssembler* masm) { | 1294 static void GenerateRecordCallTarget(MacroAssembler* masm) { |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1568 Immediate(Smi::FromInt(1))); | 1570 Immediate(Smi::FromInt(1))); |
| 1569 | 1571 |
| 1570 // Store the function. Use a stub since we need a frame for allocation. | 1572 // Store the function. Use a stub since we need a frame for allocation. |
| 1571 // ebx - vector | 1573 // ebx - vector |
| 1572 // edx - slot | 1574 // edx - slot |
| 1573 // edi - function | 1575 // edi - function |
| 1574 { | 1576 { |
| 1575 FrameScope scope(masm, StackFrame::INTERNAL); | 1577 FrameScope scope(masm, StackFrame::INTERNAL); |
| 1576 CreateWeakCellStub create_stub(isolate); | 1578 CreateWeakCellStub create_stub(isolate); |
| 1577 __ push(edi); | 1579 __ push(edi); |
| 1580 __ push(esi); |
| 1578 __ CallStub(&create_stub); | 1581 __ CallStub(&create_stub); |
| 1582 __ pop(esi); |
| 1579 __ pop(edi); | 1583 __ pop(edi); |
| 1580 } | 1584 } |
| 1581 | 1585 |
| 1582 __ jmp(&call_function); | 1586 __ jmp(&call_function); |
| 1583 | 1587 |
| 1584 // We are here because tracing is on or we encountered a MISS case we can't | 1588 // We are here because tracing is on or we encountered a MISS case we can't |
| 1585 // handle here. | 1589 // handle here. |
| 1586 __ bind(&miss); | 1590 __ bind(&miss); |
| 1587 GenerateMiss(masm); | 1591 GenerateMiss(masm); |
| 1588 | 1592 |
| (...skipping 3898 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5487 kStackUnwindSpace, nullptr, return_value_operand, | 5491 kStackUnwindSpace, nullptr, return_value_operand, |
| 5488 NULL); | 5492 NULL); |
| 5489 } | 5493 } |
| 5490 | 5494 |
| 5491 #undef __ | 5495 #undef __ |
| 5492 | 5496 |
| 5493 } // namespace internal | 5497 } // namespace internal |
| 5494 } // namespace v8 | 5498 } // namespace v8 |
| 5495 | 5499 |
| 5496 #endif // V8_TARGET_ARCH_IA32 | 5500 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |