summaryrefslogtreecommitdiff
path: root/disassembler/disassembler_x86.cc
diff options
context:
space:
mode:
author Zheng Xu <zheng.xu@arm.com> 2014-07-25 11:49:42 +0800
committer Andreas Gampe <agampe@google.com> 2014-07-29 00:38:14 -0700
commitb551fdcda9eb128c80de37c4fb978968bec6d4b3 (patch)
tree62942f412f2275e2e9188f71c370cd95ec91e17f /disassembler/disassembler_x86.cc
parent2815f1242c6c3ea1fc2df7bb5e4bd1924f4e75f7 (diff)
AArch64: Clean up CalleeSaveMethod frame and the use of temp registers.
CalleeSaveMethod frame size changes : SaveAll : 368 -> 176 RefOnly : 176 -> 96 RefsAndArgs : 304 -> 224 JNI register spill size changes : 160 -> 88 In the transition assembly, use registers following the rules: 1. x0-x7 as temp/argument registers. 2. IP0, IP1 as scratch registers. 3. After correct type of callee-save-frame has been setup, all registers are scratch-able(probably except xSELF and xSUSPEND). 4. When restore callee-save-frame, IP0 and IP1 should be untouched. 5. From C to managed code, we assume all callee save register in AAPCS will be restored by managed code except x19(SUSPEND). In quick compiler: 1. Use IP0, IP1 as scratch register. 2. Use IP1 as hidden argument register(IP0 will be scratched by trampoline.) Change-Id: I05ed9d418b01b9e87218a7608536f57e7a286e4c
Diffstat (limited to 'disassembler/disassembler_x86.cc')
0 files changed, 0 insertions, 0 deletions