mirror of
https://gitee.com/openharmony/arkcompiler_ets_runtime
synced 2024-10-07 16:13:49 +00:00
Fix generating .m error in debug mode
1. Add machineType when return type is FLEX 2. Cmp ops should have the same op type Signed-off-by: zhangyukun <zhangyukun8@huawei.com> Change-Id: I3c0e417b8f9cd7f792e3ff909bf1fab8afabb238
This commit is contained in:
parent
aaf55fd94e
commit
b44595f8cc
@ -474,9 +474,10 @@ GateRef CircuitBuilder::NewBytecodeCallGate(StubDescriptor *descriptor, GateRef
|
||||
inputs.push_back(arg);
|
||||
}
|
||||
OpCode opcode(OpCode::BYTECODE_CALL);
|
||||
MachineType machineType = GetCallMachineTypeFromStubMachineType(descriptor->GetReturnType());
|
||||
GateType type = StubMachineType2GateType(descriptor->GetReturnType());
|
||||
// 2 : 2 means extra two input gates (target glue)
|
||||
return circuit_->NewGate(opcode, args.size() + 2, inputs, type);
|
||||
return circuit_->NewGate(opcode, machineType, args.size() + 2, inputs, type);
|
||||
}
|
||||
|
||||
GateRef CircuitBuilder::Alloca(int size)
|
||||
|
@ -1049,7 +1049,7 @@ DECLARE_ASM_HANDLER(SingleStepDebugging)
|
||||
Label shouldReturn(env);
|
||||
Label shouldContinue(env);
|
||||
|
||||
Branch(IntPtrEqual(*varPc, GetIntPtrConstant(0)), &shouldReturn, &shouldContinue);
|
||||
Branch(IntPtrEqual(ChangeTaggedPointerToInt64(*varPc), GetInt64Constant(0)), &shouldReturn, &shouldContinue);
|
||||
Bind(&shouldReturn);
|
||||
{
|
||||
Return();
|
||||
@ -3948,7 +3948,7 @@ DECLARE_ASM_HANDLER(ExceptionHandler)
|
||||
GateRef exception = Load(StubMachineType::TAGGED, glue, GetIntPtrConstant(0));
|
||||
StubDescriptor *upFrame = GET_STUBDESCRIPTOR(UpFrame);
|
||||
varPc = CallRuntime(upFrame, glue, GetInt64Constant(FAST_STUB_ID(UpFrame)), { glue, sp });
|
||||
Branch(IntPtrEqual(*varPc, GetIntPtrConstant(0)), &pcIsInvalid, &pcNotInvalid);
|
||||
Branch(IntPtrEqual(ChangeTaggedPointerToInt64(*varPc), GetInt64Constant(0)), &pcIsInvalid, &pcNotInvalid);
|
||||
Bind(&pcIsInvalid);
|
||||
{
|
||||
Return();
|
||||
|
Loading…
Reference in New Issue
Block a user