OpenJDK / valhalla / valhalla
changeset 53170:6493751663b3 lworld
[lworld] Re-enable quick instanceof with Q-descriptors
author | fparain |
---|---|
date | Fri, 07 Dec 2018 11:33:12 -0500 |
parents | 9900d7728065 |
children | 5e355d28824a |
files | src/hotspot/cpu/x86/templateTable_x86.cpp |
diffstat | 1 files changed, 5 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/hotspot/cpu/x86/templateTable_x86.cpp Fri Dec 07 11:55:28 2018 +0100 +++ b/src/hotspot/cpu/x86/templateTable_x86.cpp Fri Dec 07 11:33:12 2018 -0500 @@ -4558,10 +4558,11 @@ __ get_cpool_and_tags(rcx, rdx); // rcx=cpool, rdx=tags array __ get_unsigned_2_byte_index_at_bcp(rbx, 1); // rbx=index // See if bytecode has already been quicked - __ cmpb(Address(rdx, rbx, - Address::times_1, - Array<u1>::base_offset_in_bytes()), - JVM_CONSTANT_Class); + __ movzbl(rdx, Address(rdx, rbx, + Address::times_1, + Array<u1>::base_offset_in_bytes())); + __ andl (rdx, ~JVM_CONSTANT_QDESC_BIT); + __ cmpl(rdx, JVM_CONSTANT_Class); __ jcc(Assembler::equal, quicked); __ push(atos); // save receiver for result, and for GC