hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp
changeset 24322 c2978d1578e3
parent 23221 b70675ece1ce
child 25916 c5c22fab48fd
equal deleted inserted replaced
24320:394d55c783dc 24322:c2978d1578e3
   378 void InterpreterMacroAssembler::get_cache_index_at_bcp(Register Rdst, int bcp_offset, size_t index_size) {
   378 void InterpreterMacroAssembler::get_cache_index_at_bcp(Register Rdst, int bcp_offset, size_t index_size) {
   379   assert(bcp_offset > 0, "bcp is still pointing to start of bytecode");
   379   assert(bcp_offset > 0, "bcp is still pointing to start of bytecode");
   380   if (index_size == sizeof(u2)) {
   380   if (index_size == sizeof(u2)) {
   381     get_2_byte_integer_at_bcp(bcp_offset, Rdst, Unsigned);
   381     get_2_byte_integer_at_bcp(bcp_offset, Rdst, Unsigned);
   382   } else if (index_size == sizeof(u4)) {
   382   } else if (index_size == sizeof(u4)) {
   383     assert(EnableInvokeDynamic, "giant index used only for JSR 292");
       
   384     get_4_byte_integer_at_bcp(bcp_offset, Rdst, Signed);
   383     get_4_byte_integer_at_bcp(bcp_offset, Rdst, Signed);
   385     assert(ConstantPool::decode_invokedynamic_index(~123) == 123, "else change next line");
   384     assert(ConstantPool::decode_invokedynamic_index(~123) == 123, "else change next line");
   386     nand(Rdst, Rdst, Rdst); // convert to plain index
   385     nand(Rdst, Rdst, Rdst); // convert to plain index
   387   } else if (index_size == sizeof(u1)) {
   386   } else if (index_size == sizeof(u1)) {
   388     lbz(Rdst, bcp_offset, R14_bcp);
   387     lbz(Rdst, bcp_offset, R14_bcp);