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 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_IA32 | 7 #if V8_TARGET_ARCH_IA32 |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/base/division-by-constant.h" | 10 #include "src/base/division-by-constant.h" |
(...skipping 878 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
889 Nop(kNoCodeAgeSequenceLength - Assembler::kCallInstructionLength); | 889 Nop(kNoCodeAgeSequenceLength - Assembler::kCallInstructionLength); |
890 } else { | 890 } else { |
891 push(ebp); // Caller's frame pointer. | 891 push(ebp); // Caller's frame pointer. |
892 mov(ebp, esp); | 892 mov(ebp, esp); |
893 push(esi); // Callee's context. | 893 push(esi); // Callee's context. |
894 push(edi); // Callee's JS function. | 894 push(edi); // Callee's JS function. |
895 } | 895 } |
896 } | 896 } |
897 | 897 |
898 | 898 |
| 899 void MacroAssembler::EnterFrame(StackFrame::Type type, |
| 900 bool load_constant_pool_pointer_reg) { |
| 901 // Constant pool not implemented on ia32. |
| 902 UNREACHABLE(); |
| 903 } |
| 904 |
| 905 |
899 void MacroAssembler::EnterFrame(StackFrame::Type type) { | 906 void MacroAssembler::EnterFrame(StackFrame::Type type) { |
900 push(ebp); | 907 push(ebp); |
901 mov(ebp, esp); | 908 mov(ebp, esp); |
902 push(esi); | 909 push(esi); |
903 push(Immediate(Smi::FromInt(type))); | 910 push(Immediate(Smi::FromInt(type))); |
904 push(Immediate(CodeObject())); | 911 push(Immediate(CodeObject())); |
905 if (emit_debug_code()) { | 912 if (emit_debug_code()) { |
906 cmp(Operand(esp, 0), Immediate(isolate()->factory()->undefined_value())); | 913 cmp(Operand(esp, 0), Immediate(isolate()->factory()->undefined_value())); |
907 Check(not_equal, kCodeObjectNotProperlyPatched); | 914 Check(not_equal, kCodeObjectNotProperlyPatched); |
908 } | 915 } |
(...skipping 2482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3391 if (mag.shift > 0) sar(edx, mag.shift); | 3398 if (mag.shift > 0) sar(edx, mag.shift); |
3392 mov(eax, dividend); | 3399 mov(eax, dividend); |
3393 shr(eax, 31); | 3400 shr(eax, 31); |
3394 add(edx, eax); | 3401 add(edx, eax); |
3395 } | 3402 } |
3396 | 3403 |
3397 | 3404 |
3398 } } // namespace v8::internal | 3405 } } // namespace v8::internal |
3399 | 3406 |
3400 #endif // V8_TARGET_ARCH_IA32 | 3407 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |