1.1 --- a/src/share/vm/oops/generateOopMap.cpp Tue Jun 01 11:48:33 2010 -0700 1.2 +++ b/src/share/vm/oops/generateOopMap.cpp Wed Jun 02 22:45:42 2010 -0700 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -1254,7 +1254,7 @@ 1.11 case Bytecodes::_invokestatic: 1.12 case Bytecodes::_invokedynamic: 1.13 case Bytecodes::_invokeinterface: 1.14 - int idx = currentBC->get_index_int(); 1.15 + int idx = currentBC->has_index_u4() ? currentBC->get_index_u4() : currentBC->get_index_u2(); 1.16 constantPoolOop cp = method()->constants(); 1.17 int nameAndTypeIdx = cp->name_and_type_ref_index_at(idx); 1.18 int signatureIdx = cp->signature_ref_index_at(nameAndTypeIdx); 1.19 @@ -1286,7 +1286,7 @@ 1.20 case Bytecodes::_invokestatic: 1.21 case Bytecodes::_invokedynamic: 1.22 case Bytecodes::_invokeinterface: 1.23 - int idx = currentBC->get_index_int(); 1.24 + int idx = currentBC->has_index_u4() ? currentBC->get_index_u4() : currentBC->get_index_u2(); 1.25 constantPoolOop cp = method()->constants(); 1.26 int nameAndTypeIdx = cp->name_and_type_ref_index_at(idx); 1.27 int signatureIdx = cp->signature_ref_index_at(nameAndTypeIdx); 1.28 @@ -1356,8 +1356,8 @@ 1.29 1.30 case Bytecodes::_ldc2_w: ppush(vvCTS); break; 1.31 1.32 - case Bytecodes::_ldc: do_ldc(itr->get_index(), itr->bci()); break; 1.33 - case Bytecodes::_ldc_w: do_ldc(itr->get_index_big(), itr->bci());break; 1.34 + case Bytecodes::_ldc: do_ldc(itr->get_index(), itr->bci()); break; 1.35 + case Bytecodes::_ldc_w: do_ldc(itr->get_index_u2(), itr->bci()); break; 1.36 1.37 case Bytecodes::_iload: 1.38 case Bytecodes::_fload: ppload(vCTS, itr->get_index()); break; 1.39 @@ -1550,17 +1550,17 @@ 1.40 case Bytecodes::_jsr_w: do_jsr(itr->dest_w()); break; 1.41 1.42 case Bytecodes::_getstatic: do_field(true, true, 1.43 - itr->get_index_big(), 1.44 + itr->get_index_u2_cpcache(), 1.45 itr->bci()); break; 1.46 - case Bytecodes::_putstatic: do_field(false, true, itr->get_index_big(), itr->bci()); break; 1.47 - case Bytecodes::_getfield: do_field(true, false, itr->get_index_big(), itr->bci()); break; 1.48 - case Bytecodes::_putfield: do_field(false, false, itr->get_index_big(), itr->bci()); break; 1.49 + case Bytecodes::_putstatic: do_field(false, true, itr->get_index_u2_cpcache(), itr->bci()); break; 1.50 + case Bytecodes::_getfield: do_field(true, false, itr->get_index_u2_cpcache(), itr->bci()); break; 1.51 + case Bytecodes::_putfield: do_field(false, false, itr->get_index_u2_cpcache(), itr->bci()); break; 1.52 1.53 case Bytecodes::_invokevirtual: 1.54 - case Bytecodes::_invokespecial: do_method(false, false, itr->get_index_big(), itr->bci()); break; 1.55 - case Bytecodes::_invokestatic: do_method(true, false, itr->get_index_big(), itr->bci()); break; 1.56 - case Bytecodes::_invokedynamic: do_method(true, false, itr->get_index_int(), itr->bci()); break; 1.57 - case Bytecodes::_invokeinterface: do_method(false, true, itr->get_index_big(), itr->bci()); break; 1.58 + case Bytecodes::_invokespecial: do_method(false, false, itr->get_index_u2_cpcache(), itr->bci()); break; 1.59 + case Bytecodes::_invokestatic: do_method(true, false, itr->get_index_u2_cpcache(), itr->bci()); break; 1.60 + case Bytecodes::_invokedynamic: do_method(true, false, itr->get_index_u4(), itr->bci()); break; 1.61 + case Bytecodes::_invokeinterface: do_method(false, true, itr->get_index_u2_cpcache(), itr->bci()); break; 1.62 case Bytecodes::_newarray: 1.63 case Bytecodes::_anewarray: pp_new_ref(vCTS, itr->bci()); break; 1.64 case Bytecodes::_checkcast: do_checkcast(); break;