/arkcompiler/runtime_core/static_core/runtime/coroutines/ |
H A D | coroutine.h | 69 Method *entrypoint; member 83 : completionEvent(event), entrypoint(entry), arguments(std::move(args)) in ManagedEntrypointInfo() 94 NativeEntrypointFunc entrypoint; 101 * @param arguments a parameter which will be passed to the entrypoint (usually some object pointer) 103 explicit NativeEntrypointInfo(NativeEntrypointFunc entry, void *data) : entrypoint(entry), param(data) in NativeEntrypointInfo() 130 * finish execution of their entrypoint method. 183 * @brief Indicate that coroutine entrypoint execution is finished. Propagates the coroutine 199 /// Get coroutine's managed entrypoint method. 203 return std::get<ManagedEntrypointData>(entrypoint_).entrypoint; in GetManagedEntrypoint() 206 /// Get coroutine's managed entrypoint arg 272 Method *entrypoint = nullptr; global() member 288 NativeEntrypointInfo::NativeEntrypointFunc entrypoint; global() member [all...] |
H A D | threaded_coroutine_manager.cpp | 155 Coroutine *ThreadedCoroutineManager::Launch(CompletionEvent *completionEvent, Method *entrypoint, in Launch() argument 160 auto *result = LaunchImpl(completionEvent, entrypoint, std::move(arguments)); in Launch() 339 Coroutine *ThreadedCoroutineManager::LaunchImpl(CompletionEvent *completionEvent, Method *entrypoint, in LaunchImpl() argument 346 auto coroName = entrypoint->GetFullName(); in LaunchImpl() 347 Coroutine *co = CreateCoroutineInstance(completionEvent, entrypoint, std::move(arguments), std::move(coroName)); in LaunchImpl()
|
H A D | stackful_coroutine_manager.h | 46 Coroutine *Launch(CompletionEvent *completionEvent, Method *entrypoint, PandaVector<Value> &&arguments, 110 void ReuseCoroutineInstance(Coroutine *co, CompletionEvent *completionEvent, Method *entrypoint, 118 Coroutine *LaunchImpl(CompletionEvent *completionEvent, Method *entrypoint, PandaVector<Value> &&arguments,
|
H A D | stackful_coroutine_manager.cpp | 282 Coroutine *StackfulCoroutineManager::Launch(CompletionEvent *completionEvent, Method *entrypoint, in Launch() argument 291 auto *result = LaunchImpl(completionEvent, entrypoint, std::move(arguments), mode); in Launch() 392 Method *entrypoint, PandaVector<Value> &&arguments, in ReuseCoroutineInstance() 397 Coroutine::ManagedEntrypointInfo {completionEvent, entrypoint, std::move(arguments)}); in ReuseCoroutineInstance() 483 Coroutine *StackfulCoroutineManager::LaunchImpl(CompletionEvent *completionEvent, Method *entrypoint, in LaunchImpl() argument 489 auto coroName = entrypoint->GetFullName(); in LaunchImpl() 496 ReuseCoroutineInstance(co, completionEvent, entrypoint, std::move(arguments), std::move(coroName)); in LaunchImpl() 498 co = CreateCoroutineInstance(completionEvent, entrypoint, std::move(arguments), std::move(coroName)); in LaunchImpl() 391 ReuseCoroutineInstance(Coroutine *co, CompletionEvent *completionEvent, Method *entrypoint, PandaVector<Value> &&arguments, PandaString name) ReuseCoroutineInstance() argument
|
H A D | coroutine_manager.h | 81 * std::nullopt (i.e. no entrypoint present) then the following rules apply: 87 * The "main" coroutine (the EP of the application) is the specific example of such "no entrypoint" coroutine 124 * @param entrypoint the coroutine entrypoint method 125 * @param arguments array of coroutine's entrypoint arguments 127 virtual Coroutine *Launch(CompletionEvent *completionEvent, Method *entrypoint, PandaVector<Value> &&arguments, 164 /// Destroy a coroutine with an entrypoint 208 Coroutine *CreateCoroutineInstance(CompletionEvent *completionEvent, Method *entrypoint,
|
H A D | coroutine_manager.cpp | 85 Coroutine *CoroutineManager::CreateCoroutineInstance(CompletionEvent *completionEvent, Method *entrypoint, in CreateCoroutineInstance() argument 100 Coroutine::ManagedEntrypointInfo {completionEvent, entrypoint, std::move(arguments)}); in CreateCoroutineInstance()
|
H A D | threaded_coroutine_manager.h | 46 Coroutine *Launch(CompletionEvent *completionEvent, Method *entrypoint, PandaVector<Value> &&arguments, 87 Coroutine *LaunchImpl(CompletionEvent *completionEvent, Method *entrypoint, PandaVector<Value> &&arguments,
|
H A D | coroutine.cpp | 71 entrypoint_.emplace<ManagedEntrypointData>(managedEp.completionEvent, managedEp.entrypoint, in SetEntrypointData() 75 entrypoint_ = NativeEntrypointData(nativeEp.entrypoint, nativeEp.param); in SetEntrypointData()
|
/arkcompiler/runtime_core/static_core/plugins/ets/compiler/ |
H A D | codegen_intrinsics_ets.cpp | 125 RuntimeInterface::EntrypointId entrypoint) in GenerateSbAppendCall() 132 cg->CallFastPath(inst, entrypoint, args.Dst(), {}, args.Builder(), args.Value(), klass); in GenerateSbAppendCall() 135 cg->CallFastPath(inst, entrypoint, args.Dst(), {}, args.Builder(), args.Value(), klass); in GenerateSbAppendCall() 162 auto entrypoint = EntrypointId::STRING_BUILDER_APPEND_CHAR_COMPRESSED; in CreateStringBuilderAppendChar() local 164 GenerateSbAppendCall(this, inst, args, entrypoint); in CreateStringBuilderAppendChar() 175 auto entrypoint = RuntimeInterface::EntrypointId::STRING_BUILDER_APPEND_NULL_STRING; in EncodeSbAppendNullString() local 176 cg->CallRuntime(inst, entrypoint, dst, {}, builder); in EncodeSbAppendNullString() 331 auto entrypoint = GetStringBuilderAppendStringsEntrypointId(2U, GetGraph()->GetRuntime()->GetPostType()); in CreateStringBuilderAppendStrings() local 332 CallFastPath(inst, entrypoint, dst, {}, builder, str0, str1); in CreateStringBuilderAppendStrings() 338 auto entrypoint in CreateStringBuilderAppendStrings() local 124 GenerateSbAppendCall(Codegen *cg, IntrinsicInst *inst, SbAppendArgs args, RuntimeInterface::EntrypointId entrypoint) GenerateSbAppendCall() argument 346 auto entrypoint = GetStringBuilderAppendStringsEntrypointId(4U, GetGraph()->GetRuntime()->GetPostType()); CreateStringBuilderAppendStrings() local 397 auto entrypoint = EntrypointId::STRING_BUILDER_TO_STRING; CreateStringBuilderToString() local 417 auto entrypoint = EntrypointId::DOUBLE_TO_STRING_DECIMAL; CreateDoubleToStringDecimal() local 425 auto entrypoint = RuntimeInterface::EntrypointId::CHAR_IS_WHITE_SPACE; CreateCharIsWhiteSpace() local [all...] |
/arkcompiler/runtime_core/panda/ |
H A D | panda.cpp | 92 << " [OPTIONS] [file] [entrypoint] -- [arguments]" << std::endl; in PrintHelp() 99 const panda::PandArg<std::string> &file, const panda::PandArg<std::string> &entrypoint, in PrepareArguments() 116 if (file.GetValue().empty() || entrypoint.GetValue().empty() || help.GetValue()) { in PrepareArguments() 142 panda::PandArg<std::string> &entrypoint, RuntimeOptions &runtime_options) in ExecutePandaFile() 156 std::string entry = entrypoint.GetValue(); in ExecutePandaFile() 201 panda::PandArg<std::string> entrypoint("entrypoint", "", "full name of entrypoint function or method"); in Main() 210 pa_parser.PushBackTail(&entrypoint); in Main() 214 if (!panda::PrepareArguments(&pa_parser, runtime_options, file, entrypoint, hel in Main() 98 PrepareArguments(panda::PandArgParser *pa_parser, const RuntimeOptions &runtime_options, const panda::PandArg<std::string> &file, const panda::PandArg<std::string> &entrypoint, const panda::PandArg<bool> &help, int argc, const char **argv) PrepareArguments() argument 141 ExecutePandaFile(panda::PandArg<bool> &options, panda::PandArgParser &pa_parser, panda::PandArg<std::string> &file, panda::PandArg<std::string> &entrypoint, RuntimeOptions &runtime_options) ExecutePandaFile() argument [all...] |
/arkcompiler/runtime_core/static_core/panda/ |
H A D | panda.cpp | 63 << " [OPTIONS] [file] [entrypoint] -- [arguments]" << std::endl; in PrintHelp() 70 const ark::PandArg<std::string> &file, const ark::PandArg<std::string> &entrypoint, in PrepareArguments() 78 if (file.GetValue().empty() || entrypoint.GetValue().empty() || help.GetValue()) { in PrepareArguments() 129 ark::PandArg<std::string> &file, ark::PandArg<std::string> &entrypoint) in GetPandArgParser() 136 paParser.PushBackTail(&entrypoint); in GetPandArgParser() 175 ark::PandArg<std::string> entrypoint("entrypoint", "", "full name of entrypoint function or method"); in Main() 177 ark::PandArgParser paParser = GetPandArgParser(help, options, file, entrypoint); in Main() 198 if (!ark::PrepareArguments(&paParser, runtimeOptions, file, entrypoint, hel in Main() 69 PrepareArguments(ark::PandArgParser *paParser, const RuntimeOptions &runtimeOptions, const ark::PandArg<std::string> &file, const ark::PandArg<std::string> &entrypoint, const ark::PandArg<bool> &help) PrepareArguments() argument 128 GetPandArgParser(ark::PandArg<bool> &help, ark::PandArg<bool> &options, ark::PandArg<std::string> &file, ark::PandArg<std::string> &entrypoint) GetPandArgParser() argument [all...] |
/arkcompiler/runtime_core/static_core/runtime/ |
H A D | signal_handler.cpp | 251 auto entrypoint = reinterpret_cast<uintptr_t>((reinterpret_cast<Method *>(pmethod))->GetCompiledEntryPoint()); in FindCompilerEntrypoint() local 252 if (IsInvalidPointer(entrypoint)) { in FindCompilerEntrypoint() 256 if (!InAllocatedCodeRange(entrypoint)) { in FindCompilerEntrypoint() 257 LOG(INFO, RUNTIME) << "Runtime SEGV handler: the entrypoint is not from JIT code"; in FindCompilerEntrypoint() 261 if (!compiler::CodeInfo::VerifyCompiledEntry(entrypoint)) { in FindCompilerEntrypoint() 266 return entrypoint; in FindCompilerEntrypoint() 313 uintptr_t entrypoint = FindCompilerEntrypoint(signalContext.GetFP()); in DetectSEGVFromCode() local 314 if (entrypoint == 0) { in DetectSEGVFromCode() 318 compiler::CodeInfo codeinfo(compiler::CodeInfo::GetCodeOriginFromEntryPoint(ToVoidPtr(entrypoint))); in DetectSEGVFromCode() 321 if ((pc < entrypoint) || (p in DetectSEGVFromCode() 344 uintptr_t entrypoint = FindCompilerEntrypoint(signalContext.GetFP()); DetectSEGVFromNullCheck() local [all...] |
H A D | panda_vm.cpp | 56 Expected<int, Runtime::Error> PandaVM::InvokeEntrypoint(Method *entrypoint, const std::vector<std::string> &args) in InvokeEntrypoint() argument 58 if (!CheckEntrypointSignature(entrypoint)) { in InvokeEntrypoint() 59 LOG(ERROR, RUNTIME) << "Method '" << entrypoint << "' has invalid signature"; in InvokeEntrypoint() 62 Expected<int, Runtime::Error> ret = InvokeEntrypointImpl(entrypoint, args); in InvokeEntrypoint()
|
/arkcompiler/runtime_core/static_core/plugins/ets/runtime/ |
H A D | ets_vm.cpp | 384 bool PandaEtsVM::CheckEntrypointSignature(Method *entrypoint) in CheckEntrypointSignature() argument 386 ASSERT(entrypoint != nullptr); in CheckEntrypointSignature() 388 if (entrypoint->GetNumArgs() == 0) { in CheckEntrypointSignature() 392 if (entrypoint->GetNumArgs() > 1) { in CheckEntrypointSignature() 396 auto *pf = entrypoint->GetPandaFile(); in CheckEntrypointSignature() 398 panda_file::MethodDataAccessor mda(*pf, entrypoint->GetFileId()); in CheckEntrypointSignature() 459 Expected<int, Runtime::Error> PandaEtsVM::InvokeEntrypointImpl(Method *entrypoint, const std::vector<std::string> &args) in InvokeEntrypointImpl() argument 461 ASSERT(Runtime::GetCurrent()->GetLanguageContext(*entrypoint).GetLanguage() == panda_file::SourceLang::ETS); in InvokeEntrypointImpl() 467 if (!classLinker_->InitializeClass(coroutine, EtsClass::FromRuntimeClass(entrypoint->GetClass()))) { in InvokeEntrypointImpl() 468 LOG(ERROR, RUNTIME) << "Cannot initialize class '" << entrypoint in InvokeEntrypointImpl() 612 Method *entrypoint = coroutine->GetManagedEntrypoint(); HandleEmptyArguments() local [all...] |
H A D | ets_coroutine.cpp | 131 Method *entrypoint = GetManagedEntrypoint(); in GetReturnType() local 132 ASSERT(entrypoint != nullptr); in GetReturnType() 133 return entrypoint->GetReturnType(); in GetReturnType()
|
/arkcompiler/runtime_core/static_core/runtime/core/ |
H A D | core_vm.cpp | 211 bool PandaCoreVM::CheckEntrypointSignature(Method *entrypoint) in CheckEntrypointSignature() argument 213 if (entrypoint->GetNumArgs() == 0) { in CheckEntrypointSignature() 217 if (entrypoint->GetNumArgs() > 1) { in CheckEntrypointSignature() 221 auto *pf = entrypoint->GetPandaFile(); in CheckEntrypointSignature() 222 panda_file::MethodDataAccessor mda(*pf, entrypoint->GetFileId()); in CheckEntrypointSignature() 259 Expected<int, Runtime::Error> PandaCoreVM::InvokeEntrypointImpl(Method *entrypoint, in InvokeEntrypointImpl() argument 264 LanguageContext ctx = runtime->GetLanguageContext(*entrypoint); in InvokeEntrypointImpl() 269 if (!classLinker->InitializeClass(thread, entrypoint->GetClass())) { in InvokeEntrypointImpl() 270 LOG(ERROR, RUNTIME) << "Cannot initialize class '" << entrypoint->GetClass()->GetName() << "'"; in InvokeEntrypointImpl() 275 if (entrypoint in InvokeEntrypointImpl() [all...] |
H A D | core_vm.h | 165 bool CheckEntrypointSignature(Method *entrypoint) override; 166 Expected<int, Runtime::Error> InvokeEntrypointImpl(Method *entrypoint,
|
/arkcompiler/ets_runtime/ecmascript/base/ |
H A D | builtins_base.h | 108 static constexpr BuiltinFunctionEntry Create(std::string_view name, EcmaEntrypoint entrypoint, in Create() argument 118 return BuiltinFunctionEntry(name, entrypoint, bitfield); in Create() 156 constexpr BuiltinFunctionEntry(std::string_view name, EcmaEntrypoint entrypoint, uint64_t bitfield) in BuiltinFunctionEntry() argument 157 : name_(name), entrypoint_(entrypoint), bitfield_(bitfield) {} in BuiltinFunctionEntry()
|
/arkcompiler/runtime_core/static_core/libllvmbackend/templates/ |
H A D | entrypoints.rb | 76 @dscr.entrypoint.nil? ? "#{name}Entrypoint" : @dscr.entrypoint
|
/arkcompiler/runtime_core/static_core/tests/panda/run/panda-options/ |
H A D | panda_options.cpp | 66 std::string entrypoint = std::string(main_class) + "::" + std::string(main_function); in TEST_F() local 70 entrypoint.data()); in TEST_F()
|
/arkcompiler/runtime_core/static_core/libllvmbackend/lowering/ |
H A D | gc_barriers.cpp | 54 // Check if entrypoint is null in EmitPreWRB() 55 auto entrypoint = in EmitPreWRB() local 57 auto hasEntrypoint = builder->CreateIsNotNull(entrypoint); in EmitPreWRB() 76 builder->CreateCall(functionType, entrypoint, {load}); in EmitPreWRB()
|
/arkcompiler/runtime_core/static_core/runtime/include/ |
H A D | panda_vm.h | 80 virtual Expected<int, Runtime::Error> InvokeEntrypoint(Method *entrypoint, const std::vector<std::string> &args); 242 virtual bool CheckEntrypointSignature(Method *entrypoint) = 0; 243 virtual Expected<int, Runtime::Error> InvokeEntrypointImpl(Method *entrypoint,
|
/arkcompiler/runtime_core/static_core/libllvmbackend/transforms/ |
H A D | runtime_calls.cpp | 38 llvm::FunctionCallee GetPandaRuntimeFunctionCallee(int entrypoint, llvm::FunctionType *functionProto, in GetPandaRuntimeFunctionCallee() argument 44 auto epAddrPtr = builder->CreateConstInBoundsGEP2_32(arrayType, table, 0, entrypoint); in GetPandaRuntimeFunctionCallee()
|
H A D | runtime_calls.h | 35 llvm::FunctionCallee GetPandaRuntimeFunctionCallee(int entrypoint, llvm::FunctionType *functionProto,
|
/arkcompiler/runtime_core/static_core/runtime/entrypoints/ |
H A D | entrypoints.rb | 21 if self.entrypoint.nil? && !self.external? 22 raise "Entrypoint description must contains 'entrypoint' field: #{dscr.marshal_dump}" 24 abort "ERROR: 'bridge' field must be specified for #{self.entrypoint}" unless dscr['bridge'] # !self.respond_to? 'bridge'
|