| /arkcompiler/runtime_core/static_core/runtime/entrypoints/ |
| D | entrypoints.yaml | 39 - ark::Method* 65 - const ark::ObjectHeader* 66 - ark::Class* 74 - const ark::ObjectHeader* 75 - ark::Class* 83 - const ark::ObjectHeader* 84 - ark::Class* 92 - const ark::ObjectHeader* 93 - ark::Class* 101 - ark::coretypes::Array* [all …]
|
| /arkcompiler/runtime_core/gn/ark-third-party/icu/ |
| D | BUILD.gn | 20 "$ark_root/ark-third-party/icu/icu4c/source/common", 21 "$ark_root/ark-third-party/icu/icu4c/source/i18n", 22 "$ark_root/ark-third-party/icu/icu4c/source", 33 [ "$ark_root/ark-third-party/icu/icu4c/source/stubdata/stubdata.cpp" ] 50 source = "$ark_root/ark-third-party/icu/ohos_icu4j/data/icudt67l.dat" 57 "$ark_root/ark-third-party/icu/icu4c/source/common/ubiditransform.cpp", 58 "$ark_root/ark-third-party/icu/icu4c/source/common/locutil.cpp", 59 "$ark_root/ark-third-party/icu/icu4c/source/common/cstring.cpp", 60 "$ark_root/ark-third-party/icu/icu4c/source/common/rbbiscan.cpp", 61 "$ark_root/ark-third-party/icu/icu4c/source/common/utrie.cpp", [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/runtime/ |
| D | ets_entrypoints.yaml | 30 - ark::Method* 31 - ark::ObjectHeader* 40 - ark::Method* 41 - ark::ObjectHeader* 43 - ark::ObjectHeader* 146 - ark::ObjectHeader* # string builder (result) 147 - ark::ObjectHeader* # string builder 149 - ark::Class* # array class pointer 156 - ark::ObjectHeader* # string builder (result) 157 - ark::ObjectHeader* # string builder [all …]
|
| D | ets_libbase_runtime.yaml | 16 mirror_class: ark::ets::EtsObject 19 mirror_class: ark::ets::EtsClass 22 mirror_class: ark::ets::EtsString 25 mirror_class: ark::ets::EtsPromise 28 mirror_class: ark::ets::EtsCharArray 31 mirror_class: ark::ets::EtsTypeAPIField 34 mirror_class: ark::ets::EtsTypeAPIMethod 37 mirror_class: ark::ets::EtsTypeAPIParameter 40 mirror_class: ark::ets::EtsSharedMemory 43 mirror_class: ark::ets::EtsAtomicFlag [all …]
|
| /arkcompiler/runtime_core/static_core/assembler/ |
| D | pandasm.h | 21 namespace ark::pandasm { 23 void PrintError(const ark::pandasm::Error &e, const std::string &msg); 25 void PrintErrors(const ark::pandasm::ErrorList &warnings, const std::string &msg); 28 bool PrepareArgs(ark::PandArgParser &paParser, const ark::PandArg<std::string> &inputFile, 29 … const ark::PandArg<std::string> &outputFile, const ark::PandArg<std::string> &logFile, 30 …const ark::PandArg<bool> &help, const ark::PandArg<bool> &verbose, std::ifstream &inputfile, int a… 33 bool Tokenize(ark::pandasm::Lexer &lexer, std::vector<std::vector<ark::pandasm::Token>> &tokens, 36 bool ParseProgram(ark::pandasm::Parser &parser, std::vector<std::vector<ark::pandasm::Token>> &toke… 37 const ark::PandArg<std::string> &inputFile, 38 ark::Expected<ark::pandasm::Program, ark::pandasm::Error> &res); [all …]
|
| D | pandasm.cpp | 39 namespace ark::pandasm { namespace 41 void PrintError(const ark::pandasm::Error &e, const std::string &msg) in PrintError() 50 void PrintErrors(const ark::pandasm::ErrorList &warnings, const std::string &msg) in PrintErrors() 57 void PrintHelp(const ark::PandArgParser &paParser) in PrintHelp() 66 bool PrepareArgs(ark::PandArgParser &paParser, const ark::PandArg<std::string> &inputFile, in PrepareArgs() 67 … const ark::PandArg<std::string> &outputFile, const ark::PandArg<std::string> &logFile, in PrepareArgs() 68 …const ark::PandArg<bool> &help, const ark::PandArg<bool> &verbose, const ark::PandArg<bool> &versi… in PrepareArgs() 77 ark::PrintPandaVersion(); in PrepareArgs() 88 ark::Logger::ComponentMask componentMask; in PrepareArgs() 89 componentMask.set(ark::Logger::Component::ASSEMBLER); in PrepareArgs() [all …]
|
| /arkcompiler/runtime_core/libabckit/src/adapter_static/ |
| D | runtime_adapter_static.h | 32 using ark::compiler::RuntimeInterface; 36 explicit AbckitRuntimeAdapterStatic(const ark::panda_file::File &abcFile) : abcFile_(abcFile) {} in AbckitRuntimeAdapterStatic() 43 return const_cast<ark::panda_file::File *>(&abcFile_); in GetBinaryFileForMethod() 71 ark::compiler::DataType::Type GetMethodReturnType(MethodPtr method) const override in GetMethodReturnType() 73 ark::panda_file::MethodDataAccessor mda(abcFile_, MethodCast(method)); in GetMethodReturnType() 74 ark::panda_file::ProtoDataAccessor pda(abcFile_, mda.GetProtoId()); in GetMethodReturnType() 76 return ToCompilerType(ark::panda_file::GetEffectiveType(pda.GetReturnType())); in GetMethodReturnType() 81 ark::panda_file::MethodDataAccessor mda(abcFile_, MethodCast(method)); in GetMethodReturnTypeId() 82 ark::panda_file::ProtoDataAccessor pda(abcFile_, mda.GetProtoId()); in GetMethodReturnTypeId() 87 …ark::compiler::DataType::Type GetMethodTotalArgumentType(MethodPtr method, size_t index) const ove… in GetMethodTotalArgumentType() [all …]
|
| D | helpers_static.cpp | 81 void CheckInvalidOpcodes([[maybe_unused]] ark::compiler::Graph *graph, [[maybe_unused]] bool isDyna… in CheckInvalidOpcodes() 101 AbckitIsaApiStaticOpcode GetStaticOpcode(ark::compiler::Inst *inst) in GetStaticOpcode() 105 case ark::compiler::Opcode::CallStatic: in GetStaticOpcode() 107 case ark::compiler::Opcode::CallVirtual: in GetStaticOpcode() 109 case ark::compiler::Opcode::LoadStatic: in GetStaticOpcode() 111 case ark::compiler::Opcode::LoadString: in GetStaticOpcode() 113 case ark::compiler::Opcode::LoadObject: in GetStaticOpcode() 115 case ark::compiler::Opcode::Sub: in GetStaticOpcode() 117 case ark::compiler::Opcode::ReturnVoid: in GetStaticOpcode() 119 case ark::compiler::Opcode::Parameter: in GetStaticOpcode() [all …]
|
| D | helpers_static.h | 36 ark::ArenaAllocator *allocator; 37 ark::ArenaAllocator *localAllocator; 46 void CheckInvalidOpcodes(ark::compiler::Graph *graph, bool isDynamic); 50 AbckitIsaApiStaticOpcode GetStaticOpcode(ark::compiler::Inst *inst); 51 AbckitIsaApiDynamicOpcode GetDynamicOpcode(ark::compiler::Inst *inst); 52 AbckitTypeId TypeToTypeId(ark::compiler::DataType::Type type); 53 ark::compiler::DataType::Type TypeIdToType(AbckitTypeId typeId); 54 ark::compiler::ConditionCode CcToCc(AbckitIsaApiDynamicConditionCode cc); 55 ark::compiler::ConditionCode CcToCc(AbckitIsaApiStaticConditionCode cc); 56 AbckitIsaApiDynamicConditionCode CcToDynamicCc(ark::compiler::ConditionCode cc); [all …]
|
| /arkcompiler/runtime_core/static_core/libllvmbackend/templates/ |
| D | intrinsic_names_gen.inl.erb | 17 const char *GetIntrinsicInternalName(ark::compiler::RuntimeInterface::IntrinsicId id) 21 case ark::compiler::RuntimeInterface::IntrinsicId::LIB_CALL_FMOD: 23 case ark::compiler::RuntimeInterface::IntrinsicId::LIB_CALL_FMODF: 25 case ark::compiler::RuntimeInterface::IntrinsicId::LIB_CALL_LDEXP: 27 case ark::compiler::RuntimeInterface::IntrinsicId::LIB_CALL_LDEXPF: 29 case ark::compiler::RuntimeInterface::IntrinsicId::LIB_CALL_EXP2: 31 case ark::compiler::RuntimeInterface::IntrinsicId::LIB_CALL_EXP2F: 33 case ark::compiler::RuntimeInterface::IntrinsicId::LIB_CALL_MEM_COPY: 35 case ark::compiler::RuntimeInterface::IntrinsicId::LIB_CALL_MEM_MOVE: 37 case ark::compiler::RuntimeInterface::IntrinsicId::LIB_CALL_MEM_SET: [all …]
|
| /arkcompiler/runtime_core/libabckit/src/templates/abckit_intrinsics/ |
| D | inst_builder_abckit_intrinsics.inc.erb | 70 void ark::compiler::AbcKitInstBuilder::BuildDefaultAbcKitIntrinsic(const BytecodeInstruction *bcIns… 78 case ark::compiler::RuntimeInterface::IntrinsicId::<%= intrinsic.entrypoint_name %>: { 94 auto retType = ark::compiler::<%= get_type(intrinsic.signature.ret) %>; 95 … ark::compiler::IntrinsicInst *inst = GetGraph()->CreateInstIntrinsic(retType, pc, intrinsicId); 106 inst->AddInputType(ark::compiler::<%= get_type(op.type) %>); 123 inst->AddInputType(ark::compiler::<%= get_type(param.type) %>); 166 constexpr ark::compiler::Register MAX_NUM_SHORT_CALL_ARGS = 2; 167 constexpr ark::compiler::Register MAX_NUM_NON_RANGE_ARGS = 4; 169 void ark::compiler::AbcKitInstBuilder::BuildAbcKitInitObjectIntrinsic(const BytecodeInstruction *bc… 173 ark::compiler::IntrinsicInst *inst {nullptr}; [all …]
|
| D | abckit_intrinsics.inl.erb | 18 bool IsETSIntrinsic(ark::compiler::RuntimeInterface::IntrinsicId intrinsicId) 22 … case ark::compiler::RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_<%= name %>_BY_NAME_OBJ: 23 … case ark::compiler::RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_<%= name %>_BY_NAME_F64: 24 … case ark::compiler::RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_<%= name %>_BY_NAME_F32: 25 … case ark::compiler::RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_<%= name %>_BY_NAME_I64: 26 … case ark::compiler::RuntimeInterface::IntrinsicId::INTRINSIC_COMPILER_ETS_<%= name %>_BY_NAME_I32: 34 bool IsAbcKitIntrinsic(ark::compiler::RuntimeInterface::IntrinsicId intrinsicId) 39 case ark::compiler::RuntimeInterface::IntrinsicId::<%= intrinsic.entrypoint_name %>: 48 bool IsAbcKit<%= name %>(ark::compiler::RuntimeInterface::IntrinsicId intrinsicId) 52 case ark::compiler::RuntimeInterface::IntrinsicId::<%= intrinsic.entrypoint_name %>: [all …]
|
| /arkcompiler/ets_runtime/etc/ |
| D | arkcompiler.para.dac | 14 ark.profile. = shell:shell:0775 15 ark.jit.escape.disable = shell:shell:0775 16 persist.ark.properties = shell:shell:0775 17 persist.ark.longpausetime = shell:shell:0775 18 persist.ark.asminterpreter = shell:shell:0775 19 ark.jit.enable.litecg = shell:shell:0775 20 ark.jit.hotness.threshold = shell:shell:0775 21 ark.jit.enable.jitframe = shell:shell:0775 22 persist.ark.jit.codesign.disable = shell:shell:0775 23 persist.ark.jit.enable.jitfort = shell:shell:0775 [all …]
|
| /arkcompiler/runtime_core/static_core/disassembler/ |
| D | disasm.cpp | 25 ark::PandArg<bool> help {"help", false, "Print this message and exit"}; 26 ark::PandArg<bool> verbose {"verbose", false, "enable informative code output"}; 27 ark::PandArg<bool> quiet {"quiet", false, "enables all of the --skip-* flags"}; 28 ark::PandArg<bool> skipStrings { 31 ark::PandArg<bool> withSeparators {"with_separators", false, 33 ark::PandArg<bool> debug { 35 ark::PandArg<std::string> debugFile {"debug-file", "", 37 ark::PandArg<std::string> inputFile {"input_file", "", "Path to the source binary code"}; 38 ark::PandArg<std::string> outputFile {"output_file", "", "Path to the generated assembly code"}; 39 ark::PandArg<std::string> profile {"profile", "", "Path to the profile"}; [all …]
|
| /arkcompiler/runtime_core/libabckit/src/irbuilder_dynamic/ |
| D | inst_builder_dyn.h | 29 using ark::BytecodeInstruction; 33 InstBuilder(ark::compiler::Graph *graph, AbckitRuntimeAdapterDynamic::MethodPtr method) in InstBuilder() 47 ark::compiler::InstVector(graph->GetLocalAllocator()->Adapter())); 91 void SetCurrentBlock(ark::compiler::BasicBlock *bb) in SetCurrentBlock() 99 void UpdatePreds(ark::compiler::BasicBlock *bb, ark::compiler::Inst *inst); 100 void SetType(ark::compiler::Inst *inst); 102 void CheckInstructions(ark::compiler::Inst *inst); 104 void SplitConstant(ark::compiler::ConstantInst *constInst); 105 void CleanupInst(ark::compiler::BasicBlock *block, ark::compiler::Inst *inst); 109 static void RemoveNotDominateInputs(ark::compiler::SaveStateInst *saveState); [all …]
|
| D | phi_resolver_dyn.h | 29 explicit PhiResolver(ark::compiler::Graph *graph) in PhiResolver() 45 if (!inst->IsPhi() && inst->GetOpcode() != ark::compiler::Opcode::CatchPhi) { in Run() 66 void RemovePhi(ark::compiler::Inst *inst) in RemovePhi() 71 auto saveState = static_cast<ark::compiler::SaveStateInst *>(user); in RemovePhi() 100 static void SetTypeByInputs(ark::compiler::Inst *inst) in SetTypeByInputs() 103 inst->SetType(ark::compiler::DataType::REFERENCE); in SetTypeByInputs() 108 if (inputType != ark::compiler::DataType::NO_TYPE) { in SetTypeByInputs() 114 void FindUsersRec(ark::compiler::Inst *inst) in FindUsersRec() 120 … if (user.GetInst()->IsPhi() || user.GetInst()->GetOpcode() == ark::compiler::Opcode::CatchPhi) { in FindUsersRec() 133 void FindInputsRec(ark::compiler::Inst *inst) in FindInputsRec() [all …]
|
| /arkcompiler/ets_frontend/ets2panda/util/ |
| D | generateBin.cpp | 22 namespace ark::es2panda::util { namespace 26 ark::Logger::ComponentMask componentMask; in InitializeLogging() 27 componentMask.set(ark::Logger::Component::ASSEMBLER); in InitializeLogging() 28 componentMask.set(ark::Logger::Component::COMPILER); in InitializeLogging() 29 componentMask.set(ark::Logger::Component::BYTECODE_OPTIMIZER); in InitializeLogging() 31 if (!ark::Logger::IsInitialized()) { in InitializeLogging() 32 … ark::Logger::InitializeStdLogging(Logger::LevelFromString(options->LogLevel()), componentMask); in InitializeLogging() 34 ark::Logger::EnableComponent(componentMask); in InitializeLogging() 39 static int OptimizeBytecode(ark::pandasm::Program *prog, const util::Options *options, const Report… in OptimizeBytecode() 41 ark::pandasm::AsmEmitter::PandaFileToPandaAsmMaps *mapsp) in OptimizeBytecode() [all …]
|
| /arkcompiler/runtime_core/static_core/tests/fuzztest/openuncompressedarchive_fuzzer/ |
| D | openuncompressedarchive_fuzzer.cpp | 21 void CloseAndRemoveZipFile(ark::ZipArchiveHandle &handle, FILE *fp, const char *filename) in CloseAndRemoveZipFile() 23 ark::CloseArchiveFile(handle); in CloseAndRemoveZipFile() 32 const char *filename = ark::panda_file::ARCHIVE_FILENAME; in OpenUncompressedArchiveFuzzTest() 34 …int ret = ark::CreateOrAddFileIntoZip(zip_filename, filename, &buf, APPEND_STATUS_CREATE, Z_NO_COM… in OpenUncompressedArchiveFuzzTest() 51 ark::ZipArchiveHandle zipfile = nullptr; in OpenUncompressedArchiveFuzzTest() 52 if (ark::OpenArchiveFile(zipfile, fp) != ark::ZIPARCHIVE_OK) { in OpenUncompressedArchiveFuzzTest() 57 if (ark::LocateFile(zipfile, filename) != ark::ZIPARCHIVE_OK) { in OpenUncompressedArchiveFuzzTest() 61 ark::EntryFileStat entry; in OpenUncompressedArchiveFuzzTest() 62 if (ark::GetCurrentFileInfo(zipfile, &entry) != ark::ZIPARCHIVE_OK) { in OpenUncompressedArchiveFuzzTest() 66 if (ark::OpenCurrentFile(zipfile) != ark::ZIPARCHIVE_OK) { in OpenUncompressedArchiveFuzzTest() [all …]
|
| /arkcompiler/runtime_core/static_core/libllvmbackend/lowering/ |
| D | wrapped_module.h | 29 namespace ark::llvmbackend { 35 std::unique_ptr<ark::llvmbackend::LLVMArkInterface> arkInterface, 36 std::unique_ptr<ark::llvmbackend::DebugDataBuilder> debugData); 49 void AddMethod(ark::compiler::RuntimeInterface::MethodPtr method); 51 void SetCompiled(std::unique_ptr<ark::llvmbackend::CreatedObjectFile> objectFile); 55 bool HasFunctionDefinition(ark::compiler::RuntimeInterface::MethodPtr method); 57 llvm::Function *GetFunctionByMethodPtr(ark::compiler::RuntimeInterface::MethodPtr method); 65 const std::unique_ptr<ark::llvmbackend::LLVMArkInterface> &GetLLVMArkInterface(); 67 const std::unique_ptr<ark::llvmbackend::DebugDataBuilder> &GetDebugData(); 69 const std::unique_ptr<ark::llvmbackend::CodeInfoProducer> &GetCodeInfoProducer(); [all …]
|
| /arkcompiler/runtime_core/static_core/runtime/ |
| D | runtime.yaml | 27 intrinsics_namespace: ark::intrinsics 45 impl: ark::intrinsics::AbsI32 57 impl: ark::intrinsics::AbsI64 69 impl: ark::intrinsics::AbsF32 81 impl: ark::intrinsics::AbsF64 92 impl: ark::intrinsics::MinI32 103 impl: ark::intrinsics::MinI64 114 impl: ark::intrinsics::MinF32 125 impl: ark::intrinsics::MinF64 136 impl: ark::intrinsics::MaxI32 [all …]
|
| /arkcompiler/runtime_core/static_core/libpandafile/external/ |
| D | file_ext.cpp | 28 namespace ark::panda_file::ext { namespace 31 ark::panda_file::File::EntityId id; 36 } // namespace ark::panda_file::ext 44 …explicit PandaFileExt(std::unique_ptr<const ark::panda_file::File> &&pandaFile) : pandaFile_(std::… in PandaFileExt() 48 size_t GetExtFileLineNumber(ark::panda_file::MethodDataAccessor mda, uint32_t bcOffset) in GetExtFileLineNumber() 50 return ark::panda_file::debug_helpers::GetLineNumber(mda, bcOffset, pandaFile_.get()); in GetExtFileLineNumber() 53 ark::panda_file::ext::MethodSymEntry *QueryMethodSymByOffset(uint64_t offset) in QueryMethodSymByOffset() 61 ark::panda_file::ext::MethodSymEntry *found = nullptr; in QueryMethodSymByOffset() 63 auto callBack = [this, offset, &found](ark::panda_file::MethodDataAccessor &mda) -> void { in QueryMethodSymByOffset() 65 ark::panda_file::CodeDataAccessor ca {*pandaFile_, mda.GetCodeId().value()}; in QueryMethodSymByOffset() [all …]
|
| /arkcompiler/runtime_core/static_core/plugins/ets/runtime/interop_js/ |
| D | ts2ets_copy.cpp | 30 namespace ark::ets::interop::js { namespace 108 void VisitString([[maybe_unused]] ark::Class *klass) override in VisitString() 122 …auto str = ark::coretypes::String::CreateFromMUtf8(reinterpret_cast<uint8_t const *>(value.data()), in VisitString() 124 loc_.StoreReference(ToObjRoot(ark::VMHandle<ark::ObjectHeader>(coro, str).GetAddress())); in VisitString() 127 void VisitArray(ark::Class *klass) override in VisitArray() 141 ark::VMHandle<ark::ObjectHeader> etsArr(coro, ark::coretypes::Array::Create(klass, len)); in VisitArray() 143 ark::HandleScope<ark::ObjectHeader *> etsHandleScope(coro); in VisitArray() 145 size_t elemSz = ark::Class::GetTypeSize(subType->GetType()); in VisitArray() 146 constexpr auto ELEMS_OFFS = ark::coretypes::Array::GetDataOffset(); in VisitArray() 157 void VisitFieldReference(const ark::Field *field, ark::Class *klass) override in VisitFieldReference() [all …]
|
| /arkcompiler/runtime_core/static_core/quickener/ |
| D | quick.cpp | 24 static void PrintHelp(ark::PandArgParser &pa_parser) in PrintHelp() 32 static bool ParseArgs(ark::PandArgParser &pa_parser, int argc, const char **argv) in ParseArgs() 42 static bool ProcessArgs(ark::PandArgParser &pa_parser, const ark::PandArg<std::string> &input, in ProcessArgs() 43 const ark::PandArg<std::string> &output, const ark::PandArg<bool> &help) in ProcessArgs() 50 ark::Logger::InitializeStdLogging( in ProcessArgs() 51 ark::Logger::Level::ERROR, in ProcessArgs() 52 …ark::Logger::ComponentMask().set(ark::Logger::Component::QUICKENER).set(ark::Logger::Component::PA… in ProcessArgs() 59 ark::PandArg<bool> help("help", false, "Print this message and exit"); in main() 60 ark::PandArg<std::string> input("INPUT", "", "Path to the input binary file"); in main() 61 ark::PandArg<std::string> output("OUTPUT", "", "Path to the output binary file"); in main() [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/templates/ |
| D | ir-dyn-base-types.h.erb | 27 namespace ark::compiler { 40 inline AnyBaseType NumericDataTypeToAnyType([[maybe_unused]] ark::compiler::DataType::Type type, 41 ark::SourceLanguage language) { 42 …ASSERT(type == ark::compiler::DataType::Type::UINT8 || type == ark::compiler::DataType::Type::INT8… 43 … type == ark::compiler::DataType::Type::UINT16 || type == ark::compiler::DataType::Type::INT16 || 44 … type == ark::compiler::DataType::Type::UINT32 || type == ark::compiler::DataType::Type::INT32 || 45 … type == ark::compiler::DataType::Type::UINT64 || type == ark::compiler::DataType::Type::INT64 || 46 … type == ark::compiler::DataType::Type::FLOAT32 || type == ark::compiler::DataType::Type::FLOAT64); 51 case ark::SourceLanguage::<%= plugin_lang %>: 60 inline AnyBaseType GetAnyStringType(ark::SourceLanguage language) { [all …]
|
| /arkcompiler/runtime_core/static_core/docs/ |
| D | runtime-class.md | 3 …ark::Class` to store all necessary language independent information about class. Virtual table and… 5 …nda.Class` or other in case of plugin-related code) can be obtained using `ark::Class::GetManagedO… 8 ark::Class *cls = obj->ClassAddr()->GetManagedObject(); 11 …sadvantage of this approach is that we need additional dereference to get `ark::Class` from mirror… 14 namespace ark::coretypes { 19 ark::Class klass_; 21 } // namespace ark::coretypes 32 panda class (`ark::Class`) ---------> +------------------+ <-|-+ 38 Note: as `ark::Class` object has variable size it must be last in the mirror class. 40 Such layout allows to get pointer to the `ark::Class` object from the `coretypes::Class` one and vi… [all …]
|