Lines Matching refs:desc
37 static int MachineCodeCopyToCache([[maybe_unused]] const MachineCodeDesc &desc, [[maybe_unused]] uint8_t *pText)
40 if (memcpy_s(pText, desc.codeSizeAlign, reinterpret_cast<uint8_t*>(desc.codeAddr), desc.codeSize) != EOK) {
48 bool MachineCode::SetText(const MachineCodeDesc &desc)
52 if (desc.rodataSizeBeforeTextAlign != 0) {
53 if (memcpy_s(pText, desc.rodataSizeBeforeTextAlign,
54 reinterpret_cast<uint8_t*>(desc.rodataAddrBeforeText),
55 desc.rodataSizeBeforeText) != EOK) { // LCOV_EXCL_BR_LINE
59 pText += desc.rodataSizeBeforeTextAlign;
62 !desc.isAsyncCompileMode) {
63 if (MachineCodeCopyToCache(desc, pText) == false) {
67 pText += desc.codeSizeAlign;
68 if (desc.rodataSizeAfterTextAlign != 0) {
69 if (memcpy_s(pText, desc.rodataSizeAfterTextAlign,
70 reinterpret_cast<uint8_t*>(desc.rodataAddrAfterText),
71 desc.rodataSizeAfterText) != EOK) { // LCOV_EXCL_BR_LINE
79 bool MachineCode::SetNonText(const MachineCodeDesc &desc, EntityId methodId)
83 if (memcpy_s(stackmapAddr, desc.stackMapOrOffsetTableSize,
84 reinterpret_cast<uint8_t*>(desc.stackMapOrOffsetTableAddr),
85 desc.stackMapOrOffsetTableSize) != EOK) { // LCOV_EXCL_BR_LINE
90 FuncEntryDes *funcEntry = reinterpret_cast<FuncEntryDes*>(desc.funcEntryDesAddr);
95 uint32_t cnt = desc.funcEntryDesSize / sizeof(FuncEntryDes);
115 bool MachineCode::SetData(const MachineCodeDesc &desc, JSHandle<Method> &method, size_t dataSize)
118 if (desc.codeType == MachineCodeType::BASELINE_CODE) {
119 return SetBaselineCodeData(desc, method, dataSize);
126 size_t instrSize = desc.rodataSizeBeforeTextAlign + desc.codeSizeAlign + desc.rodataSizeAfterTextAlign;
129 SetStackMapOrOffsetTableSize(desc.stackMapSizeAlign);
132 SetInstructionsAddr(desc.instructionsAddr);
133 ASSERT(desc.instructionsAddr != 0);
134 ASSERT(dataSize == (desc.funcEntryDesSizeAlign + desc.stackMapSizeAlign) ||
135 dataSize == (desc.funcEntryDesSizeAlign + instrSize + desc.stackMapSizeAlign));
137 ASSERT(dataSize == (desc.funcEntryDesSizeAlign + instrSize + desc.stackMapSizeAlign));
139 if (!SetText(desc)) {
142 if (!SetNonText(desc, method->GetMethodId())) {
152 ", size:" << desc.stackMapSizeAlign;
161 bool MachineCode::SetBaselineCodeData(const MachineCodeDesc &desc,
166 size_t instrSizeAlign = desc.codeSizeAlign;
169 SetStackMapOrOffsetTableSize(desc.stackMapSizeAlign);
171 ASSERT(desc.instructionsAddr != 0);
172 ASSERT(dataSize == (desc.stackMapSizeAlign) || // reg. obj
173 dataSize == (instrSizeAlign + desc.stackMapSizeAlign)); // huge obj
174 SetInstructionsAddr(desc.instructionsAddr);
176 ASSERT(dataSize == (instrSizeAlign + desc.stackMapSizeAlign));
191 !desc.isAsyncCompileMode) {
192 if (MachineCodeCopyToCache(desc, pText) == false) {
199 if (memcpy_s(stackmapAddr, desc.stackMapOrOffsetTableSize,
200 reinterpret_cast<uint8_t*>(desc.stackMapOrOffsetTableAddr),
201 desc.stackMapOrOffsetTableSize) != EOK) { // LCOV_EXCL_BR_LINE