Skip to content
Snippets Groups Projects
Commit 9e544f8c authored by Jason Hiser's avatar Jason Hiser :tractor:
Browse files

Revert "Fixed pin-alignment code to force a pin alignment."

This reverts commit ed60f36d.
parent ed60f36d
No related branches found
No related tags found
No related merge requests found
......@@ -139,7 +139,6 @@ void ZiprPinnerX86_t::AddPinnedInstructions()
if(insn->getIndirectBranchTargetAddress()==nullptr)
continue;
/*
if(insn->getIndirectBranchTargetAddress()->getVirtualOffset()==0)
{
// Unpinned IBT. Create dollop and add it to placement
......@@ -147,12 +146,10 @@ void ZiprPinnerX86_t::AddPinnedInstructions()
m_dollop_mgr.addNewDollops(insn);
continue;
}
*/
// deal with unassigned IBTAs.
if(insn->getIndirectBranchTargetAddress()->getVirtualOffset()==0)
{
cout<<"Setting pin for instruction "<<hex<<insn->getBaseID()<<":"<<insn->getDisassembly() << " to "<<hex<<next_pin_addr<<"\n";
insn->getIndirectBranchTargetAddress()->setVirtualOffset(next_pin_addr);
next_pin_addr=round_up_to(next_pin_addr+5,pin_align_factor);// sizeof pin is 5, but keep aligned.
}
......@@ -1462,6 +1459,8 @@ void ZiprPinnerX86_t::OptimizePinnedInstructions()
{
if (m_verbose)
{
//DISASM d;
//Disassemble(uu.getInstrution(),d);
auto d=DecodedInstruction_t::factory(uu.getInstrution());
printf("Converting 5-byte pinned jump at %p-%p to patch to %d:%s\n",
(void*)addr,(void*)(addr+4), uu.getInstrution()->getBaseID(), d->getDisassembly().c_str()/*.CompleteInstr*/);
......
......@@ -597,7 +597,20 @@ void ZiprImpl_t::FindFreeRanges(const std::string &name)
new_padding_scoop_name = "zipr_scoop_"+
to_string(new_padding_scoop_start);
/*
DataScoop_t *new_padding_scoop = nullptr;
AddressID_t *new_padding_scoop_start_addr = nullptr,
*new_padding_scoop_end_addr = nullptr;
new_padding_scoop_start_addr = new AddressID_t();
new_padding_scoop_start_addr->setVirtualOffset(new_padding_scoop_start);
m_firp->getAddresses().insert(new_padding_scoop_start_addr);
*/
auto new_padding_scoop_start_addr=m_firp->addNewAddress(m_firp->getFile()->getBaseID(), new_padding_scoop_start);
/*
new_padding_scoop_end_addr = new AddressID_t();
new_padding_scoop_end_addr->setVirtualOffset(new_padding_scoop_end);
m_firp->getAddresses().insert(new_padding_scoop_end_addr);
*/
auto new_padding_scoop_end_addr =m_firp->addNewAddress(m_firp->getFile()->getBaseID(), new_padding_scoop_end);
cout << "Gap filling with a scoop between 0x"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment