| Index: src/x64/lithium-codegen-x64.h
|
| diff --git a/src/x64/lithium-codegen-x64.h b/src/x64/lithium-codegen-x64.h
|
| index f3f202a277ffa1b951cf498bb47096b7853581ee..ac238d03fadb1c14eb1f63ac1f7206e3e78b83a0 100644
|
| --- a/src/x64/lithium-codegen-x64.h
|
| +++ b/src/x64/lithium-codegen-x64.h
|
| @@ -193,7 +193,10 @@ class LCodeGen: public LCodeGenBase {
|
|
|
| void CallRuntimeFromDeferred(Runtime::FunctionId id,
|
| int argc,
|
| - LInstruction* instr);
|
| + LInstruction* instr,
|
| + LOperand* context);
|
| +
|
| + void LoadContextFromDeferred(LOperand* context);
|
|
|
| enum RDIState {
|
| RDI_UNINITIALIZED,
|
| @@ -220,6 +223,10 @@ class LCodeGen: public LCodeGenBase {
|
| void DeoptimizeIf(Condition cc, LEnvironment* environment);
|
| void ApplyCheckIf(Condition cc, LBoundsCheck* check);
|
|
|
| + bool DeoptEveryNTimes() {
|
| + return FLAG_deopt_every_n_times != 0 && !info()->IsStub();
|
| + }
|
| +
|
| void AddToTranslation(LEnvironment* environment,
|
| Translation* translation,
|
| LOperand* op,
|
| @@ -242,6 +249,10 @@ class LCodeGen: public LCodeGenBase {
|
| uint32_t offset,
|
| uint32_t additional_index = 0);
|
|
|
| + Operand BuildSeqStringOperand(Register string,
|
| + LOperand* index,
|
| + String::Encoding encoding);
|
| +
|
| void EmitIntegerMathAbs(LMathAbs* instr);
|
| void EmitSmiMathAbs(LMathAbs* instr);
|
|
|
| @@ -259,6 +270,8 @@ class LCodeGen: public LCodeGenBase {
|
|
|
| static Condition TokenToCondition(Token::Value op, bool is_unsigned);
|
| void EmitGoto(int block);
|
| +
|
| + // EmitBranch expects to be the last instruction of a block.
|
| template<class InstrType>
|
| void EmitBranch(InstrType instr, Condition cc);
|
| template<class InstrType>
|
|
|