mirror of
https://gitee.com/openharmony/arkcompiler_ets_runtime
synced 2024-11-23 01:59:58 +00:00
!10257 Bugfix for baselinejit in arm64
Merge pull request !10257 from huangyan/baseline_bugfix_for_arm64
This commit is contained in:
commit
7076c4d1bc
@ -1631,7 +1631,12 @@ void AsmInterpreterCall::PushVregs(ExtendedAssembler *assembler,
|
||||
__ Cmp(tempRegister, Immediate(JSTaggedValue::VALUE_HOLE));
|
||||
__ B(Condition::EQ, &baselineCodeUndefined);
|
||||
|
||||
__ Ldr(tempRegister, MemoryOperand(tempRegister, MachineCode::FUNCADDR_OFFSET));
|
||||
if (MachineCode::FUNCADDR_OFFSET % 8 == 0) { // 8: imm in 64-bit ldr insn must be a multiple of 8
|
||||
__ Ldr(tempRegister, MemoryOperand(tempRegister, MachineCode::FUNCADDR_OFFSET));
|
||||
} else {
|
||||
ASSERT(MachineCode::FUNCADDR_OFFSET < 256); // 256: imm in ldur insn must be in the range -256 to 255
|
||||
__ Ldur(tempRegister, MemoryOperand(tempRegister, MachineCode::FUNCADDR_OFFSET));
|
||||
}
|
||||
if (glue != X19) {
|
||||
__ Mov(X19, glue);
|
||||
}
|
||||
|
@ -496,7 +496,7 @@ TaggedObject *Heap::AllocateMachineCodeObject(JSHClass *hclass, size_t size, Mac
|
||||
|
||||
// Jit Fort enabled
|
||||
ASSERT(GetEcmaVM()->GetJSOptions().GetEnableJitFort());
|
||||
if (!GetEcmaVM()->GetJSOptions().GetEnableAsyncCopyToFort() || !desc->isAsyncCompileMode) {
|
||||
if (!GetEcmaVM()->GetJSOptions().GetEnableAsyncCopyToFort()) {
|
||||
desc->instructionsAddr = 0;
|
||||
if (size <= MAX_REGULAR_HEAP_OBJECT_SIZE) {
|
||||
// for non huge code cache obj, allocate fort space before allocating the code object
|
||||
|
Loading…
Reference in New Issue
Block a user