Revision: 18792
Author: [email protected]
Date: Thu Jan 23 16:59:07 2014 UTC
Log: A64: Implement LDeclareGlobals.
BUG=none
[email protected]
Review URL: https://codereview.chromium.org/135963003
http://code.google.com/p/v8/source/detail?r=18792
Modified:
/branches/experimental/a64/src/a64/lithium-a64.cc
/branches/experimental/a64/src/a64/lithium-a64.h
/branches/experimental/a64/src/a64/lithium-codegen-a64.cc
=======================================
--- /branches/experimental/a64/src/a64/lithium-a64.cc Thu Jan 23 13:53:20
2014 UTC
+++ /branches/experimental/a64/src/a64/lithium-a64.cc Thu Jan 23 16:59:07
2014 UTC
@@ -1322,7 +1322,7 @@
LInstruction* LChunkBuilder::DoDeclareGlobals(HDeclareGlobals* instr) {
- UNIMPLEMENTED_INSTRUCTION();
+ return MarkAsCall(new(zone()) LDeclareGlobals, instr);
}
=======================================
--- /branches/experimental/a64/src/a64/lithium-a64.h Thu Jan 23 13:53:20
2014 UTC
+++ /branches/experimental/a64/src/a64/lithium-a64.h Thu Jan 23 16:59:07
2014 UTC
@@ -90,6 +90,7 @@
V(Context) \
V(DateField) \
V(DebugBreak) \
+ V(DeclareGlobals) \
V(Deoptimize) \
V(DivI) \
V(DoubleToI) \
@@ -1190,6 +1191,13 @@
};
+class LDeclareGlobals: public LTemplateInstruction<0, 0, 0> {
+ public:
+ DECLARE_CONCRETE_INSTRUCTION(DeclareGlobals, "declare-globals")
+ DECLARE_HYDROGEN_ACCESSOR(DeclareGlobals)
+};
+
+
class LDeoptimize: public LTemplateInstruction<0, 0, 0> {
public:
DECLARE_CONCRETE_INSTRUCTION(Deoptimize, "deoptimize")
=======================================
--- /branches/experimental/a64/src/a64/lithium-codegen-a64.cc Thu Jan 23
13:53:20 2014 UTC
+++ /branches/experimental/a64/src/a64/lithium-codegen-a64.cc Thu Jan 23
16:59:07 2014 UTC
@@ -4335,6 +4335,19 @@
void LCodeGen::DoDebugBreak(LDebugBreak* instr) {
__ Debug("LDebugBreak", 0, BREAK);
}
+
+
+void LCodeGen::DoDeclareGlobals(LDeclareGlobals* instr) {
+ Register scratch1 = x5;
+ Register scratch2 = x6;
+ ASSERT(instr->IsMarkedAsCall());
+
+ ASM_UNIMPLEMENTED_BREAK("DoDeclareGlobals");
+ __ LoadHeapObject(scratch1, instr->hydrogen()->pairs());
+ __ Mov(scratch2, Operand(Smi::FromInt(instr->hydrogen()->flags())));
+ __ Push(cp, scratch1, scratch2); // The context is the first argument.
+ CallRuntime(Runtime::kDeclareGlobals, 3, instr);
+}
void LCodeGen::DoDeferredStackCheck(LStackCheck* instr) {
--
--
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.