Home
last modified time | relevance | path

Searched refs:gate (Results 1 – 25 of 99) sorted by relevance

1234

/arkcompiler/ets_runtime/ecmascript/compiler/
Dslowpath_lowering.h158 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 …]
Dmcr_lowering.h35 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 …]
Dnumber_speculative_retype.cpp24 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 …]
Dinstruction_combine.h36 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 …]
Dgate_accessor.h67 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 …]
Dslowpath_lowering.cpp47 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 …]
Dtyped_hcr_lowering.h122 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 …]
Dnumber_speculative_retype.h38 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 …]
Dgate_accessor.cpp25 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 …]
Drange_analysis.cpp20 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 …]
Dnumber_speculative_lowering.cpp35 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 …]
Dir_builder.h51 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 …]
Ddead_code_elimination.cpp20 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 …]
Dnumber_speculative_lowering.h37 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 …]
Dntype_bytecode_lowering.cpp27 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 …]
Dmcr_lowering.cpp27 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 …]
Dlexical_env_specialization_pass.cpp28 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 …]
Dtyped_bytecode_lowering.h98 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 …]
Dcombined_pass_visitor.cpp20 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 …]
Dtyped_bytecode_lowering.cpp32 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 …]
Dcircuit.cpp161 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/
Dmethod_type_infer.h68 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 …]
Dmethod_type_infer.cpp40 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 …]
Dpgo_type_infer.cpp25 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 …]
Dinitialization_analysis.cpp29 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 …]

1234