DynamoRIO / DynamoRIO/dynamorio

x86_to_x64 ibl opt: s/xcx/r9/ rather than spill xcx to r9

Open
#873 0 comments 0 reactions 0 assignees View on GitHub
Migrated Performance Priority-Low Type-Feature
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on August 20, 2012 19:29:53_

split from issue #751 the current ibl opt for the xcx spill spills to r9 and restores again in
the prefix.

this case is about a more efficient approach that simply replaces xcx with r9 , avoiding any spill or restore. this shrinks code in fragments (every trace
prefix, every single bb for -disable_traces, and every frag w/ ind branch).
currently xl8 ibl is using rex prefix already so this has no downsides
except requiring a lot of code changes to indirect the ind branch reg which
is currently hardcoded as xcx. however note that the xl8 ibl may be able
to avoid the rex and operate on ecx if we chose to optimize it that way in
which case this would increase the size of the ibl: but the size of the ind
br and prefix sites outweights that and this should still win.

_Original issue: http://code.google.com/p/dynamorio/issues/detail?id=873_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.