Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(306)

Side by Side Diff: src/ia32/full-codegen-ia32.cc

Issue 6682026: Fix SmiCompare on 64 bit to distinguish between comparisons where... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 3031 matching lines...) Expand 10 before | Expand all | Expand 10 after
3042 Label slow_case; 3042 Label slow_case;
3043 Register object = eax; 3043 Register object = eax;
3044 Register index_1 = ebx; 3044 Register index_1 = ebx;
3045 Register index_2 = ecx; 3045 Register index_2 = ecx;
3046 Register elements = edi; 3046 Register elements = edi;
3047 Register temp = edx; 3047 Register temp = edx;
3048 __ mov(object, Operand(esp, 2 * kPointerSize)); 3048 __ mov(object, Operand(esp, 2 * kPointerSize));
3049 // Fetch the map and check if array is in fast case. 3049 // Fetch the map and check if array is in fast case.
3050 // Check that object doesn't require security checks and 3050 // Check that object doesn't require security checks and
3051 // has no indexed interceptor. 3051 // has no indexed interceptor.
3052 __ CmpObjectType(object, FIRST_JS_OBJECT_TYPE, temp); 3052 __ CmpObjectType(object, JS_OBJECT_TYPE, temp);
Lasse Reichstein 2011/03/15 09:07:01 JS_ARRAY_TYPE
Erik Corry 2011/03/15 10:00:50 Done.
3053 __ j(below, &slow_case); 3053 __ j(not_equal, &slow_case);
3054 __ test_b(FieldOperand(temp, Map::kBitFieldOffset), 3054 __ test_b(FieldOperand(temp, Map::kBitFieldOffset),
3055 KeyedLoadIC::kSlowCaseBitFieldMask); 3055 KeyedLoadIC::kSlowCaseBitFieldMask);
3056 __ j(not_zero, &slow_case); 3056 __ j(not_zero, &slow_case);
3057 3057
3058 // Check the object's elements are in fast case and writable. 3058 // Check the object's elements are in fast case and writable.
3059 __ mov(elements, FieldOperand(object, JSObject::kElementsOffset)); 3059 __ mov(elements, FieldOperand(object, JSObject::kElementsOffset));
3060 __ cmp(FieldOperand(elements, HeapObject::kMapOffset), 3060 __ cmp(FieldOperand(elements, HeapObject::kMapOffset),
3061 Immediate(Factory::fixed_array_map())); 3061 Immediate(Factory::fixed_array_map()));
3062 __ j(not_equal, &slow_case); 3062 __ j(not_equal, &slow_case);
3063 3063
(...skipping 1195 matching lines...) Expand 10 before | Expand all | Expand 10 after
4259 // And return. 4259 // And return.
4260 __ ret(0); 4260 __ ret(0);
4261 } 4261 }
4262 4262
4263 4263
4264 #undef __ 4264 #undef __
4265 4265
4266 } } // namespace v8::internal 4266 } } // namespace v8::internal
4267 4267
4268 #endif // V8_TARGET_ARCH_IA32 4268 #endif // V8_TARGET_ARCH_IA32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698