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

Side by Side Diff: src/arm64/lithium-codegen-arm64.cc

Issue 330593003: Fix register mixup in arm64's Crankshafted typeof() == 'object' (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 6 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
« 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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 #include "src/arm64/lithium-codegen-arm64.h" 7 #include "src/arm64/lithium-codegen-arm64.h"
8 #include "src/arm64/lithium-gap-resolver-arm64.h" 8 #include "src/arm64/lithium-gap-resolver-arm64.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/stub-cache.h" 10 #include "src/stub-cache.h"
(...skipping 5878 matching lines...) Expand 10 before | Expand all | Expand 10 after
5889 5889
5890 __ JumpIfSmi(value, false_label); 5890 __ JumpIfSmi(value, false_label);
5891 if (!FLAG_harmony_typeof) { 5891 if (!FLAG_harmony_typeof) {
5892 __ JumpIfRoot(value, Heap::kNullValueRootIndex, true_label); 5892 __ JumpIfRoot(value, Heap::kNullValueRootIndex, true_label);
5893 } 5893 }
5894 __ JumpIfObjectType(value, map, scratch, 5894 __ JumpIfObjectType(value, map, scratch,
5895 FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, false_label, lt); 5895 FIRST_NONCALLABLE_SPEC_OBJECT_TYPE, false_label, lt);
5896 __ CompareInstanceType(map, scratch, LAST_NONCALLABLE_SPEC_OBJECT_TYPE); 5896 __ CompareInstanceType(map, scratch, LAST_NONCALLABLE_SPEC_OBJECT_TYPE);
5897 __ B(gt, false_label); 5897 __ B(gt, false_label);
5898 // Check for undetectable objects => false. 5898 // Check for undetectable objects => false.
5899 __ Ldrb(scratch, FieldMemOperand(value, Map::kBitFieldOffset)); 5899 __ Ldrb(scratch, FieldMemOperand(map, Map::kBitFieldOffset));
5900 EmitTestAndBranch(instr, eq, scratch, 1 << Map::kIsUndetectable); 5900 EmitTestAndBranch(instr, eq, scratch, 1 << Map::kIsUndetectable);
5901 5901
5902 } else { 5902 } else {
5903 __ B(false_label); 5903 __ B(false_label);
5904 } 5904 }
5905 } 5905 }
5906 5906
5907 5907
5908 void LCodeGen::DoUint32ToDouble(LUint32ToDouble* instr) { 5908 void LCodeGen::DoUint32ToDouble(LUint32ToDouble* instr) {
5909 __ Ucvtf(ToDoubleRegister(instr->result()), ToRegister32(instr->value())); 5909 __ Ucvtf(ToDoubleRegister(instr->result()), ToRegister32(instr->value()));
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
6052 Handle<ScopeInfo> scope_info = instr->scope_info(); 6052 Handle<ScopeInfo> scope_info = instr->scope_info();
6053 __ Push(scope_info); 6053 __ Push(scope_info);
6054 __ Push(ToRegister(instr->function())); 6054 __ Push(ToRegister(instr->function()));
6055 CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr); 6055 CallRuntime(Runtime::kHiddenPushBlockContext, 2, instr);
6056 RecordSafepoint(Safepoint::kNoLazyDeopt); 6056 RecordSafepoint(Safepoint::kNoLazyDeopt);
6057 } 6057 }
6058 6058
6059 6059
6060 6060
6061 } } // namespace v8::internal 6061 } } // namespace v8::internal
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