ARMv8 initial work on rewriter (#612)
authorSasha NĂ­colas <sasha@cs.wisc.edu>
Tue, 2 Jul 2019 19:30:07 +0000 (14:30 -0500)
committerGitHub <noreply@github.com>
Tue, 2 Jul 2019 19:30:07 +0000 (14:30 -0500)
commit540b22834e115a74e335e0359beb3b68208adad5
tree8cb9e29cca5d4b478f41fb3ba06fd7295cc86813
parent15f4dab86e98964d54310091076a1ccdcd10bce8
ARMv8 initial work on rewriter (#612)

* Implement AArch64 InterModule Function call
Debug message needs to be removed after finding out
* why X0 is kept being used
* why putting X0 address value back to itself does not work

* fix memory access mistakes, now uses offset mode

* removed all the debug printout for imfc

* add rewriter mode check
delete unwanted functions

* fix break on dynamic mode

* aarch64 broken movePCToReg implementation

* Fix unnecessary multiple calls to buildSysRegMap.

This function should be called only once, but was being called for every
instruction to be decoded. As a result, dyninst would take a long time
to execute. Now to simply run test1_1 on create mode takes 28 seconds,
as opposed to 58 before this fix, and now closer to 20 seconds for x86_64.

* movePCToReg still not working

* fix addressing mode for emitLoadRelative

* LoadShared: snip_ref_shlib_var test passes

* add assert details, remove debug code, and format patch

* inst-aarch64: sprintf -> snprintf, debug comments cleanup

* Implement ARMv8 IMFC and Load/Store Shared (#562)

* Implement AArch64 InterModule Function call
* fix memory access mistakes, now uses offset mode
* removed all the debug printout for imfc
* add rewriter mode check- delete unwanted functions
* fix break on dynamic mode
* aarch64 broken movePCToReg implementation
* movePCToReg still not working
* fix addressing mode for emitLoadRelative
* LoadShared: snip_ref_shlib_var test passes
* add assert details, remove debug code, and format patch
* inst-aarch64: sprintf -> snprintf, debug comments cleanup
* Minor cleanup- Remove commented-out code and debug print statements.

* Minor cleanup

Remove commented-out code and debug print statements.

* PLT: implement emitPLTCall and emitPLTJump
dyninstAPI/src/inst-aarch64.C