diff options
Diffstat (limited to 'deps/v8/src/interpreter/bytecodes.h')
-rw-r--r-- | deps/v8/src/interpreter/bytecodes.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/deps/v8/src/interpreter/bytecodes.h b/deps/v8/src/interpreter/bytecodes.h index 0e543877f7..39f61eb9bd 100644 --- a/deps/v8/src/interpreter/bytecodes.h +++ b/deps/v8/src/interpreter/bytecodes.h @@ -98,6 +98,8 @@ namespace interpreter { /* Property loads (LoadIC) operations */ \ V(LdaNamedProperty, AccumulatorUse::kWrite, OperandType::kReg, \ OperandType::kIdx, OperandType::kIdx) \ + V(LdaNamedPropertyNoFeedback, AccumulatorUse::kWrite, OperandType::kReg, \ + OperandType::kIdx) \ V(LdaKeyedProperty, AccumulatorUse::kReadWrite, OperandType::kReg, \ OperandType::kIdx) \ \ @@ -110,6 +112,8 @@ namespace interpreter { /* Propery stores (StoreIC) operations */ \ V(StaNamedProperty, AccumulatorUse::kReadWrite, OperandType::kReg, \ OperandType::kIdx, OperandType::kIdx) \ + V(StaNamedPropertyNoFeedback, AccumulatorUse::kReadWrite, OperandType::kReg, \ + OperandType::kIdx, OperandType::kFlag8) \ V(StaNamedOwnProperty, AccumulatorUse::kReadWrite, OperandType::kReg, \ OperandType::kIdx, OperandType::kIdx) \ V(StaKeyedProperty, AccumulatorUse::kReadWrite, OperandType::kReg, \ @@ -194,6 +198,8 @@ namespace interpreter { OperandType::kReg, OperandType::kIdx) \ V(CallUndefinedReceiver2, AccumulatorUse::kWrite, OperandType::kReg, \ OperandType::kReg, OperandType::kReg, OperandType::kIdx) \ + V(CallNoFeedback, AccumulatorUse::kWrite, OperandType::kReg, \ + OperandType::kRegList, OperandType::kRegCount) \ V(CallWithSpread, AccumulatorUse::kWrite, OperandType::kReg, \ OperandType::kRegList, OperandType::kRegCount, OperandType::kIdx) \ V(CallRuntime, AccumulatorUse::kWrite, OperandType::kRuntimeId, \ @@ -247,6 +253,7 @@ namespace interpreter { OperandType::kIdx, OperandType::kFlag8) \ V(CreateArrayLiteral, AccumulatorUse::kWrite, OperandType::kIdx, \ OperandType::kIdx, OperandType::kFlag8) \ + V(CreateArrayFromIterable, AccumulatorUse::kReadWrite) \ V(CreateEmptyArrayLiteral, AccumulatorUse::kWrite, OperandType::kIdx) \ V(CreateObjectLiteral, AccumulatorUse::kNone, OperandType::kIdx, \ OperandType::kIdx, OperandType::kFlag8, OperandType::kRegOut) \ @@ -468,8 +475,10 @@ class V8_EXPORT_PRIVATE Bytecodes final : public AllStatic { // Returns string representation of |bytecode|. static const char* ToString(Bytecode bytecode); - // Returns string representation of |bytecode|. - static std::string ToString(Bytecode bytecode, OperandScale operand_scale); + // Returns string representation of |bytecode| combined with |operand_scale| + // using the optionally provided |separator|. + static std::string ToString(Bytecode bytecode, OperandScale operand_scale, + const char* separator = "."); // Returns byte value of bytecode. static uint8_t ToByte(Bytecode bytecode) { @@ -664,6 +673,7 @@ class V8_EXPORT_PRIVATE Bytecodes final : public AllStatic { bytecode == Bytecode::kCallUndefinedReceiver0 || bytecode == Bytecode::kCallUndefinedReceiver1 || bytecode == Bytecode::kCallUndefinedReceiver2 || + bytecode == Bytecode::kCallNoFeedback || bytecode == Bytecode::kConstruct || bytecode == Bytecode::kCallWithSpread || bytecode == Bytecode::kConstructWithSpread || @@ -684,12 +694,6 @@ class V8_EXPORT_PRIVATE Bytecodes final : public AllStatic { bytecode == Bytecode::kDebugBreakWide; } - // Returns true if the bytecode can be lazily deserialized. - static constexpr bool IsLazy(Bytecode bytecode) { - // Currently, all handlers are deserialized lazily. - return true; - } - // Returns true if the bytecode returns. static constexpr bool Returns(Bytecode bytecode) { #define OR_BYTECODE(NAME) || bytecode == Bytecode::k##NAME @@ -801,6 +805,7 @@ class V8_EXPORT_PRIVATE Bytecodes final : public AllStatic { case Bytecode::kCallJSRuntime: return ConvertReceiverMode::kNullOrUndefined; case Bytecode::kCallAnyReceiver: + case Bytecode::kCallNoFeedback: case Bytecode::kConstruct: case Bytecode::kCallWithSpread: case Bytecode::kConstructWithSpread: |