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

Side by Side Diff: src/builtins/mips64/builtins-mips64.cc

Issue 2641823002: [MIPS64] Fix tagged vs. untagged SMI comparison in Apply builtin. (Closed)
Patch Set: Created 3 years, 11 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_MIPS64 5 #if V8_TARGET_ARCH_MIPS64
6 6
7 #include "src/codegen.h" 7 #include "src/codegen.h"
8 #include "src/debug/debug.h" 8 #include "src/debug/debug.h"
9 #include "src/deoptimizer.h" 9 #include "src/deoptimizer.h"
10 #include "src/full-codegen/full-codegen.h" 10 #include "src/full-codegen/full-codegen.h"
(...skipping 2176 matching lines...) Expand 10 before | Expand all | Expand 10 after
2187 __ Branch(&done_create); 2187 __ Branch(&done_create);
2188 2188
2189 // For holey JSArrays we need to check that the array prototype chain 2189 // For holey JSArrays we need to check that the array prototype chain
2190 // protector is intact and our prototype is the Array.prototype actually. 2190 // protector is intact and our prototype is the Array.prototype actually.
2191 __ bind(&create_holey_array); 2191 __ bind(&create_holey_array);
2192 __ ld(a2, FieldMemOperand(a2, Map::kPrototypeOffset)); 2192 __ ld(a2, FieldMemOperand(a2, Map::kPrototypeOffset));
2193 __ ld(at, ContextMemOperand(native_context, 2193 __ ld(at, ContextMemOperand(native_context,
2194 Context::INITIAL_ARRAY_PROTOTYPE_INDEX)); 2194 Context::INITIAL_ARRAY_PROTOTYPE_INDEX));
2195 __ Branch(&create_runtime, ne, a2, Operand(at)); 2195 __ Branch(&create_runtime, ne, a2, Operand(at));
2196 __ LoadRoot(at, Heap::kArrayProtectorRootIndex); 2196 __ LoadRoot(at, Heap::kArrayProtectorRootIndex);
2197 __ lw(a2, UntagSmiFieldMemOperand(at, PropertyCell::kValueOffset)); 2197 __ lw(a2, FieldMemOperand(at, PropertyCell::kValueOffset));
2198 __ Branch(&create_runtime, ne, a2, 2198 __ Branch(&create_runtime, ne, a2,
2199 Operand(Smi::FromInt(Isolate::kProtectorValid))); 2199 Operand(Smi::FromInt(Isolate::kProtectorValid)));
2200 __ lw(a2, UntagSmiFieldMemOperand(a0, JSArray::kLengthOffset)); 2200 __ lw(a2, UntagSmiFieldMemOperand(a0, JSArray::kLengthOffset));
2201 __ ld(a0, FieldMemOperand(a0, JSArray::kElementsOffset)); 2201 __ ld(a0, FieldMemOperand(a0, JSArray::kElementsOffset));
2202 __ Branch(&done_create); 2202 __ Branch(&done_create);
2203 2203
2204 // Try to create the list from a JSArray object. 2204 // Try to create the list from a JSArray object.
2205 __ bind(&create_array); 2205 __ bind(&create_array);
2206 __ lbu(t1, FieldMemOperand(a2, Map::kBitField2Offset)); 2206 __ lbu(t1, FieldMemOperand(a2, Map::kBitField2Offset));
2207 __ DecodeField<Map::ElementsKindBits>(t1); 2207 __ DecodeField<Map::ElementsKindBits>(t1);
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
2984 __ break_(0xCC); 2984 __ break_(0xCC);
2985 } 2985 }
2986 } 2986 }
2987 2987
2988 #undef __ 2988 #undef __
2989 2989
2990 } // namespace internal 2990 } // namespace internal
2991 } // namespace v8 2991 } // namespace v8
2992 2992
2993 #endif // V8_TARGET_ARCH_MIPS64 2993 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698