提交 10bf382c 编写于 作者: D dsamersoff

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

Reviewed-by: dlong, shade
Contributed-by: christoph.goettschkes@microdoc.com
上级 7644f16a
...@@ -527,19 +527,20 @@ void TemplateTable::ldc2_w() { ...@@ -527,19 +527,20 @@ void TemplateTable::ldc2_w() {
__ add(Rbase, Rcpool, AsmOperand(Rindex, lsl, LogBytesPerWord)); __ add(Rbase, Rcpool, AsmOperand(Rindex, lsl, LogBytesPerWord));
Label Condy, exit;
#ifdef __ABI_HARD__
Label Long;
// get type from tags // get type from tags
__ add(Rtemp, Rtags, tags_offset); __ add(Rtemp, Rtags, tags_offset);
__ ldrb(Rtemp, Address(Rtemp, Rindex)); __ ldrb(Rtemp, Address(Rtemp, Rindex));
Label Condy, exit;
#ifdef __ABI_HARD__
Label NotDouble;
__ cmp(Rtemp, JVM_CONSTANT_Double); __ cmp(Rtemp, JVM_CONSTANT_Double);
__ b(Long, ne); __ b(NotDouble, ne);
__ ldr_double(D0_tos, Address(Rbase, base_offset)); __ ldr_double(D0_tos, Address(Rbase, base_offset));
__ push(dtos); __ push(dtos);
__ b(exit); __ b(exit);
__ bind(Long); __ bind(NotDouble);
#endif #endif
__ cmp(Rtemp, JVM_CONSTANT_Long); __ cmp(Rtemp, JVM_CONSTANT_Long);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册