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

Unified Diff: src/arm64/ic-arm64.cc

Issue 356713003: Use IC register definitions in platform files. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Ports and comments. 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 side-by-side diff with in-line comments
Download patch
Index: src/arm64/ic-arm64.cc
diff --git a/src/arm64/ic-arm64.cc b/src/arm64/ic-arm64.cc
index d42e68a36cf923421f3c4060314f3b610efb8128..3c87831c616f94ad107004f341402ac847a83fba 100644
--- a/src/arm64/ic-arm64.cc
+++ b/src/arm64/ic-arm64.cc
@@ -412,6 +412,8 @@ void LoadIC::GenerateMegamorphic(MacroAssembler* masm) {
// -- lr : return address
// -- x0 : receiver
// -----------------------------------
+ ASSERT(x0.is(ReceiverRegister()));
+ ASSERT(x2.is(NameRegister()));
// Probe the stub cache.
Code::Flags flags = Code::ComputeHandlerFlags(Code::LOAD_IC);
@@ -429,6 +431,8 @@ void LoadIC::GenerateNormal(MacroAssembler* masm) {
// -- lr : return address
// -- x0 : receiver
// -----------------------------------
+ ASSERT(x0.is(ReceiverRegister()));
+ ASSERT(x2.is(NameRegister()));
Label miss, slow;
GenerateNameDictionaryReceiverCheck(masm, x0, x1, x3, x4, &miss);
@@ -449,9 +453,7 @@ void LoadIC::GenerateNormal(MacroAssembler* masm) {
void LoadIC::GenerateMiss(MacroAssembler* masm) {
// ----------- S t a t e -------------
- // -- x2 : name
// -- lr : return address
- // -- x0 : receiver
// -----------------------------------
Isolate* isolate = masm->isolate();
ASM_LOCATION("LoadIC::GenerateMiss");
@@ -459,7 +461,7 @@ void LoadIC::GenerateMiss(MacroAssembler* masm) {
__ IncrementCounter(isolate->counters()->load_miss(), 1, x3, x4);
// Perform tail call to the entry.
- __ Push(x0, x2);
+ __ Push(ReceiverRegister(), NameRegister());
ExternalReference ref =
ExternalReference(IC_Utility(kLoadIC_Miss), isolate);
__ TailCallExternalReference(ref, 2, 1);
@@ -468,12 +470,9 @@ void LoadIC::GenerateMiss(MacroAssembler* masm) {
void LoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) {
// ---------- S t a t e --------------
- // -- x2 : name
// -- lr : return address
- // -- x0 : receiver
// -----------------------------------
-
- __ Push(x0, x2);
+ __ Push(ReceiverRegister(), NameRegister());
__ TailCallRuntime(Runtime::kGetProperty, 2, 1);
}
@@ -484,6 +483,8 @@ void KeyedLoadIC::GenerateSloppyArguments(MacroAssembler* masm) {
// -- x0 : key
// -- x1 : receiver
// -----------------------------------
+ ASSERT(x1.is(ReceiverRegister()));
+ ASSERT(x0.is(NameRegister()));
Register result = x0;
Register key = x0;
Register receiver = x1;
@@ -518,7 +519,6 @@ void KeyedStoreIC::GenerateSloppyArguments(MacroAssembler* masm) {
// -- x1 : key
// -- x2 : receiver
// -----------------------------------
-
Label slow, notin;
Register value = x0;
@@ -565,14 +565,12 @@ void KeyedStoreIC::GenerateSloppyArguments(MacroAssembler* masm) {
void KeyedLoadIC::GenerateMiss(MacroAssembler* masm) {
// ---------- S t a t e --------------
// -- lr : return address
- // -- x0 : key
- // -- x1 : receiver
// -----------------------------------
Isolate* isolate = masm->isolate();
__ IncrementCounter(isolate->counters()->keyed_load_miss(), 1, x10, x11);
- __ Push(x1, x0);
+ __ Push(ReceiverRegister(), NameRegister());
// Perform tail call to the entry.
ExternalReference ref =
@@ -592,13 +590,8 @@ const Register KeyedLoadIC::NameRegister() { return x0; }
void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) {
// ---------- S t a t e --------------
// -- lr : return address
- // -- x0 : key
- // -- x1 : receiver
// -----------------------------------
- Register key = x0;
- Register receiver = x1;
-
- __ Push(receiver, key);
+ __ Push(ReceiverRegister(), NameRegister());
__ TailCallRuntime(Runtime::kKeyedGetProperty, 2, 1);
}
@@ -772,6 +765,8 @@ void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) {
// -- x0 : key
// -- x1 : receiver
// -----------------------------------
+ ASSERT(x1.is(ReceiverRegister()));
+ ASSERT(x0.is(NameRegister()));
Label slow, check_name, index_smi, index_name;
Register key = x0;
@@ -807,6 +802,8 @@ void KeyedLoadIC::GenerateString(MacroAssembler* masm) {
// -- x0 : key (index)
// -- x1 : receiver
// -----------------------------------
+ ASSERT(x1.is(ReceiverRegister()));
+ ASSERT(x0.is(NameRegister()));
Label miss;
Register index = x0;
@@ -839,6 +836,8 @@ void KeyedLoadIC::GenerateIndexedInterceptor(MacroAssembler* masm) {
// -- x0 : key
// -- x1 : receiver
// -----------------------------------
+ ASSERT(x1.is(ReceiverRegister()));
+ ASSERT(x0.is(NameRegister()));
Label slow;
Register key = x0;
Register receiver = x1;

Powered by Google App Engine
This is Rietveld 408576698