| Index: src/ia32/lithium-ia32.h
|
| diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h
|
| index 53ebec239e68b9b98a40103b21574619996dde87..e752b714e4a6040d056fac630b37e809cb2c6201 100644
|
| --- a/src/ia32/lithium-ia32.h
|
| +++ b/src/ia32/lithium-ia32.h
|
| @@ -2237,14 +2237,18 @@ class LChunkBuilder BASE_EMBEDDED {
|
| template<int I, int T>
|
| LInstruction* DefineFixedDouble(LTemplateInstruction<1, I, T>* instr,
|
| XMMRegister reg);
|
| + // Assigns an environment to an instruction. An instruction which can
|
| + // deoptimize must have an environment.
|
| LInstruction* AssignEnvironment(LInstruction* instr);
|
| + // Assigns a pointer map to an instruction. An instruction which can
|
| + // trigger a GC or a lazy deoptimization must have a pointer map.
|
| LInstruction* AssignPointerMap(LInstruction* instr);
|
|
|
| enum CanDeoptimize { CAN_DEOPTIMIZE_EAGERLY, CANNOT_DEOPTIMIZE_EAGERLY };
|
|
|
| - // By default we assume that instruction sequences generated for calls
|
| - // cannot deoptimize eagerly and we do not attach environment to this
|
| - // instruction.
|
| + // Marks a call for the register allocator. Assigns a pointer map to
|
| + // support GC and lazy deoptimization. Assigns an environment to support
|
| + // eager deoptimization if CAN_DEOPTIMIZE_EAGERLY.
|
| LInstruction* MarkAsCall(
|
| LInstruction* instr,
|
| HInstruction* hinstr,
|
|
|