Revision: 16840
Author:   [email protected]
Date:     Thu Sep 19 15:38:51 2013 UTC
Log:      MIPS: Add HLoadRoot hydrogen instruction.

Port r16807 (257f48f)

BUG=
[email protected]

Review URL: https://codereview.chromium.org/24134004

Patch from Balazs Kilvady <[email protected]>.
http://code.google.com/p/v8/source/detail?r=16840

Modified:
 /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc
 /branches/bleeding_edge/src/mips/lithium-mips.cc
 /branches/bleeding_edge/src/mips/lithium-mips.h

=======================================
--- /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Thu Sep 19 09:07:27 2013 UTC +++ /branches/bleeding_edge/src/mips/lithium-codegen-mips.cc Thu Sep 19 15:38:51 2013 UTC
@@ -3000,6 +3000,12 @@
   // All done.
   __ bind(&done);
 }
+
+
+void LCodeGen::DoLoadRoot(LLoadRoot* instr) {
+  Register result = ToRegister(instr->result());
+  __ LoadRoot(result, instr->index());
+}


 void LCodeGen::DoLoadExternalArrayPointer(
=======================================
--- /branches/bleeding_edge/src/mips/lithium-mips.cc Thu Sep 19 15:20:13 2013 UTC +++ /branches/bleeding_edge/src/mips/lithium-mips.cc Thu Sep 19 15:38:51 2013 UTC
@@ -2069,6 +2069,11 @@
   return AssignEnvironment(DefineAsRegister(
       new(zone()) LLoadFunctionPrototype(UseRegister(instr->function()))));
 }
+
+
+LInstruction* LChunkBuilder::DoLoadRoot(HLoadRoot* instr) {
+  return DefineAsRegister(new(zone()) LLoadRoot);
+}


 LInstruction* LChunkBuilder::DoLoadExternalArrayPointer(
=======================================
--- /branches/bleeding_edge/src/mips/lithium-mips.h Tue Sep 17 11:27:24 2013 UTC +++ /branches/bleeding_edge/src/mips/lithium-mips.h Thu Sep 19 15:38:51 2013 UTC
@@ -119,6 +119,7 @@
   V(LazyBailout)                                \
   V(LoadContextSlot)                            \
   V(LoadExternalArrayPointer)                   \
+  V(LoadRoot)                                   \
   V(LoadFieldByIndex)                           \
   V(LoadFunctionPrototype)                      \
   V(LoadGlobalCell)                             \
@@ -1559,6 +1560,15 @@
 };


+class LLoadRoot V8_FINAL : public LTemplateInstruction<1, 0, 0> {
+ public:
+  DECLARE_CONCRETE_INSTRUCTION(LoadRoot, "load-root")
+  DECLARE_HYDROGEN_ACCESSOR(LoadRoot)
+
+  Heap::RootListIndex index() const { return hydrogen()->index(); }
+};
+
+
 class LLoadExternalArrayPointer V8_FINAL
     : public LTemplateInstruction<1, 1, 0> {
  public:

--
--
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/groups/opt_out.

Reply via email to