Reviewers: danno, mvstanton, paul.l..., gergely.kis.imgtec, akos.palfi.imgtec, dusmil.imgtec,

Description:
MIPS: Updates to maintain flag --vector-ics

Port r24458 (18af11b)

Original commit message:
Experimental feature vector-ics needs some maintenance.

BUG=

Please review this at https://codereview.chromium.org/636163002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+12, -2 lines):
  M src/mips64/debug-mips64.cc
  M src/mips64/full-codegen-mips64.cc


Index: src/mips64/debug-mips64.cc
diff --git a/src/mips64/debug-mips64.cc b/src/mips64/debug-mips64.cc
index 831dc4e45882dc2f67e13c62e7523f3f23da9eac..0bb0c4a802da07a9e413924291d16ce1b43a4cb0 100644
--- a/src/mips64/debug-mips64.cc
+++ b/src/mips64/debug-mips64.cc
@@ -190,7 +190,11 @@ void DebugCodegen::GenerateCallICStubDebugBreak(MacroAssembler* masm) {
 void DebugCodegen::GenerateLoadICDebugBreak(MacroAssembler* masm) {
   Register receiver = LoadDescriptor::ReceiverRegister();
   Register name = LoadDescriptor::NameRegister();
-  Generate_DebugBreakCallHelper(masm, receiver.bit() | name.bit(), 0);
+  RegList regs = receiver.bit() | name.bit();
+  if (FLAG_vector_ics) {
+    regs |= VectorLoadICTrampolineDescriptor::SlotRegister().bit();
+  }
+  Generate_DebugBreakCallHelper(masm, regs, 0);
 }


Index: src/mips64/full-codegen-mips64.cc
diff --git a/src/mips64/full-codegen-mips64.cc b/src/mips64/full-codegen-mips64.cc index 31932eccd9da327092e0bd442ed587044ff91d24..7430c8e36186fa513a2ef024be777d4cc6fe3f44 100644
--- a/src/mips64/full-codegen-mips64.cc
+++ b/src/mips64/full-codegen-mips64.cc
@@ -1346,7 +1346,13 @@ void FullCodeGenerator::EmitLoadHomeObject(SuperReference* expr) { Handle<Symbol> home_object_symbol(isolate()->heap()->home_object_symbol());
   __ li(LoadDescriptor::NameRegister(), home_object_symbol);

-  CallLoadIC(NOT_CONTEXTUAL, expr->HomeObjectFeedbackId());
+  if (FLAG_vector_ics) {
+    __ li(VectorLoadICDescriptor::SlotRegister(),
+          Operand(Smi::FromInt(expr->HomeObjectFeedbackSlot())));
+    CallLoadIC(NOT_CONTEXTUAL);
+  } else {
+    CallLoadIC(NOT_CONTEXTUAL, expr->HomeObjectFeedbackId());
+  }

   Label done;
__ Branch(&done, ne, v0, Operand(isolate()->factory()->undefined_value()));


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to