| Index: src/ia32/codegen-ia32.cc
|
| ===================================================================
|
| --- src/ia32/codegen-ia32.cc (revision 4699)
|
| +++ src/ia32/codegen-ia32.cc (working copy)
|
| @@ -27,6 +27,8 @@
|
|
|
| #include "v8.h"
|
|
|
| +#if defined(V8_TARGET_ARCH_IA32)
|
| +
|
| #include "bootstrapper.h"
|
| #include "codegen-inl.h"
|
| #include "compiler.h"
|
| @@ -2979,6 +2981,7 @@
|
| int arg_count = args->length();
|
| for (int i = 0; i < arg_count; i++) {
|
| Load(args->at(i));
|
| + frame_->SpillTop();
|
| }
|
|
|
| // Record the position for debugging purposes.
|
| @@ -5730,6 +5733,7 @@
|
| int arg_count = args->length();
|
| for (int i = 0; i < arg_count; i++) {
|
| Load(args->at(i));
|
| + frame_->SpillTop();
|
| }
|
|
|
| // Prepare the stack for the call to ResolvePossiblyDirectEval.
|
| @@ -5779,6 +5783,7 @@
|
| int arg_count = args->length();
|
| for (int i = 0; i < arg_count; i++) {
|
| Load(args->at(i));
|
| + frame_->SpillTop();
|
| }
|
|
|
| // Push the name of the function onto the frame.
|
| @@ -5884,6 +5889,7 @@
|
| int arg_count = args->length();
|
| for (int i = 0; i < arg_count; i++) {
|
| Load(args->at(i));
|
| + frame_->SpillTop();
|
| }
|
|
|
| // Push the name of the function onto the frame.
|
| @@ -6159,11 +6165,11 @@
|
| __ mov(map.reg(), FieldOperand(obj.reg(), HeapObject::kMapOffset));
|
| __ movzx_b(map.reg(), FieldOperand(map.reg(), Map::kInstanceTypeOffset));
|
| __ cmp(map.reg(), FIRST_JS_OBJECT_TYPE);
|
| - destination()->false_target()->Branch(less);
|
| + destination()->false_target()->Branch(below);
|
| __ cmp(map.reg(), LAST_JS_OBJECT_TYPE);
|
| obj.Unuse();
|
| map.Unuse();
|
| - destination()->Split(less_equal);
|
| + destination()->Split(below_equal);
|
| }
|
|
|
|
|
| @@ -6276,7 +6282,7 @@
|
| __ mov(obj.reg(), FieldOperand(obj.reg(), HeapObject::kMapOffset));
|
| __ movzx_b(tmp.reg(), FieldOperand(obj.reg(), Map::kInstanceTypeOffset));
|
| __ cmp(tmp.reg(), FIRST_JS_OBJECT_TYPE);
|
| - null.Branch(less);
|
| + null.Branch(below);
|
|
|
| // As long as JS_FUNCTION_TYPE is the last instance type and it is
|
| // right after LAST_JS_OBJECT_TYPE, we can avoid checking for
|
| @@ -6866,7 +6872,7 @@
|
| // Check that object doesn't require security checks and
|
| // has no indexed interceptor.
|
| __ CmpObjectType(object.reg(), FIRST_JS_OBJECT_TYPE, tmp1.reg());
|
| - deferred->Branch(less);
|
| + deferred->Branch(below);
|
| __ movzx_b(tmp1.reg(), FieldOperand(tmp1.reg(), Map::kBitFieldOffset));
|
| __ test(tmp1.reg(), Immediate(KeyedLoadIC::kSlowCaseBitFieldMask));
|
| deferred->Branch(not_zero);
|
| @@ -8186,11 +8192,11 @@
|
| __ mov(map.reg(), FieldOperand(answer.reg(), HeapObject::kMapOffset));
|
| __ movzx_b(map.reg(), FieldOperand(map.reg(), Map::kInstanceTypeOffset));
|
| __ cmp(map.reg(), FIRST_JS_OBJECT_TYPE);
|
| - destination()->false_target()->Branch(less);
|
| + destination()->false_target()->Branch(below);
|
| __ cmp(map.reg(), LAST_JS_OBJECT_TYPE);
|
| answer.Unuse();
|
| map.Unuse();
|
| - destination()->Split(less_equal);
|
| + destination()->Split(below_equal);
|
| } else {
|
| // Uncommon case: typeof testing against a string literal that is
|
| // never returned from the typeof operator.
|
| @@ -11596,7 +11602,7 @@
|
| ASSERT(LAST_TYPE == JS_FUNCTION_TYPE);
|
| Label first_non_object;
|
| __ cmp(ecx, FIRST_JS_OBJECT_TYPE);
|
| - __ j(less, &first_non_object);
|
| + __ j(below, &first_non_object);
|
|
|
| // Return non-zero (eax is not zero)
|
| Label return_not_equal;
|
| @@ -11613,7 +11619,7 @@
|
| __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset));
|
|
|
| __ cmp(ecx, FIRST_JS_OBJECT_TYPE);
|
| - __ j(greater_equal, &return_not_equal);
|
| + __ j(above_equal, &return_not_equal);
|
|
|
| // Check for oddballs: true, false, null, undefined.
|
| __ cmp(ecx, ODDBALL_TYPE);
|
| @@ -12261,9 +12267,9 @@
|
| __ mov(eax, FieldOperand(eax, HeapObject::kMapOffset)); // eax - object map
|
| __ movzx_b(ecx, FieldOperand(eax, Map::kInstanceTypeOffset)); // ecx - type
|
| __ cmp(ecx, FIRST_JS_OBJECT_TYPE);
|
| - __ j(less, &slow, not_taken);
|
| + __ j(below, &slow, not_taken);
|
| __ cmp(ecx, LAST_JS_OBJECT_TYPE);
|
| - __ j(greater, &slow, not_taken);
|
| + __ j(above, &slow, not_taken);
|
|
|
| // Get the prototype of the function.
|
| __ mov(edx, Operand(esp, 1 * kPointerSize)); // 1 ~ return address
|
| @@ -12291,9 +12297,9 @@
|
| __ mov(ecx, FieldOperand(ebx, HeapObject::kMapOffset));
|
| __ movzx_b(ecx, FieldOperand(ecx, Map::kInstanceTypeOffset));
|
| __ cmp(ecx, FIRST_JS_OBJECT_TYPE);
|
| - __ j(less, &slow, not_taken);
|
| + __ j(below, &slow, not_taken);
|
| __ cmp(ecx, LAST_JS_OBJECT_TYPE);
|
| - __ j(greater, &slow, not_taken);
|
| + __ j(above, &slow, not_taken);
|
|
|
| // Register mapping:
|
| // eax is object map.
|
| @@ -13291,3 +13297,5 @@
|
| #undef __
|
|
|
| } } // namespace v8::internal
|
| +
|
| +#endif // V8_TARGET_ARCH_IA32
|
|
|