/arkcompiler/ets_runtime/ecmascript/compiler/ |
D | slowpath_lowering.h | 158 void Lower(GateRef gate); 159 void LowerAdd2(GateRef gate); 160 void LowerCreateIterResultObj(GateRef gate); 161 void SaveFrameToContext(GateRef gate); 162 void LowerSuspendGenerator(GateRef gate); 163 void LowerAsyncFunctionAwaitUncaught(GateRef gate); 164 void LowerAsyncFunctionResolve(GateRef gate); 165 void LowerAsyncFunctionReject(GateRef gate); 166 void LowerStGlobalVar(GateRef gate); 167 void LowerTryLdGlobalByName(GateRef gate); [all …]
|
D | mcr_lowering.h | 35 GateRef VisitGate(GateRef gate) override; 36 StateDepend LowerConvert(StateDepend stateDepend, GateRef gate); 39 void DeleteStateSplit(GateRef gate); 40 void LowerArrayGuardianCheck(GateRef gate); 41 void LowerHeapObjectCheck(GateRef gate); 42 void LowerTaggedIsHeapObject(GateRef gate); 43 void LowerIsMarkerCellValid(GateRef gate); 44 void LowerIsSpecificObjectType(GateRef gate); 45 void LowerHClassStableArrayCheck(GateRef gate); 46 void LowerGetConstPool(GateRef gate); [all …]
|
D | number_speculative_retype.cpp | 24 GateRef NumberSpeculativeRetype::SetOutputType(GateRef gate, GateType gateType) in SetOutputType() argument 26 TypeInfo type = GetOutputTypeInfo(gate); in SetOutputType() 37 SetOutputTypeInfo(gate, type); in SetOutputType() 38 return old == type ? Circuit::NullGate() : gate; in SetOutputType() 41 GateRef NumberSpeculativeRetype::SetOutputType(GateRef gate, PGOSampleType pgoType) in SetOutputType() argument 43 TypeInfo type = GetOutputTypeInfo(gate); in SetOutputType() 50 SetOutputTypeInfo(gate, type); in SetOutputType() 51 return old == type ? Circuit::NullGate() : gate; in SetOutputType() 54 GateRef NumberSpeculativeRetype::SetOutputType(GateRef gate, Representation rep) in SetOutputType() argument 56 TypeInfo type = GetOutputTypeInfo(gate); in SetOutputType() [all …]
|
D | instruction_combine.h | 36 GateRef VisitGate(GateRef gate) override; 39 GateRef VisitADD(GateRef gate); 40 GateRef VisitSUB(GateRef gate); 41 GateRef VisitMUL(GateRef gate); 42 GateRef VisitSDIV(GateRef gate); 43 GateRef VisitFDIV(GateRef gate); 44 GateRef VisitSMOD(GateRef gate); 45 GateRef VisitAND(GateRef gate); 46 GateRef VisitOR(GateRef gate); 47 GateRef VisitXOR(GateRef gate); [all …]
|
D | gate_accessor.h | 67 explicit Edge(GateRef gate, size_t index) : gate_(gate), index_(static_cast<uint32_t>(index)) {} in Edge() argument 298 GateRef gate; member 301 return GateAccessor(circuit).ConstUseBegin(gate); in begin() 311 GateRef gate; member 314 return GateAccessor(circuit).UseBegin(gate); in begin() 324 const GateRef gate; member 327 return GateAccessor(circuit).ConstInBegin(gate); in begin() 331 return GateAccessor(circuit).ConstInEnd(gate); in end() 337 GateRef gate; member 340 return GateAccessor(circuit).InBegin(gate); in begin() [all …]
|
D | slowpath_lowering.cpp | 47 for (const auto &gate : gateList) { in CallRuntimeLowering() local 48 auto op = acc_.GetOpCode(gate); in CallRuntimeLowering() 51 Lower(gate); in CallRuntimeLowering() 55 Environment env(gate, circuit_, &builder_); in CallRuntimeLowering() 56 LowerExceptionHandler(gate); in CallRuntimeLowering() 60 LowerConstruct(gate); in CallRuntimeLowering() 63 LowerTypedCall(gate); in CallRuntimeLowering() 66 LowerTypedFastCall(gate); in CallRuntimeLowering() 69 LowerCheckSafePointAndStackOver(gate); in CallRuntimeLowering() 72 LowerGetEnv(gate); in CallRuntimeLowering() [all …]
|
D | typed_hcr_lowering.h | 122 GateRef VisitGate(GateRef gate) override; 125 void Lower(GateRef gate); 126 void LowerType(GateRef gate); 127 void LowerPrimitiveTypeCheck(GateRef gate); 128 void LowerTypeConvert(GateRef gate); 130 void LowerIntCheck(GateRef gate); 131 void LowerDoubleCheck(GateRef gate); 132 void LowerNumberCheck(GateRef gate); 133 void LowerBooleanCheck(GateRef gate); 134 void LowerIndexCheck(GateRef gate); [all …]
|
D | number_speculative_retype.h | 38 GateRef VisitGate(GateRef gate); 58 GateRef SetOutputType(GateRef gate, PGOSampleType type); 59 GateRef SetOutputType(GateRef gate, GateType type); 60 GateRef SetOutputType(GateRef gate, Representation rep); 61 GateRef SetOutputType(GateRef gate, TypeInfo type); 62 GateRef VisitPhi(GateRef gate); 63 GateRef VisitConstant(GateRef gate); 64 GateRef VisitTypedBinaryOp(GateRef gate); 65 GateRef VisitNumberBinaryOp(GateRef gate); 66 GateRef VisitStringBinaryOp(GateRef gate); [all …]
|
D | gate_accessor.cpp | 25 size_t GateAccessor::GetNumIns(GateRef gate) const in GetNumIns() 27 Gate *gatePtr = circuit_->LoadGatePtr(gate); in GetNumIns() 31 MarkCode GateAccessor::GetMark(GateRef gate) const in GetMark() 33 return circuit_->GetMark(gate); in GetMark() 36 void GateAccessor::SetMark(GateRef gate, MarkCode mark) in SetMark() argument 38 circuit_->SetMark(gate, mark); in SetMark() 41 bool GateAccessor::IsFinished(GateRef gate) const in IsFinished() 43 return GetMark(gate) == MarkCode::FINISHED; in IsFinished() 46 bool GateAccessor::IsVisited(GateRef gate) const in IsVisited() 48 return GetMark(gate) == MarkCode::VISITED; in IsVisited() [all …]
|
D | range_analysis.cpp | 20 GateRef RangeAnalysis::UpdateRange(GateRef gate, const RangeInfo& info) in UpdateRange() argument 22 auto &range = rangeInfos_[acc_.GetId(gate)]; in UpdateRange() 25 return gate; in UpdateRange() 31 RangeInfo RangeAnalysis::GetRange(GateRef gate) const in GetRange() 33 ASSERT(acc_.GetId(gate) < rangeInfos_.size()); in GetRange() 34 return rangeInfos_[acc_.GetId(gate)]; in GetRange() 37 bool RangeAnalysis::IsInt32Type(GateRef gate) const in IsInt32Type() 39 auto id = acc_.GetId(gate); in IsInt32Type() 41 return acc_.GetMachineType(gate) == MachineType::I32; in IsInt32Type() 46 GateRef RangeAnalysis::VisitGate(GateRef gate) in VisitGate() argument [all …]
|
D | number_speculative_lowering.cpp | 35 for (auto gate : gateList) { in Run() local 36 auto op = acc_.GetOpCode(gate); in Run() 39 rangeGuardGates_.push_back(gate); in Run() 43 VisitGate(gate); in Run() 52 void NumberSpeculativeLowering::VisitGate(GateRef gate) in VisitGate() argument 54 OpCode op = acc_.GetOpCode(gate); in VisitGate() 57 VisitTypedBinaryOp(gate); in VisitGate() 61 VisitTypedUnaryOp(gate); in VisitGate() 65 VisitTypedConditionJump(gate); in VisitGate() 69 VisitPhi(gate); in VisitGate() [all …]
|
D | ir_builder.h | 51 V(Call, (GateRef gate, const std::vector<GateRef> &inList, OpCode op)) \ 52 V(RuntimeCall, (GateRef gate, const std::vector<GateRef> &inList)) \ 53 V(RuntimeCallWithArgv, (GateRef gate, const std::vector<GateRef> &inList)) \ 54 V(NoGcRuntimeCall, (GateRef gate, const std::vector<GateRef> &inList)) \ 55 V(BytecodeCall, (GateRef gate, const std::vector<GateRef> &inList)) \ 56 V(Alloca, (GateRef gate)) \ 59 V(Parameter, (GateRef gate)) \ 60 V(Constant, (GateRef gate, std::bitset<64> value)) \ 61 V(ConstString, (GateRef gate, const ChunkVector<char> &str)) \ 62 V(RelocatableData, (GateRef gate, uint64_t value)) \ [all …]
|
D | dead_code_elimination.cpp | 20 GateRef DeadCodeElimination::VisitGate(GateRef gate) in VisitGate() argument 22 auto opcode = acc_.GetOpCode(gate); in VisitGate() 26 return EliminateBranch(gate); in VisitGate() 29 return EliminateMergeAndLoopBegin(gate); in VisitGate() 31 return EliminateDependSelector(gate); in VisitGate() 33 return EliminateIfException(gate); in VisitGate() 35 return EliminateLoopExit(gate); in VisitGate() 37 return EliminateGate(gate); in VisitGate() 42 GateRef DeadCodeElimination::StateIsDead(GateRef gate) in StateIsDead() argument 44 auto state = acc_.GetState(gate); in StateIsDead() [all …]
|
D | number_speculative_lowering.h | 37 void VisitGate(GateRef gate); 38 void VisitTypedBinaryOp(GateRef gate); 39 void VisitNumberBinaryOp(GateRef gate); 40 void VisitStringBinaryOp(GateRef gate); 41 void VisitTypedUnaryOp(GateRef gate); 42 void VisitNumberNot(GateRef gate); 43 void VisitTypedConditionJump(GateRef gate); 44 void VisitConstant(GateRef gate); 45 void VisitPhi(GateRef gate); 46 void VisitUndefinedStrictEqOrUndefinedStrictNotEq(GateRef gate); [all …]
|
D | ntype_bytecode_lowering.cpp | 27 for (const auto &gate : gateList) { in RunNTypeBytecodeLowering() local 28 auto op = acc_.GetOpCode(gate); in RunNTypeBytecodeLowering() 30 Lower(gate); in RunNTypeBytecodeLowering() 47 void NTypeBytecodeLowering::Lower(GateRef gate) in Lower() argument 49 EcmaOpcode ecmaOpcode = acc_.GetByteCodeOpcode(gate); in Lower() 51 Environment env(gate, circuit_, &builder_); in Lower() 55 LowerNTypedCreateEmptyArray(gate); in Lower() 59 LowerNTypedCreateArrayWithBuffer(gate); in Lower() 64 LowerNTypedStownByIndex(gate); in Lower() 67 LowerThrowUndefinedIfHoleWithName(gate); in Lower() [all …]
|
D | mcr_lowering.cpp | 27 GateRef MCRLowering::VisitGate(GateRef gate) in VisitGate() argument 29 auto op = acc_.GetOpCode(gate); in VisitGate() 32 LowerGetConstPool(gate); in VisitGate() 35 DeleteStateSplit(gate); in VisitGate() 38 LowerArrayGuardianCheck(gate); in VisitGate() 41 LowerHClassStableArrayCheck(gate); in VisitGate() 44 LowerHeapObjectCheck(gate); in VisitGate() 47 LowerLoadConstOffset(gate); in VisitGate() 50 LowerLoadHClassFromConstpool(gate); in VisitGate() 53 LowerStoreConstOffset(gate); in VisitGate() [all …]
|
D | lexical_env_specialization_pass.cpp | 28 GateRef LexicalEnvSpecializationPass::VisitDependEntry(GateRef gate) in VisitDependEntry() argument 31 return UpdateDependChain(gate, empty); in VisitDependEntry() 34 GateRef LexicalEnvSpecializationPass::VisitGate(GateRef gate) in VisitGate() argument 36 auto opcode = acc_.GetOpCode(gate); in VisitGate() 39 EcmaOpcode ecmaOpcode = acc_.GetByteCodeOpcode(gate); in VisitGate() 41 return TrySpecializeLdLexVar(gate); in VisitGate() 43 return VisitOther(gate); in VisitGate() 46 return VisitDependSelector(gate); in VisitGate() 48 if (acc_.GetDependCount(gate) == 1) { // 1: depend in is 1 in VisitGate() 49 return VisitOther(gate); in VisitGate() [all …]
|
D | typed_bytecode_lowering.h | 98 void Lower(GateRef gate); 100 void LowerTypedBinOp(GateRef gate, bool convertNumberType = true); 102 void LowerTypedUnOp(GateRef gate); 104 void LowerTypedEqOrNotEq(GateRef gate); 105 void LowerTypeToNumeric(GateRef gate); 107 void LowerConditionJump(GateRef gate, bool flag); 109 void LowerTypedTryLdGlobalByName(GateRef gate); 111 void LowerTypedLdObjByName(GateRef gate); 112 void LowerTypedStObjByName(GateRef gate); 113 void LowerTypedStOwnByName(GateRef gate); [all …]
|
D | combined_pass_visitor.cpp | 20 int32_t CombinedPassVisitor::GetGateOrder(GateRef gate) in GetGateOrder() argument 22 auto id = acc_.GetId(gate); in GetGateOrder() 26 return orderList_[acc_.GetId(gate)]; in GetGateOrder() 29 void CombinedPassVisitor::SetGateOrder(GateRef gate, int32_t orderId) in SetGateOrder() argument 31 auto id = acc_.GetId(gate); in SetGateOrder() 35 orderList_[acc_.GetId(gate)] = orderId; in SetGateOrder() 48 void CombinedPassVisitor::ReplaceGate(GateRef gate, GateRef replacement) in ReplaceGate() argument 51 if (acc_.GetDependCount(gate) > 0) { in ReplaceGate() 52 …ASSERT(acc_.GetDependCount(gate) == 1 || acc_.GetOpCode(replacement) == OpCode::DEAD); // 1: one d… in ReplaceGate() 53 depend = acc_.GetDep(gate); in ReplaceGate() [all …]
|
D | typed_bytecode_lowering.cpp | 32 for (const auto &gate : gateList) { in RunTypedBytecodeLowering() local 33 auto op = acc_.GetOpCode(gate); in RunTypedBytecodeLowering() 35 Lower(gate); in RunTypedBytecodeLowering() 88 void TypedBytecodeLowering::Lower(GateRef gate) in Lower() argument 90 EcmaOpcode ecmaOpcode = acc_.GetByteCodeOpcode(gate); in Lower() 92 Environment env(gate, circuit_, &builder_); in Lower() 96 LowerTypedBinOp<TypedBinOp::TYPED_ADD>(gate); in Lower() 99 LowerTypedBinOp<TypedBinOp::TYPED_SUB>(gate); in Lower() 102 LowerTypedBinOp<TypedBinOp::TYPED_MUL>(gate); in Lower() 105 LowerTypedBinOp<TypedBinOp::TYPED_DIV>(gate); in Lower() [all …]
|
D | circuit.cpp | 161 for (const auto &gate : gateList) { in PrintAllGates() local 162 LoadGatePtrConst(gate)->Print(); in PrintAllGates() 170 for (const auto &gate : gateList) { in PrintAllGatesWithBytecode() local 171 LoadGatePtrConst(gate)->PrintWithBytecode(); in PrintAllGatesWithBytecode() 187 GateRef Circuit::GetGateRef(const Gate *gate) const in GetGateRef() 190 return static_cast<GateRef>(reinterpret_cast<const uint8_t *>(gate) - GetDataPtrConst(0)); in GetGateRef() 220 for (auto &gate : gateList) { in ResetAllGateTimeStamps() local 221 const_cast<Gate *>(LoadGatePtrConst(gate))->SetMark(MarkCode::NO_MARK, 0); in ResetAllGateTimeStamps() 230 MarkCode Circuit::GetMark(GateRef gate) const in GetMark() 232 return LoadGatePtrConst(gate)->GetMark(GetTime()); in GetMark() [all …]
|
/arkcompiler/ets_runtime/ecmascript/compiler/type_inference/ |
D | method_type_infer.h | 68 bool UpdateType(GateRef gate, const GateType type, bool savePreType = true); 69 bool UpdateType(GateRef gate, const GlobalTSTypeRef &typeRef, bool savePreType = true); 71 bool ShouldInfer(const GateRef gate) const; 72 bool Infer(GateRef gate); 73 bool InferPhiGate(GateRef gate); 74 bool SetIntType(GateRef gate); 75 bool SetNumberType(GateRef gate); 76 bool SetBigIntType(GateRef gate); 77 bool SetBooleanType(GateRef gate); 78 bool InferLdUndefined(GateRef gate); [all …]
|
D | method_type_infer.cpp | 40 for (auto gate : gateList) { in MethodTypeInfer() local 41 if (gateAccessor_.GetOpCode(gate) == OpCode::FRAME_ARGS) { in MethodTypeInfer() 44 pendingQueue_.push(gate); in MethodTypeInfer() 52 for (auto gate : gates) { in MethodTypeInfer() local 53 jsgateToBytecode_[gate] = index; in MethodTypeInfer() 74 void MethodTypeInfer::Enqueue(GateRef gate) in Enqueue() argument 76 auto gateId = gateAccessor_.GetId(gate); in Enqueue() 79 pendingQueue_.push(gate); in Enqueue() 132 bool MethodTypeInfer::UpdateType(GateRef gate, const GateType type, bool savePreType) in UpdateType() argument 134 GateType preType = gateAccessor_.GetGateType(gate); in UpdateType() [all …]
|
D | pgo_type_infer.cpp | 25 for (const auto &gate : gateList) { in Run() local 26 auto op = acc_.GetOpCode(gate); in Run() 28 RunTypeInfer(gate); in Run() 37 void PGOTypeInfer::RunTypeInfer(GateRef gate) in RunTypeInfer() argument 39 ASSERT(acc_.GetOpCode(gate) == OpCode::JS_BYTECODE); in RunTypeInfer() 40 EcmaOpcode ecmaOpcode = acc_.GetByteCodeOpcode(gate); in RunTypeInfer() 46 InferLdObjByName(gate); in RunTypeInfer() 50 InferStObjByName(gate, false); in RunTypeInfer() 54 InferStObjByName(gate, true); in RunTypeInfer() 58 InferStOwnByName(gate); in RunTypeInfer() [all …]
|
D | initialization_analysis.cpp | 29 for (const auto &gate : gateList) { in Run() local 30 auto op = acc_.GetOpCode(gate); in Run() 32 Analyse(gate); in Run() 42 void InitializationAnalysis::Analyse(GateRef gate) in Analyse() argument 44 ASSERT(acc_.GetOpCode(gate) == OpCode::JS_BYTECODE); in Analyse() 45 EcmaOpcode ecmaOpcode = acc_.GetByteCodeOpcode(gate); in Analyse() 49 CollectInitializationType(gate, ThisUsage::INDEFINITE_THIS); in Analyse() 50 CollectInitializationInfo(gate, ThisUsage::INDEFINITE_THIS); in Analyse() 55 CollectInitializationType(gate, ThisUsage::DEFINITE_THIS); in Analyse() 56 CollectInitializationInfo(gate, ThisUsage::DEFINITE_THIS); in Analyse() [all …]
|