/arkcompiler/ets_runtime/ecmascript/compiler/type_inference/ |
D | global_type_infer.h | 24 GlobalTypeInfer(PassContext *ctx, const uint32_t methodOffset, const CString &recordName, 33 inline MethodTypeInfer *GetTypeInfer(const uint32_t methodOffset) const in GetTypeInfer() argument 35 auto it = typeInfers_.find(methodOffset); in GetTypeInfer() 42 inline bool IsLegalMethod(const uint32_t methodOffset) const in IsLegalMethod() argument 44 return (methodOffset != 0); in IsLegalMethod() 47 void NewTypeInfer(const uint32_t methodOffset); 48 void CollectNamespaceMethod(const uint32_t methodOffset); 49 void CollectNamespaceMethods(const uint32_t methodOffset);
|
D | global_type_infer.cpp | 19 GlobalTypeInfer::GlobalTypeInfer(PassContext *ctx, const uint32_t methodOffset, const CString &reco… in GlobalTypeInfer() argument 21 …jsPandaFile_(ctx_->GetJSPandaFile()), bcInfo_(ctx->GetBytecodeInfo()), methodOffset_(methodOffset), in GlobalTypeInfer() 25 CollectNamespaceMethods(methodOffset); in GlobalTypeInfer() 55 void GlobalTypeInfer::NewTypeInfer(const uint32_t methodOffset) in NewTypeInfer() argument 59 MethodInfo &methodInfo = methodList.at(methodOffset); in NewTypeInfer() 62 auto methodLiteral = jsPandaFile_->FindMethodLiteral(methodOffset); in NewTypeInfer() 81 typeInfers_.insert(std::make_pair(methodOffset, typeInfer)); in NewTypeInfer() 84 void GlobalTypeInfer::CollectNamespaceMethod(const uint32_t methodOffset) in CollectNamespaceMethod() argument 87 MethodInfo &methodInfo = methodList.at(methodOffset); in CollectNamespaceMethod() 99 void GlobalTypeInfer::CollectNamespaceMethods(const uint32_t methodOffset) in CollectNamespaceMethods() argument [all …]
|
D | method_type_infer.cpp | 33 uint32_t methodOffset = methodLiteral_->GetMethodId().GetOffset(); in MethodTypeInfer() local 34 if (tsManager_->HasInferredNamespaceType(methodOffset)) { in MethodTypeInfer() 35 SetNamespaceArgType(tsManager_->GetNamespaceObjType(methodOffset)); in MethodTypeInfer()
|
/arkcompiler/ets_runtime/ecmascript/compiler/ |
D | bytecode_info_collector.h | 425 void AddIndexToCPItem(ItemType type, uint32_t index, uint32_t methodOffset, uint32_t bcIndex); 467 bool IsSkippedMethod(uint32_t methodOffset) const in IsSkippedMethod() argument 469 if (skippedMethods_.find(methodOffset) == skippedMethods_.end()) { in IsSkippedMethod() 475 void AddSkippedMethod(uint32_t methodOffset) in AddSkippedMethod() argument 477 skippedMethods_.insert(methodOffset); in AddSkippedMethod() 480 void EraseSkippedMethod(uint32_t methodOffset) in EraseSkippedMethod() argument 482 if (skippedMethods_.find(methodOffset) != skippedMethods_.end()) { in EraseSkippedMethod() 483 skippedMethods_.erase(methodOffset); in EraseSkippedMethod() 499 void AddMethodOffsetToRecordName(uint32_t methodOffset, CString recordName) in AddMethodOffsetToRecordName() argument 501 methodOffsetToRecordName_.emplace(methodOffset, recordName); in AddMethodOffsetToRecordName() [all …]
|
D | compilation_driver.h | 84 uint32_t methodOffset, in CompileMethod() argument 89 cb(bytecodeInfo_.GetRecordName(index), methodName, methodLiteral, methodOffset, in CompileMethod() 179 void AddDependList(const CString &recordName, uint32_t methodOffset, in AddDependList() argument 189 auto &methodInfo = methodList.at(methodOffset); in AddDependList() 202 bool VerifyAndMarkCurMethod(uint32_t methodOffset, std::unordered_set<EntityId> &newMethodSet) in VerifyAndMarkCurMethod() argument 205 if (methodOffset == MethodInfo::DEFAULT_OUTMETHOD_OFFSET) { in VerifyAndMarkCurMethod() 210 auto iter = methodList.find(methodOffset); in VerifyAndMarkCurMethod() 221 panda_file::File::EntityId methodId(methodOffset); in VerifyAndMarkCurMethod() 267 uint32_t methodOffset = methodId.GetOffset(); in SearchForCompilation() local 269 AddDependList(recordName, methodOffset, importList); in SearchForCompilation() [all …]
|
D | pgo_bc_info.h | 36 uint32_t methodOffset; member 49 void IterateValByMethodOffset(uint32_t methodOffset, Type type, const Callback &cb) const in IterateValByMethodOffset() argument 51 if (methodOffsetToValVec_.find(methodOffset) != methodOffsetToValVec_.end()) { in IterateValByMethodOffset() 52 const ValVec &valVec = methodOffsetToValVec_.at(methodOffset); in IterateValByMethodOffset() 80 void IterateInfoAndType(uint32_t methodOffset, const Callback &cb) const in IterateInfoAndType() argument 84 infos_[idx].IterateValByMethodOffset(methodOffset, type, cb); in IterateInfoAndType()
|
D | pgo_bc_info.cpp | 21 auto it = methodOffsetToValVec_.find(detail.methodOffset); in Record() 23 methodOffsetToValVec_[detail.methodOffset] = in Record() 66 uint32_t methodOffset = method->GetMethodId().GetOffset(); in Record() local 70 … Record(InfoDetail {recordName, methodOffset, bcIndex, bcOffset, cpIndex}, Type::OBJ_LITERAL); in Record() 73 … Record(InfoDetail {recordName, methodOffset, bcIndex, bcOffset, cpIndex}, Type::ARRAY_LITERAL); in Record() 75 Record(InfoDetail {recordName, methodOffset, bcIndex, bcOffset, 0}, Type::CALL_TARGET); in Record()
|
D | bytecode_info_collector.cpp | 95 auto methodOffset = methodId.GetOffset(); in ProcessClasses() local 98 jsPandaFile_->UpdateMainMethodIndex(methodOffset, recordName); in ProcessClasses() 117 auto it = processedMethod.find(methodOffset); in ProcessClasses() 121 recordName, methodOffset, classConstructIndexes); in ProcessClasses() 122 … processedMethod[methodOffset] = std::make_pair(methodPcInfos.size() - 1, methodOffset); in ProcessClasses() 129 SetMethodPcInfoIndex(methodOffset, processedMethod[methodOffset]); in ProcessClasses() 235 uint32_t methodOffset, std::vector<panda_file::File::EntityId> &classConstructIndexes) in CollectMethodPcsFromBC() argument 266 bytecodeInfo_.SetMethodOffsetToFastCallInfo(methodOffset, canFastCall, noGC); in CollectMethodPcsFromBC() 271 void BytecodeInfoCollector::SetMethodPcInfoIndex(uint32_t methodOffset, in SetMethodPcInfoIndex() argument 291 auto iter = methodList.find(methodOffset); in SetMethodPcInfoIndex() [all …]
|
D | type_recorder.cpp | 47 uint32_t methodOffset = fieldId.GetOffset(); in LoadTypes() local 48 TypeAnnotationExtractor annoExtractor(jsPandaFile, methodOffset); in LoadTypes() 52 &thisGT, tsManager, methodOffset](const int32_t bcIdx, const uint32_t typeId) { in LoadTypes() 57 TypeLocation loc(jsPandaFile, methodOffset, bcIdx); in LoadTypes() 72 auto methodIter = methodList.find(methodOffset); in LoadTypes() 152 uint32_t methodOffset = methodLiteral->GetMethodId().GetOffset(); in CreateTypesForPGO() local 154 …bcInfo->IterateInfoAndType(methodOffset, [this, &typeParser, methodOffset, &recordName, &jsPandaFi… in CreateTypesForPGO() 178 TypeLocation loc(jsPandaFile, methodOffset, bcIdx); in CreateTypesForPGO() 184 … jsPandaFile, recordName, methodOffset, cpIdx, it->second, type, decoder_, enableOptTrackField_ }); in CreateTypesForPGO()
|
D | pass_manager.cpp | 74 uint32_t methodOffset, in Compile() 84 tsManager->SetCurConstantPool(jsPandaFile, methodOffset); in Compile() 109 TimeScope timeScope("BytecodeToCircuit", methodName, methodOffset, log_); in Compile() 114 … methodLiteral, methodOffset, vm_->GetNativeAreaAllocator(), decoder, passOptions_); in Compile()
|
D | ts_inline_lowering.cpp | 88 auto methodOffset = tsManager_->GetFuncMethodOffset(gt); in TryInline() local 89 if (methodOffset == 0 || ctx_->IsSkippedMethod(methodOffset)) { in TryInline() 92 if (IsRecursiveFunc(info, methodOffset)) { in TryInline() 95 inlinedMethod = ctx_->GetJSPandaFile()->FindMethodLiteral(methodOffset); in TryInline() 100 auto &methodInfo = bytecodeInfo.GetMethodList().at(methodOffset); in TryInline() 112 AnalyseFastAccessor(info, methodPcInfo.pcOffsets, methodOffset); in TryInline() 481 auto methodOffset = tsManager_->GetFuncMethodOffset(funcGt); in InlineFuncCheck() local 483 … MachineType::I1, {callState, callDepend, inlineFunc, builder_.IntPtr(methodOffset), frameState}, in InlineFuncCheck()
|
D | pass_manager.h | 89 bool IsSkippedMethod(uint32_t methodOffset) const in IsSkippedMethod() argument 91 return bcInfoCollector_->IsSkippedMethod(methodOffset); in IsSkippedMethod()
|
D | ts_inline_lowering.h | 112 … NativeAreaAllocator* nativeAreaAllocator, PassOptions *options, uint32_t methodOffset) in TSInlineLowering() argument 129 initMethodOffset_(methodOffset) {} in TSInlineLowering()
|
D | compiler_log.cpp | 88 TimeScope::TimeScope(std::string name, std::string methodName, uint32_t methodOffset, CompilerLog* … in TimeScope() argument 89 … name_(std::move(name)), methodName_(std::move(methodName)), methodOffset_(methodOffset), log_(log) in TimeScope()
|
D | compiler_log.h | 180 TimeScope(std::string name, std::string methodName, uint32_t methodOffset, CompilerLog* log);
|
D | pass.h | 54 uint32_t methodOffset = 0, NativeAreaAllocator *allocator = nullptr, 58 … methodOffset_(methodOffset), allocator_(allocator), decoder_(decoder), passOptions_(passOptions) in builder_()
|
D | ts_hcr_lowering.cpp | 1309 auto methodOffset = tsManager_->GetFuncMethodOffset(funcGt); in CheckFastCallThisCallTarget() local 1311 func, builder_.IntPtr(methodOffset), gate); in CheckFastCallThisCallTarget() 1325 auto methodOffset = tsManager_->GetFuncMethodOffset(funcGt); in CheckCallThisCallTarget() local 1327 func, builder_.IntPtr(methodOffset), gate); in CheckCallThisCallTarget()
|
/arkcompiler/ets_runtime/ecmascript/jspandafile/ |
D | type_literal_extractor.cpp | 36 static uint32_t GetMethodAnnoOffset(const JSPandaFile *jsPandaFile, uint32_t methodOffset, const ch… in GetMethodAnnoOffset() argument 39 EntityId methodId(methodOffset); in GetMethodAnnoOffset() 231 …tionExtractor::TypeAnnotationExtractor(const JSPandaFile *jsPandaFile, const uint32_t methodOffset) in TypeAnnotationExtractor() argument 233 ProcessTypeAnnotation(jsPandaFile, methodOffset); in TypeAnnotationExtractor() 237 …tationExtractor::ProcessTypeAnnotation(const JSPandaFile *jsPandaFile, const uint32_t methodOffset) in ProcessTypeAnnotation() argument 239 uint32_t annoOffset = GetMethodAnnoOffset(jsPandaFile, methodOffset, TYPE_ANNO_ELEMENT_NAME); in ProcessTypeAnnotation() 336 uint32_t methodOffset = jsPandaFile->GetMainMethodIndex(recordName); in ProcessExportTable() local 337 uint32_t annoOffset = GetMethodAnnoOffset(jsPandaFile, methodOffset, name); in ProcessExportTable()
|
D | type_literal_extractor.h | 169 explicit TypeAnnotationExtractor(const JSPandaFile *jsPandaFile, const uint32_t methodOffset); 202 void ProcessTypeAnnotation(const JSPandaFile *jsPandaFile, const uint32_t methodOffset);
|
D | panda_file_translator.cpp | 61 auto methodOffset = methodId.GetOffset(); in TranslateClasses() local 64 jsPandaFile->UpdateMainMethodIndex(methodOffset); in TranslateClasses() 69 jsPandaFile->UpdateMainMethodIndex(methodOffset, recordName); in TranslateClasses()
|
/arkcompiler/ets_runtime/ecmascript/ts_types/ |
D | global_type_info.h | 79 explicit TypeLocation(const JSPandaFile *jsPandaFile, uint32_t methodOffset, in TypeLocation() argument 81 : jsPandaFile_(jsPandaFile), methodOffset_(methodOffset), bcIdx_(bcIdx) {} in TypeLocation()
|
D | ts_manager.cpp | 569 uint32_t methodOffset = functionType->GetMethodOffset(); in GetMethodIndex() local 571 return constantPool->GetMethodIndexByEntityId(panda_file::File::EntityId(methodOffset)); in GetMethodIndex() 1203 void TSManager::SetCurConstantPool(const JSPandaFile *jsPandaFile, uint32_t methodOffset) in SetCurConstantPool() argument 1205 curCPID_ = GetConstantPoolIDByMethodOffset(jsPandaFile, methodOffset); in SetCurConstantPool() 1209 …t TSManager::GetConstantPoolIDByMethodOffset(const JSPandaFile *jsPandaFile, uint32_t methodOffset) in GetConstantPoolIDByMethodOffset() argument 1212 panda_file::File::EntityId(methodOffset)); in GetConstantPoolIDByMethodOffset() 1302 uint32_t methodOffset = oldCP->GetEntityId(data.index).GetOffset(); in FillSnapshotConstantPoolList() local 1306 if (!bcInfoCollector->IsSkippedMethod(methodOffset)) { in FillSnapshotConstantPoolList() 1309 newCP->SetObjectToCache(thread_, data.index, JSTaggedValue(methodOffset)); in FillSnapshotConstantPoolList() 1415 … auto methodOffset = JSHandle<JSFunction>(valueHandle)->GetCallTarget()->GetMethodId().GetOffset(); in CollectLiteralInfo() local [all …]
|
D | ts_manager.h | 291 void PUBLIC_API SetFuncMethodOffset(GlobalTSTypeRef gt, uint32_t methodOffset); 397 inline void StoreNamespaceType(const uint32_t methodOffset, const kungfu::GateType type) in StoreNamespaceType() argument 399 methodOffsetToType_.insert(std::make_pair(methodOffset, type)); in StoreNamespaceType() 402 inline kungfu::GateType GetNamespaceObjType(const uint32_t methodOffset) const in GetNamespaceObjType() argument 404 ASSERT(HasInferredNamespaceType(methodOffset)); in GetNamespaceObjType() 405 return methodOffsetToType_.at(methodOffset); in GetNamespaceObjType() 408 inline bool HasInferredNamespaceType(const uint32_t methodOffset) const in HasInferredNamespaceType() argument 410 return methodOffsetToType_.find(methodOffset) != methodOffsetToType_.end(); in HasInferredNamespaceType() 565 void PUBLIC_API SetCurConstantPool(const JSPandaFile *jsPandaFile, uint32_t methodOffset); 567 … PUBLIC_API GetConstantPoolIDByMethodOffset(const JSPandaFile *jsPandaFile, uint32_t methodOffset);
|
D | ts_type_parser.cpp | 514 uint32_t methodOffset = bcInfo_->IterateFunctionTypeIDAndMethodOffset(typeOffset); in StoreMethodOffset() local 515 if (methodOffset != 0) { in StoreMethodOffset() 516 functionType->SetMethodOffset(methodOffset); in StoreMethodOffset() 519 … kungfu::FastCallInfo info = bcInfo_->IterateMethodOffsetToFastCallInfo(methodOffset, &isVaild); in StoreMethodOffset()
|
D | ts_type_parser.h | 39 uint32_t methodOffset; member
|