| 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 {
|
|
|