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

Unified Diff: src/x64/lithium-x64.h

Issue 9837002: Support arguments object access from inlined functions. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: revert heap.cc Created 8 years, 9 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/x64/lithium-x64.h
diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h
index 2d8fd2ecce26ccddc958c3ac07ff1d3a9b50ae58..b9e390ee4ecf72bae7de0a209e01ae233ca178f2 100644
--- a/src/x64/lithium-x64.h
+++ b/src/x64/lithium-x64.h
@@ -179,7 +179,8 @@ class LCodeGen;
V(CheckMapValue) \
V(LoadFieldByIndex) \
V(DateField) \
- V(WrapReceiver)
+ V(WrapReceiver) \
+ V(Pop)
#define DECLARE_CONCRETE_INSTRUCTION(type, mnemonic) \
@@ -535,9 +536,15 @@ class LArgumentsLength: public LTemplateInstruction<1, 1, 0> {
class LArgumentsElements: public LTemplateInstruction<1, 0, 0> {
public:
- LArgumentsElements() { }
+ explicit LArgumentsElements(bool from_inlined)
+ : from_inlined_(from_inlined) { }
+
+ bool from_inlined() const { return from_inlined_; }
DECLARE_CONCRETE_INSTRUCTION(ArgumentsElements, "arguments-elements")
+
+ private:
+ bool from_inlined_;
};
@@ -1358,6 +1365,19 @@ class LPushArgument: public LTemplateInstruction<0, 1, 0> {
};
+class LPop: public LTemplateInstruction<0, 0, 0> {
+ public:
+ explicit LPop(int count) : count_(count) { }
+
+ int count() const { return count_; }
+
+ DECLARE_CONCRETE_INSTRUCTION(Pop, "pop")
+
+ private:
+ int count_;
+};
+
+
class LThisFunction: public LTemplateInstruction<1, 0, 0> {
public:
DECLARE_CONCRETE_INSTRUCTION(ThisFunction, "this-function")

Powered by Google App Engine
This is Rietveld 408576698