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

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

Issue 1631583002: [for-in] Further refactorings and unification around for-in. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 10 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
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/crankshaft/arm64/lithium-codegen-arm64.h" 5 #include "src/crankshaft/arm64/lithium-codegen-arm64.h"
6 6
7 #include "src/arm64/frames-arm64.h" 7 #include "src/arm64/frames-arm64.h"
8 #include "src/base/bits.h" 8 #include "src/base/bits.h"
9 #include "src/code-factory.h" 9 #include "src/code-factory.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 2711 matching lines...) Expand 10 before | Expand all | Expand 10 after
2722 2722
2723 Label use_cache, call_runtime; 2723 Label use_cache, call_runtime;
2724 __ CheckEnumCache(object, x5, x1, x2, x3, x4, &call_runtime); 2724 __ CheckEnumCache(object, x5, x1, x2, x3, x4, &call_runtime);
2725 2725
2726 __ Ldr(object, FieldMemOperand(object, HeapObject::kMapOffset)); 2726 __ Ldr(object, FieldMemOperand(object, HeapObject::kMapOffset));
2727 __ B(&use_cache); 2727 __ B(&use_cache);
2728 2728
2729 // Get the set of properties to enumerate. 2729 // Get the set of properties to enumerate.
2730 __ Bind(&call_runtime); 2730 __ Bind(&call_runtime);
2731 __ Push(object); 2731 __ Push(object);
2732 CallRuntime(Runtime::kGetPropertyNamesFast, instr); 2732 CallRuntime(Runtime::kForInEnumerate, instr);
2733 __ Bind(&use_cache); 2733 __ Bind(&use_cache);
2734 } 2734 }
2735 2735
2736 2736
2737 void LCodeGen::DoGetCachedArrayIndex(LGetCachedArrayIndex* instr) { 2737 void LCodeGen::DoGetCachedArrayIndex(LGetCachedArrayIndex* instr) {
2738 Register input = ToRegister(instr->value()); 2738 Register input = ToRegister(instr->value());
2739 Register result = ToRegister(instr->result()); 2739 Register result = ToRegister(instr->result());
2740 2740
2741 __ AssertString(input); 2741 __ AssertString(input);
2742 2742
(...skipping 3017 matching lines...) Expand 10 before | Expand all | Expand 10 after
5760 Handle<ScopeInfo> scope_info = instr->scope_info(); 5760 Handle<ScopeInfo> scope_info = instr->scope_info();
5761 __ Push(scope_info); 5761 __ Push(scope_info);
5762 __ Push(ToRegister(instr->function())); 5762 __ Push(ToRegister(instr->function()));
5763 CallRuntime(Runtime::kPushBlockContext, instr); 5763 CallRuntime(Runtime::kPushBlockContext, instr);
5764 RecordSafepoint(Safepoint::kNoLazyDeopt); 5764 RecordSafepoint(Safepoint::kNoLazyDeopt);
5765 } 5765 }
5766 5766
5767 5767
5768 } // namespace internal 5768 } // namespace internal
5769 } // namespace v8 5769 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698