8229352: Use of an uninitialized register in 32-bit ARM template interpreter

Reviewed-by: dlong, shade
This commit is contained in:
Christoph Goettschkes 2019-08-19 15:36:07 +03:00 committed by Boris Ulasevich
parent c0ac482452
commit ff9d768630

View File

@ -487,19 +487,20 @@ void TemplateTable::ldc2_w() {
__ add(Rbase, Rcpool, AsmOperand(Rindex, lsl, LogBytesPerWord));
Label Condy, exit;
#ifdef __ABI_HARD__
Label Long;
// get type from tags
__ add(Rtemp, Rtags, tags_offset);
__ ldrb(Rtemp, Address(Rtemp, Rindex));
Label Condy, exit;
#ifdef __ABI_HARD__
Label NotDouble;
__ cmp(Rtemp, JVM_CONSTANT_Double);
__ b(Long, ne);
__ b(NotDouble, ne);
__ ldr_double(D0_tos, Address(Rbase, base_offset));
__ push(dtos);
__ b(exit);
__ bind(Long);
__ bind(NotDouble);
#endif
__ cmp(Rtemp, JVM_CONSTANT_Long);