• Home
  • Raw
  • Download

Lines Matching refs:Bytecode

396 enum class Bytecode : uint8_t {  enum
413 static const char* ToString(Bytecode bytecode);
416 static std::string ToString(Bytecode bytecode, OperandScale operand_scale);
419 static uint8_t ToByte(Bytecode bytecode) { in ToByte()
420 DCHECK_LE(bytecode, Bytecode::kLast); in ToByte()
425 static Bytecode FromByte(uint8_t value) { in FromByte()
426 Bytecode bytecode = static_cast<Bytecode>(value); in FromByte()
427 DCHECK(bytecode <= Bytecode::kLast); in FromByte()
433 static Bytecode OperandScaleToPrefixBytecode(OperandScale operand_scale) { in OperandScaleToPrefixBytecode()
436 return Bytecode::kExtraWide; in OperandScaleToPrefixBytecode()
438 return Bytecode::kWide; in OperandScaleToPrefixBytecode()
441 return Bytecode::kIllegal; in OperandScaleToPrefixBytecode()
452 static OperandScale PrefixBytecodeToOperandScale(Bytecode bytecode) { in PrefixBytecodeToOperandScale()
454 case Bytecode::kExtraWide: in PrefixBytecodeToOperandScale()
455 case Bytecode::kDebugBreakExtraWide: in PrefixBytecodeToOperandScale()
457 case Bytecode::kWide: in PrefixBytecodeToOperandScale()
458 case Bytecode::kDebugBreakWide: in PrefixBytecodeToOperandScale()
467 static AccumulatorUse GetAccumulatorUse(Bytecode bytecode) { in GetAccumulatorUse()
468 DCHECK(bytecode <= Bytecode::kLast); in GetAccumulatorUse()
473 static bool ReadsAccumulator(Bytecode bytecode) { in ReadsAccumulator()
478 static bool WritesAccumulator(Bytecode bytecode) { in WritesAccumulator()
483 static bool WritesBooleanToAccumulator(Bytecode bytecode) { in WritesBooleanToAccumulator()
485 case Bytecode::kLdaTrue: in WritesBooleanToAccumulator()
486 case Bytecode::kLdaFalse: in WritesBooleanToAccumulator()
487 case Bytecode::kToBooleanLogicalNot: in WritesBooleanToAccumulator()
488 case Bytecode::kLogicalNot: in WritesBooleanToAccumulator()
489 case Bytecode::kTestEqual: in WritesBooleanToAccumulator()
490 case Bytecode::kTestNotEqual: in WritesBooleanToAccumulator()
491 case Bytecode::kTestEqualStrict: in WritesBooleanToAccumulator()
492 case Bytecode::kTestLessThan: in WritesBooleanToAccumulator()
493 case Bytecode::kTestLessThanOrEqual: in WritesBooleanToAccumulator()
494 case Bytecode::kTestGreaterThan: in WritesBooleanToAccumulator()
495 case Bytecode::kTestGreaterThanOrEqual: in WritesBooleanToAccumulator()
496 case Bytecode::kTestInstanceOf: in WritesBooleanToAccumulator()
497 case Bytecode::kTestIn: in WritesBooleanToAccumulator()
498 case Bytecode::kTestUndetectable: in WritesBooleanToAccumulator()
499 case Bytecode::kForInContinue: in WritesBooleanToAccumulator()
500 case Bytecode::kTestUndefined: in WritesBooleanToAccumulator()
501 case Bytecode::kTestNull: in WritesBooleanToAccumulator()
510 static constexpr bool IsAccumulatorLoadWithoutEffects(Bytecode bytecode) { in IsAccumulatorLoadWithoutEffects()
511 return bytecode == Bytecode::kLdar || bytecode == Bytecode::kLdaZero || in IsAccumulatorLoadWithoutEffects()
512 bytecode == Bytecode::kLdaSmi || bytecode == Bytecode::kLdaNull || in IsAccumulatorLoadWithoutEffects()
513 bytecode == Bytecode::kLdaTrue || bytecode == Bytecode::kLdaFalse || in IsAccumulatorLoadWithoutEffects()
514 bytecode == Bytecode::kLdaUndefined || in IsAccumulatorLoadWithoutEffects()
515 bytecode == Bytecode::kLdaTheHole || in IsAccumulatorLoadWithoutEffects()
516 bytecode == Bytecode::kLdaConstant || in IsAccumulatorLoadWithoutEffects()
517 bytecode == Bytecode::kLdaContextSlot || in IsAccumulatorLoadWithoutEffects()
518 bytecode == Bytecode::kLdaCurrentContextSlot || in IsAccumulatorLoadWithoutEffects()
519 bytecode == Bytecode::kLdaImmutableContextSlot || in IsAccumulatorLoadWithoutEffects()
520 bytecode == Bytecode::kLdaImmutableCurrentContextSlot; in IsAccumulatorLoadWithoutEffects()
525 static constexpr bool IsRegisterLoadWithoutEffects(Bytecode bytecode) { in IsRegisterLoadWithoutEffects()
526 return bytecode == Bytecode::kMov || bytecode == Bytecode::kPopContext || in IsRegisterLoadWithoutEffects()
527 bytecode == Bytecode::kPushContext || bytecode == Bytecode::kStar; in IsRegisterLoadWithoutEffects()
532 static constexpr bool IsConditionalJumpImmediate(Bytecode bytecode) { in IsConditionalJumpImmediate()
533 return bytecode >= Bytecode::kJumpIfToBooleanTrue && in IsConditionalJumpImmediate()
534 bytecode <= Bytecode::kJumpIfNotHole; in IsConditionalJumpImmediate()
539 static constexpr bool IsConditionalJumpConstant(Bytecode bytecode) { in IsConditionalJumpConstant()
540 return bytecode >= Bytecode::kJumpIfNullConstant && in IsConditionalJumpConstant()
541 bytecode <= Bytecode::kJumpIfToBooleanFalseConstant; in IsConditionalJumpConstant()
546 static constexpr bool IsConditionalJump(Bytecode bytecode) { in IsConditionalJump()
547 return bytecode >= Bytecode::kJumpIfNullConstant && in IsConditionalJump()
548 bytecode <= Bytecode::kJumpIfNotHole; in IsConditionalJump()
552 static constexpr bool IsUnconditionalJump(Bytecode bytecode) { in IsUnconditionalJump()
553 return bytecode >= Bytecode::kJumpLoop && in IsUnconditionalJump()
554 bytecode <= Bytecode::kJumpConstant; in IsUnconditionalJump()
559 static constexpr bool IsJumpImmediate(Bytecode bytecode) { in IsJumpImmediate()
560 return bytecode == Bytecode::kJump || bytecode == Bytecode::kJumpLoop || in IsJumpImmediate()
566 static constexpr bool IsJumpConstant(Bytecode bytecode) { in IsJumpConstant()
567 return bytecode >= Bytecode::kJumpConstant && in IsJumpConstant()
568 bytecode <= Bytecode::kJumpIfToBooleanFalseConstant; in IsJumpConstant()
573 static constexpr bool IsJumpIfToBoolean(Bytecode bytecode) { in IsJumpIfToBoolean()
574 return bytecode >= Bytecode::kJumpIfToBooleanTrueConstant && in IsJumpIfToBoolean()
575 bytecode <= Bytecode::kJumpIfToBooleanFalse; in IsJumpIfToBoolean()
580 static constexpr bool IsJump(Bytecode bytecode) { in IsJump()
581 return bytecode >= Bytecode::kJumpLoop && in IsJump()
582 bytecode <= Bytecode::kJumpIfNotHole; in IsJump()
587 static constexpr bool IsForwardJump(Bytecode bytecode) { in IsForwardJump()
588 return bytecode >= Bytecode::kJump && bytecode <= Bytecode::kJumpIfNotHole; in IsForwardJump()
592 static constexpr bool IsJumpOrReturn(Bytecode bytecode) { in IsJumpOrReturn()
593 return bytecode == Bytecode::kReturn || IsJump(bytecode); in IsJumpOrReturn()
599 static constexpr bool IsJumpWithoutEffects(Bytecode bytecode) { in IsJumpWithoutEffects()
605 static constexpr bool IsWithoutExternalSideEffects(Bytecode bytecode) { in IsWithoutExternalSideEffects()
608 bytecode == Bytecode::kNop || IsJumpWithoutEffects(bytecode)); in IsWithoutExternalSideEffects()
612 static constexpr bool IsLdarOrStar(Bytecode bytecode) { in IsLdarOrStar()
613 return bytecode == Bytecode::kLdar || bytecode == Bytecode::kStar; in IsLdarOrStar()
617 static constexpr bool PutsNameInAccumulator(Bytecode bytecode) { in PutsNameInAccumulator()
618 return bytecode == Bytecode::kTypeOf; in PutsNameInAccumulator()
622 static constexpr bool IsCallOrConstruct(Bytecode bytecode) { in IsCallOrConstruct()
623 return bytecode == Bytecode::kCall || bytecode == Bytecode::kCallProperty || in IsCallOrConstruct()
624 bytecode == Bytecode::kTailCall || in IsCallOrConstruct()
625 bytecode == Bytecode::kConstruct || in IsCallOrConstruct()
626 bytecode == Bytecode::kCallWithSpread || in IsCallOrConstruct()
627 bytecode == Bytecode::kConstructWithSpread || in IsCallOrConstruct()
628 bytecode == Bytecode::kInvokeIntrinsic || in IsCallOrConstruct()
629 bytecode == Bytecode::kCallJSRuntime; in IsCallOrConstruct()
633 static constexpr bool IsCallRuntime(Bytecode bytecode) { in IsCallRuntime()
634 return bytecode == Bytecode::kCallRuntime || in IsCallRuntime()
635 bytecode == Bytecode::kCallRuntimeForPair || in IsCallRuntime()
636 bytecode == Bytecode::kInvokeIntrinsic; in IsCallRuntime()
640 static constexpr bool IsPrefixScalingBytecode(Bytecode bytecode) { in IsPrefixScalingBytecode()
641 return bytecode == Bytecode::kExtraWide || bytecode == Bytecode::kWide || in IsPrefixScalingBytecode()
642 bytecode == Bytecode::kDebugBreakExtraWide || in IsPrefixScalingBytecode()
643 bytecode == Bytecode::kDebugBreakWide; in IsPrefixScalingBytecode()
647 static constexpr size_t ReturnCount(Bytecode bytecode) { in ReturnCount()
648 return bytecode == Bytecode::kReturn ? 1 : 0; in ReturnCount()
652 static int NumberOfOperands(Bytecode bytecode) { in NumberOfOperands()
653 DCHECK(bytecode <= Bytecode::kLast); in NumberOfOperands()
658 static OperandType GetOperandType(Bytecode bytecode, int i) { in GetOperandType()
659 DCHECK_LE(bytecode, Bytecode::kLast); in GetOperandType()
667 static const OperandType* GetOperandTypes(Bytecode bytecode) { in GetOperandTypes()
668 DCHECK(bytecode <= Bytecode::kLast); in GetOperandTypes()
672 static bool OperandIsScalableSignedByte(Bytecode bytecode, in OperandIsScalableSignedByte()
674 DCHECK(bytecode <= Bytecode::kLast); in OperandIsScalableSignedByte()
679 static bool OperandIsScalableUnsignedByte(Bytecode bytecode, in OperandIsScalableUnsignedByte()
681 DCHECK(bytecode <= Bytecode::kLast); in OperandIsScalableUnsignedByte()
686 static bool OperandIsScalable(Bytecode bytecode, int operand_index) { in OperandIsScalable()
692 static bool IsBytecodeWithScalableOperands(Bytecode bytecode);
695 static OperandSize GetOperandSize(Bytecode bytecode, int i, in GetOperandSize()
702 static const OperandSize* GetOperandSizes(Bytecode bytecode, in GetOperandSizes()
704 DCHECK(bytecode <= Bytecode::kLast); in GetOperandSizes()
715 static int GetOperandOffset(Bytecode bytecode, int i,
720 static int Size(Bytecode bytecode, OperandScale operand_scale) { in Size()
721 DCHECK(bytecode <= Bytecode::kLast); in Size()
729 static Bytecode GetDebugBreak(Bytecode bytecode);
732 static Bytecode GetJumpWithoutToBoolean(Bytecode bytecode);
736 static bool MakesCallAlongCriticalPath(Bytecode bytecode);
739 static bool IsDebugBreak(Bytecode bytecode);
752 static bool IsStarLookahead(Bytecode bytecode, OperandScale operand_scale);
790 static bool BytecodeHasHandler(Bytecode bytecode, OperandScale operand_scale);
837 const Bytecode& bytecode);