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.