summaryrefslogtreecommitdiff
path: root/disassembler/disassembler_x86.cc
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2017-02-17 11:30:23 +0000
committerVladimir Marko <vmarko@google.com>2017-02-17 11:32:59 +0000
commit3c89d4234589816fb7dafb5215543f2cf023ce6c (patch)
treea9f6429ffd6625203bdba9c01520b6a5e64ac539 /disassembler/disassembler_x86.cc
parent1fed1dc7b1ea75b0465c0b2b3457718aab5a0f34 (diff)
x86/string compression: Use TESTB instead of TESTL in String.charAt().
And fix disassembly of the now unused TESTL. Test: testrunner.py --host with string compression enabled. Test: Manual inspection of dump-oat output. Bug: 35433135 Bug: 31040547 Change-Id: I36c955bc1f2243954ecc315266a2f3fce5d87693
Diffstat (limited to 'disassembler/disassembler_x86.cc')
-rw-r--r--disassembler/disassembler_x86.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/disassembler/disassembler_x86.cc b/disassembler/disassembler_x86.cc
index ff05733345..a289433af5 100644
--- a/disassembler/disassembler_x86.cc
+++ b/disassembler/disassembler_x86.cc
@@ -1306,7 +1306,7 @@ DISASSEMBLER_ENTRY(cmp,
has_modrm = true;
reg_is_opcode = true;
store = true;
- immediate_bytes = ((instr[1] & 0x38) == 0) ? 1 : 0;
+ immediate_bytes = ((instr[1] & 0x38) == 0) ? (instr[0] == 0xF7 ? 4 : 1) : 0;
break;
case 0xFF:
{