1.1 --- a/src/cpu/x86/vm/templateTable_x86_32.cpp Mon Oct 28 21:41:48 2013 +0400 1.2 +++ b/src/cpu/x86/vm/templateTable_x86_32.cpp Wed Oct 30 15:35:25 2013 +0100 1.3 @@ -558,7 +558,7 @@ 1.4 1.5 1.6 void TemplateTable::locals_index_wide(Register reg) { 1.7 - __ movl(reg, at_bcp(2)); 1.8 + __ load_unsigned_short(reg, at_bcp(2)); 1.9 __ bswapl(reg); 1.10 __ shrl(reg, 16); 1.11 __ negptr(reg); 1.12 @@ -1552,7 +1552,11 @@ 1.13 InvocationCounter::counter_offset(); 1.14 1.15 // Load up EDX with the branch displacement 1.16 - __ movl(rdx, at_bcp(1)); 1.17 + if (is_wide) { 1.18 + __ movl(rdx, at_bcp(1)); 1.19 + } else { 1.20 + __ load_signed_short(rdx, at_bcp(1)); 1.21 + } 1.22 __ bswapl(rdx); 1.23 if (!is_wide) __ sarl(rdx, 16); 1.24 LP64_ONLY(__ movslq(rdx, rdx));