stops jit block creation in case of ECALL and EBREAK
This commit is contained in:
@ -2218,8 +2218,8 @@ private:
|
||||
pc=pc+ 4;
|
||||
this->gen_set_pc(pc, traits::NEXT_PC);
|
||||
this->gen_raise_trap(0, 11);
|
||||
bb = BasicBlock::Create(this->mod->getContext(), "entry", this->func, this->leave_blk);
|
||||
auto returnValue = std::make_tuple(CONT,bb);
|
||||
bb = this->leave_blk;
|
||||
auto returnValue = std::make_tuple(TRAP,nullptr);
|
||||
|
||||
this->gen_trap_check(bb);
|
||||
this->gen_sync(POST_SYNC, 38);
|
||||
@ -2240,8 +2240,8 @@ private:
|
||||
pc=pc+ 4;
|
||||
this->gen_set_pc(pc, traits::NEXT_PC);
|
||||
this->gen_raise_trap(0, 3);
|
||||
bb = BasicBlock::Create(this->mod->getContext(), "entry", this->func, this->leave_blk);
|
||||
auto returnValue = std::make_tuple(CONT,bb);
|
||||
bb = this->leave_blk;
|
||||
auto returnValue = std::make_tuple(TRAP,nullptr);
|
||||
|
||||
this->gen_trap_check(bb);
|
||||
this->gen_sync(POST_SYNC, 39);
|
||||
@ -2262,8 +2262,8 @@ private:
|
||||
pc=pc+ 4;
|
||||
this->gen_set_pc(pc, traits::NEXT_PC);
|
||||
this->gen_leave_trap(3);
|
||||
bb = BasicBlock::Create(this->mod->getContext(), "entry", this->func, this->leave_blk);
|
||||
auto returnValue = std::make_tuple(CONT,bb);
|
||||
bb = this->leave_blk;
|
||||
auto returnValue = std::make_tuple(TRAP,nullptr);
|
||||
|
||||
this->gen_trap_check(bb);
|
||||
this->gen_sync(POST_SYNC, 40);
|
||||
@ -4282,8 +4282,8 @@ private:
|
||||
pc=pc+ 2;
|
||||
this->gen_set_pc(pc, traits::NEXT_PC);
|
||||
this->gen_raise_trap(0, 3);
|
||||
bb = BasicBlock::Create(this->mod->getContext(), "entry", this->func, this->leave_blk);
|
||||
auto returnValue = std::make_tuple(CONT,bb);
|
||||
bb = this->leave_blk;
|
||||
auto returnValue = std::make_tuple(TRAP,nullptr);
|
||||
|
||||
this->gen_trap_check(bb);
|
||||
this->gen_sync(POST_SYNC, 84);
|
||||
@ -4351,8 +4351,8 @@ private:
|
||||
pc=pc+ 2;
|
||||
this->gen_set_pc(pc, traits::NEXT_PC);
|
||||
this->gen_raise_trap(0, 2);
|
||||
bb = BasicBlock::Create(this->mod->getContext(), "entry", this->func, this->leave_blk);
|
||||
auto returnValue = std::make_tuple(CONT,bb);
|
||||
bb = this->leave_blk;
|
||||
auto returnValue = std::make_tuple(TRAP,nullptr);
|
||||
|
||||
this->gen_trap_check(bb);
|
||||
this->gen_sync(POST_SYNC, 86);
|
||||
|
Reference in New Issue
Block a user