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

Side by Side Diff: src/arm64/stub-cache-arm64.cc

Issue 356713003: Use IC register definitions in platform files. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: nits. 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 | « src/arm64/lithium-codegen-arm64.cc ('k') | src/code-stubs.cc » ('j') | 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 #if V8_TARGET_ARCH_ARM64 7 #if V8_TARGET_ARCH_ARM64
8 8
9 #include "src/codegen.h" 9 #include "src/codegen.h"
10 #include "src/ic-inl.h" 10 #include "src/ic-inl.h"
(...skipping 1436 matching lines...) Expand 10 before | Expand all | Expand 10 after
1447 #undef __ 1447 #undef __
1448 #define __ ACCESS_MASM(masm) 1448 #define __ ACCESS_MASM(masm)
1449 1449
1450 void KeyedLoadStubCompiler::GenerateLoadDictionaryElement( 1450 void KeyedLoadStubCompiler::GenerateLoadDictionaryElement(
1451 MacroAssembler* masm) { 1451 MacroAssembler* masm) {
1452 // ---------- S t a t e -------------- 1452 // ---------- S t a t e --------------
1453 // -- lr : return address 1453 // -- lr : return address
1454 // -- x0 : key 1454 // -- x0 : key
1455 // -- x1 : receiver 1455 // -- x1 : receiver
1456 // ----------------------------------- 1456 // -----------------------------------
1457 ASSERT(x1.is(KeyedLoadIC::ReceiverRegister()));
1458 ASSERT(x0.is(KeyedLoadIC::NameRegister()));
1457 Label slow, miss; 1459 Label slow, miss;
1458 1460
1459 Register result = x0; 1461 Register result = x0;
1460 Register key = x0; 1462 Register key = x0;
1461 Register receiver = x1; 1463 Register receiver = x1;
1462 1464
1463 __ JumpIfNotSmi(key, &miss); 1465 __ JumpIfNotSmi(key, &miss);
1464 __ Ldr(x4, FieldMemOperand(receiver, JSObject::kElementsOffset)); 1466 __ Ldr(x4, FieldMemOperand(receiver, JSObject::kElementsOffset));
1465 __ LoadFromNumberDictionary(&slow, x4, key, result, x2, x3, x5, x6); 1467 __ LoadFromNumberDictionary(&slow, x4, key, result, x2, x3, x5, x6);
1466 __ Ret(); 1468 __ Ret();
1467 1469
1468 __ Bind(&slow); 1470 __ Bind(&slow);
1469 __ IncrementCounter( 1471 __ IncrementCounter(
1470 masm->isolate()->counters()->keyed_load_external_array_slow(), 1, x2, x3); 1472 masm->isolate()->counters()->keyed_load_external_array_slow(), 1, x2, x3);
1471 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Slow); 1473 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Slow);
1472 1474
1473 // Miss case, call the runtime. 1475 // Miss case, call the runtime.
1474 __ Bind(&miss); 1476 __ Bind(&miss);
1475 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); 1477 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss);
1476 } 1478 }
1477 1479
1478 1480
1479 } } // namespace v8::internal 1481 } } // namespace v8::internal
1480 1482
1481 #endif // V8_TARGET_ARCH_ARM64 1483 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm64/lithium-codegen-arm64.cc ('k') | src/code-stubs.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698