summaryrefslogtreecommitdiff
path: root/test/MultiDexModifiedSecondary/Main.java
diff options
context:
space:
mode:
authorAlexandre Rames <alexandre.rames@arm.com>2015-04-16 15:07:16 +0100
committerAlexandre Rames <alexandre.rames@arm.com>2015-04-20 14:45:15 +0100
commitd921d64c09b9222b8422f78da6b34b0a61e305c9 (patch)
tree7009b178312c6f96ca56d01082ff8000cb47873c /test/MultiDexModifiedSecondary/Main.java
parent09a99965bb27649f5b1d373f76bfbec6a2500c9e (diff)
Opt compiler: ARM64: Block VIXLpools when recording the pc.
VIXL automatically handles and generate literal and veneer pools when using the MacroAssembler. In general, the pools can be emitted anywhere. Helpers are provided to forbid VIXL from emitting pools locally. So when writing the pseudo-code __ Fmov(d0, 1.2345); __ Ldr(dst, MemOperand(src, offset)); FunctionRecordingCurrentPC(); __ Add(x0, x1, x2); VIXL might generate code looking like 0x00: ldr s0, [pc, 0xc] 0x04: ldr dst, [src, offset] 0x08: b #0x10 0x0c: <literal 1.2345> 0x10: add x0, x1, x2 and the program counter recorded by the helper will point after the literal pool. So we explicitly stop VIXL from emitting pools when dealing with code where we care about the program counter. Change-Id: Ib964860539bdb10f5704c290bdf74e5db149e462
Diffstat (limited to 'test/MultiDexModifiedSecondary/Main.java')
0 files changed, 0 insertions, 0 deletions