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

Unified Diff: src/lithium.h

Issue 93803003: Fixed Lithium environment generation bug for captured objects (created (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Move common code from LChunkBuilder into a (new) base class Created 7 years 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
« no previous file with comments | « src/ia32/lithium-ia32.cc ('k') | src/lithium.cc » ('j') | src/lithium.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/lithium.h
diff --git a/src/lithium.h b/src/lithium.h
index d4395f2d7ee39231f97f8773b991421fcff1930e..754f88da82184816de334a89daf09a86a55c1231 100644
--- a/src/lithium.h
+++ b/src/lithium.h
@@ -791,6 +791,35 @@ class LChunk : public ZoneObject {
};
+class LChunkBuilderBase BASE_EMBEDDED {
+ public:
+ explicit LChunkBuilderBase(Zone* zone)
+ : argument_count_(0),
+ zone_(zone) { }
+
+ virtual ~LChunkBuilderBase() { }
+
+ protected:
+ // An input operand in register, stack slot or a constant operand.
+ // Will not be moved to a register even if one is freely available.
+ virtual MUST_USE_RESULT LOperand* UseAny(HValue* value) = 0;
+
+ LEnvironment* CreateEnvironment(HEnvironment* hydrogen_env,
+ int* argument_index_accumulator,
+ ZoneList<HValue*>* objects_to_materialize);
+ void AddObjectToMaterialize(HValue* value,
+ ZoneList<HValue*>* objects_to_materialize,
+ LEnvironment* result);
+
+ Zone* zone() const { return zone_; }
+
+ int argument_count_;
+
+ private:
+ Zone* zone_;
+};
+
+
int StackSlotOffset(int index);
enum NumberUntagDMode {
« no previous file with comments | « src/ia32/lithium-ia32.cc ('k') | src/lithium.cc » ('j') | src/lithium.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698