Lines Matching full:method
32 #include "runtime/include/method.h"
46 inline panda::Method *MethodCast(RuntimeInterface::MethodPtr method) in MethodCast() argument
48 return static_cast<panda::Method *>(method); in MethodCast()
68 RuntimeInterface::MethodPtr GetSingleImplementation(RuntimeInterface::MethodPtr method) override in GetSingleImplementation() argument
70 return static_cast<Method *>(method)->GetSingleImplementation(); in GetSingleImplementation()
72 bool IsSingleImplementation(RuntimeInterface::MethodPtr method) override in IsSingleImplementation() argument
74 return static_cast<Method *>(method)->HasSingleImplementation(); in IsSingleImplementation()
87 bool AddTableSlot(RuntimeInterface::MethodPtr method, uint32_t type_id, SlotKind kind) override;
88 …uintptr_t GetTableSlot(RuntimeInterface::MethodPtr method, uint32_t type_id, SlotKind kind) const …
138 BinaryFilePtr GetBinaryFileForMethod(MethodPtr method) const override in GetBinaryFileForMethod() argument
140 return const_cast<panda_file::File *>(MethodCast(method)->GetPandaFile()); in GetBinaryFileForMethod()
150 * Method information
154 MethodId GetMethodId(MethodPtr method) const override;
156 IntrinsicId GetIntrinsicId([[maybe_unused]] MethodPtr method) const override;
158 MethodPtr ResolveVirtualMethod(ClassPtr cls, MethodPtr method) const override;
160 MethodPtr ResolveInterfaceMethod(ClassPtr cls, MethodPtr method) const override;
162 compiler::DataType::Type GetMethodReturnType(MethodPtr method) const override in GetMethodReturnType() argument
164 return ToCompilerType(MethodCast(method)->GetEffectiveReturnType()); in GetMethodReturnType()
166 … compiler::DataType::Type GetMethodTotalArgumentType(MethodPtr method, size_t index) const override in GetMethodTotalArgumentType() argument
168 return ToCompilerType(MethodCast(method)->GetEffectiveArgType(index)); in GetMethodTotalArgumentType()
170 size_t GetMethodTotalArgumentsCount(MethodPtr method) const override in GetMethodTotalArgumentsCount() argument
172 return MethodCast(method)->GetNumArgs(); in GetMethodTotalArgumentsCount()
175 bool IsMemoryBarrierRequired(MethodPtr method) const override;
182 size_t GetMethodArgumentsCount(MethodPtr method) const override in GetMethodArgumentsCount() argument
184 return MethodCast(method)->GetNumArgs(); in GetMethodArgumentsCount()
186 size_t GetMethodRegistersCount(MethodPtr method) const override in GetMethodRegistersCount() argument
188 return MethodCast(method)->GetNumVregs(); in GetMethodRegistersCount()
190 const uint8_t *GetMethodCode(MethodPtr method) const override in GetMethodCode() argument
192 return MethodCast(method)->GetInstructions(); in GetMethodCode()
194 size_t GetMethodCodeSize(MethodPtr method) const override in GetMethodCodeSize() argument
196 return MethodCast(method)->GetCodeSize(); in GetMethodCodeSize()
198 compiler::SourceLanguage GetMethodSourceLanguage(MethodPtr method) const override in GetMethodSourceLanguage() argument
200 … return static_cast<compiler::SourceLanguage>(MethodCast(method)->GetClass()->GetSourceLang()); in GetMethodSourceLanguage()
202 void SetCompiledEntryPoint(MethodPtr method, void *ep) override in SetCompiledEntryPoint() argument
204 MethodCast(method)->SetCompiledEntryPoint(ep); in SetCompiledEntryPoint()
206 void SetOsrCode(MethodPtr method, void *ep) override in SetOsrCode() argument
209 ASSERT(compiler->GetOsrCode(static_cast<const Method *>(method)) == nullptr); in SetOsrCode()
210 compiler->SetOsrCode(static_cast<const Method *>(method), ep); in SetOsrCode()
212 void *GetOsrCode(MethodPtr method) override in GetOsrCode() argument
214 …turn Thread::GetCurrent()->GetVM()->GetCompiler()->GetOsrCode(static_cast<const Method *>(method)); in GetOsrCode()
216 bool HasCompiledCode(MethodPtr method) override in HasCompiledCode() argument
218 return MethodCast(method)->HasCompiledCode(); in HasCompiledCode()
226 uint32_t GetVTableIndex(MethodPtr method) const override in GetVTableIndex() argument
228 return MethodCast(method)->GetVTableIndex(); in GetVTableIndex()
231 size_t GetClassIdForField(MethodPtr method, size_t field_id) const override in GetClassIdForField() argument
234 …panda_file::FieldDataAccessor(*MethodCast(method)->GetPandaFile(), panda_file::File::EntityId(fiel… in GetClassIdForField()
245 size_t GetClassIdForMethod(MethodPtr method) const override in GetClassIdForMethod() argument
247 …auto mda = panda_file::MethodDataAccessor(*MethodCast(method)->GetPandaFile(), MethodCast(method)-… in GetClassIdForMethod()
258 bool HasNativeException(MethodPtr method) const override;
261 bool IsMethodIntrinsic(MethodPtr method) const override in IsMethodIntrinsic() argument
263 return MethodCast(method)->IsIntrinsic(); in IsMethodIntrinsic()
266 bool IsMethodAbstract(MethodPtr method) const override in IsMethodAbstract() argument
268 return MethodCast(method)->IsAbstract(); in IsMethodAbstract()
273 bool IsMethodFinal(MethodPtr method) const override in IsMethodFinal() argument
275 return MethodCast(method)->IsFinal(); in IsMethodFinal()
279 bool IsMethodStatic(MethodPtr method) const override;
281 bool IsMethodCanBeInlined(MethodPtr method) const override in IsMethodCanBeInlined() argument
283 auto method_ptr = MethodCast(method); in IsMethodCanBeInlined()
287 bool IsMethodStaticConstructor([[maybe_unused]] MethodPtr method) const override;
289 std::string GetFileName(MethodPtr method) const override in GetFileName() argument
291 return MethodCast(method)->GetPandaFile()->GetFilename(); in GetFileName()
294 std::string GetClassNameFromMethod(MethodPtr method) const override in GetClassNameFromMethod() argument
297 return MethodCast(method)->GetClass()->GetName(); in GetClassNameFromMethod()
306 std::string GetMethodName(MethodPtr method) const override in GetMethodName() argument
308 return utf::Mutf8AsCString(MethodCast(method)->GetName().data); in GetMethodName()
311 int64_t GetBranchTakenCounter(MethodPtr method, uint32_t pc) const override in GetBranchTakenCounter() argument
313 return MethodCast(method)->GetBranchTakenCounter(pc); in GetBranchTakenCounter()
316 int64_t GetBranchNotTakenCounter(MethodPtr method, uint32_t pc) const override in GetBranchNotTakenCounter() argument
318 return MethodCast(method)->GetBranchNotTakenCounter(pc); in GetBranchNotTakenCounter()
321 std::string GetMethodFullName(MethodPtr method, bool with_signature) const override in GetMethodFullName() argument
323 return std::string(MethodCast(method)->GetFullName(with_signature)); in GetMethodFullName()
326 ClassPtr GetClass(MethodPtr method) const override in GetClass() argument
329 return reinterpret_cast<ClassPtr>(MethodCast(method)->GetClass()); in GetClass()
332 std::string GetBytecodeString(MethodPtr method, uintptr_t pc) const override;
334 … panda::pandasm::LiteralArray GetLiteralArray(MethodPtr method, LiteralArrayId id) const override;
338 bool IsInterfaceMethod(MethodPtr method) const override;
340 bool IsInstanceConstructor(MethodPtr method) const override in IsInstanceConstructor() argument
342 return MethodCast(method)->IsInstanceConstructor(); in IsInstanceConstructor()
345 bool CanThrowException(MethodPtr method) const override;
360 uint32_t GetArrayElementSize(MethodPtr method, IdType id) const override;
362 uintptr_t GetPointerToConstArrayData(MethodPtr method, IdType id) const override;
364 size_t GetOffsetToConstArrayData(MethodPtr method, IdType id) const override;
374 object_pointer_type GetNonMovableString(MethodPtr method, StringId id) const override;
376 ClassPtr GetStringClass(MethodPtr method) const override;
396 ClassPtr GetClass(MethodPtr method, IdType id) const override;
398 compiler::ClassType GetClassType(MethodPtr method, IdType id) const override;
400 bool IsArrayClass(MethodPtr method, IdType id) const override;
439 std::optional<IdType> FindClassIdInFile(MethodPtr method, ClassPtr cls) const;
440 IdType GetClassIdWithinFile(MethodPtr method, ClassPtr cls) const override;
441 …IdType GetLiteralArrayClassIdWithinFile(MethodPtr method, panda_file::LiteralTag tag) const overri…
453 …FieldPtr ResolveField(MethodPtr method, size_t id, bool allow_external, uint32_t *class_id) overri…
477 PandaRuntimeInterface::ClassPtr ResolveType(MethodPtr method, size_t id) const override;
627 bool CompileMethod(Method *method, uintptr_t bytecode_offset, bool osr) override;
640 * Basic method, which starts compilation. Do not use.
650 void *GetOsrCode(const Method *method) override in GetOsrCode() argument
652 return osr_code_map_.Get(method); in GetOsrCode()
655 void SetOsrCode(const Method *method, void *ptr) override in SetOsrCode() argument
657 osr_code_map_.Set(method, ptr); in SetOsrCode()
660 void RemoveOsrCode(const Method *method) override in RemoveOsrCode() argument
662 osr_code_map_.Remove(method); in RemoveOsrCode()
667 * Add a method as a compilation task into a queue.