summaryrefslogtreecommitdiff
path: root/deps/v8/src/crankshaft/lithium.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/crankshaft/lithium.h')
-rw-r--r--deps/v8/src/crankshaft/lithium.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/deps/v8/src/crankshaft/lithium.h b/deps/v8/src/crankshaft/lithium.h
index 5cfc0c358a..a2c028330b 100644
--- a/deps/v8/src/crankshaft/lithium.h
+++ b/deps/v8/src/crankshaft/lithium.h
@@ -9,6 +9,7 @@
#include "src/allocation.h"
#include "src/bailout-reason.h"
+#include "src/crankshaft/compilation-phase.h"
#include "src/crankshaft/hydrogen.h"
#include "src/safepoint-table.h"
#include "src/zone-allocator.h"
@@ -744,6 +745,16 @@ class LChunkBuilderBase BASE_EMBEDDED {
// Will not be moved to a register even if one is freely available.
virtual MUST_USE_RESULT LOperand* UseAny(HValue* value) = 0;
+ // Constructs proper environment for a lazy bailout point after call, creates
+ // LLazyBailout instruction and adds it to current block.
+ void CreateLazyBailoutForCall(HBasicBlock* current_block, LInstruction* instr,
+ HInstruction* hydrogen_val);
+
+ // Assigns given environment to an instruction. An instruction which can
+ // deoptimize must have an environment.
+ LInstruction* AssignEnvironment(LInstruction* instr,
+ HEnvironment* hydrogen_env);
+
LEnvironment* CreateEnvironment(HEnvironment* hydrogen_env,
int* argument_index_accumulator,
ZoneList<HValue*>* objects_to_materialize);