summaryrefslogtreecommitdiff
path: root/deps/v8/src/arm64/lithium-codegen-arm64.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/arm64/lithium-codegen-arm64.h')
-rw-r--r--deps/v8/src/arm64/lithium-codegen-arm64.h45
1 files changed, 24 insertions, 21 deletions
diff --git a/deps/v8/src/arm64/lithium-codegen-arm64.h b/deps/v8/src/arm64/lithium-codegen-arm64.h
index a73bb8caaf..fe16a4e59c 100644
--- a/deps/v8/src/arm64/lithium-codegen-arm64.h
+++ b/deps/v8/src/arm64/lithium-codegen-arm64.h
@@ -213,31 +213,38 @@ class LCodeGen: public LCodeGenBase {
Register temp,
LOperand* index,
String::Encoding encoding);
- void DeoptimizeBranch(LInstruction* instr, const char* detail,
+ void DeoptimizeBranch(LInstruction* instr,
+ Deoptimizer::DeoptReason deopt_reason,
BranchType branch_type, Register reg = NoReg,
int bit = -1,
Deoptimizer::BailoutType* override_bailout_type = NULL);
- void Deoptimize(LInstruction* instr, const char* detail,
+ void Deoptimize(LInstruction* instr, Deoptimizer::DeoptReason deopt_reason,
Deoptimizer::BailoutType* override_bailout_type = NULL);
- void DeoptimizeIf(Condition cond, LInstruction* instr, const char* detail);
- void DeoptimizeIfZero(Register rt, LInstruction* instr, const char* detail);
+ void DeoptimizeIf(Condition cond, LInstruction* instr,
+ Deoptimizer::DeoptReason deopt_reason);
+ void DeoptimizeIfZero(Register rt, LInstruction* instr,
+ Deoptimizer::DeoptReason deopt_reason);
void DeoptimizeIfNotZero(Register rt, LInstruction* instr,
- const char* detail);
+ Deoptimizer::DeoptReason deopt_reason);
void DeoptimizeIfNegative(Register rt, LInstruction* instr,
- const char* detail);
- void DeoptimizeIfSmi(Register rt, LInstruction* instr, const char* detail);
- void DeoptimizeIfNotSmi(Register rt, LInstruction* instr, const char* detail);
+ Deoptimizer::DeoptReason deopt_reason);
+ void DeoptimizeIfSmi(Register rt, LInstruction* instr,
+ Deoptimizer::DeoptReason deopt_reason);
+ void DeoptimizeIfNotSmi(Register rt, LInstruction* instr,
+ Deoptimizer::DeoptReason deopt_reason);
void DeoptimizeIfRoot(Register rt, Heap::RootListIndex index,
- LInstruction* instr, const char* detail);
+ LInstruction* instr,
+ Deoptimizer::DeoptReason deopt_reason);
void DeoptimizeIfNotRoot(Register rt, Heap::RootListIndex index,
- LInstruction* instr, const char* detail);
+ LInstruction* instr,
+ Deoptimizer::DeoptReason deopt_reason);
void DeoptimizeIfNotHeapNumber(Register object, LInstruction* instr);
void DeoptimizeIfMinusZero(DoubleRegister input, LInstruction* instr,
- const char* detail);
+ Deoptimizer::DeoptReason deopt_reason);
void DeoptimizeIfBitSet(Register rt, int bit, LInstruction* instr,
- const char* detail);
+ Deoptimizer::DeoptReason deopt_reason);
void DeoptimizeIfBitClear(Register rt, int bit, LInstruction* instr,
- const char* detail);
+ Deoptimizer::DeoptReason deopt_reason);
MemOperand PrepareKeyedExternalArrayOperand(Register key,
Register base,
@@ -318,15 +325,11 @@ class LCodeGen: public LCodeGenBase {
LInstruction* instr,
LOperand* context);
- // Generate a direct call to a known function.
- // If the function is already loaded into x1 by the caller, function_reg may
- // be set to x1. Otherwise, it must be NoReg, and CallKnownFunction will
- // automatically load it.
+ // Generate a direct call to a known function. Expects the function
+ // to be in x1.
void CallKnownFunction(Handle<JSFunction> function,
- int formal_parameter_count,
- int arity,
- LInstruction* instr,
- Register function_reg = NoReg);
+ int formal_parameter_count, int arity,
+ LInstruction* instr);
// Support for recording safepoint and position information.
void RecordAndWritePosition(int position) OVERRIDE;