1.1 --- a/src/share/vm/runtime/deoptimization.cpp Wed Jan 12 13:59:18 2011 -0800 1.2 +++ b/src/share/vm/runtime/deoptimization.cpp Thu Jan 13 22:15:41 2011 -0800 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 1997, 2011, 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 @@ -395,8 +395,8 @@ 1.11 { 1.12 HandleMark hm; 1.13 methodHandle method(thread, array->element(0)->method()); 1.14 - Bytecode_invoke* invoke = Bytecode_invoke_at_check(method, array->element(0)->bci()); 1.15 - return_type = (invoke != NULL) ? invoke->result_type(thread) : T_ILLEGAL; 1.16 + Bytecode_invoke invoke = Bytecode_invoke_check(method, array->element(0)->bci()); 1.17 + return_type = invoke.is_valid() ? invoke.result_type(thread) : T_ILLEGAL; 1.18 } 1.19 1.20 // Compute information for handling adapters and adjusting the frame size of the caller. 1.21 @@ -600,8 +600,8 @@ 1.22 cur_code == Bytecodes::_invokespecial || 1.23 cur_code == Bytecodes::_invokestatic || 1.24 cur_code == Bytecodes::_invokeinterface) { 1.25 - Bytecode_invoke* invoke = Bytecode_invoke_at(mh, iframe->interpreter_frame_bci()); 1.26 - symbolHandle signature(thread, invoke->signature()); 1.27 + Bytecode_invoke invoke(mh, iframe->interpreter_frame_bci()); 1.28 + symbolHandle signature(thread, invoke.signature()); 1.29 ArgumentSizeComputer asc(signature); 1.30 cur_invoke_parameter_size = asc.size(); 1.31 if (cur_code != Bytecodes::_invokestatic) { 1.32 @@ -963,7 +963,7 @@ 1.33 if (bci == SynchronizationEntryBCI) { 1.34 code_name = "sync entry"; 1.35 } else { 1.36 - Bytecodes::Code code = Bytecodes::code_at(vf->method(), bci); 1.37 + Bytecodes::Code code = vf->method()->code_at(bci); 1.38 code_name = Bytecodes::name(code); 1.39 } 1.40 tty->print(" - %s", code_name); 1.41 @@ -1224,7 +1224,7 @@ 1.42 ScopeDesc* trap_scope = cvf->scope(); 1.43 methodHandle trap_method = trap_scope->method(); 1.44 int trap_bci = trap_scope->bci(); 1.45 - Bytecodes::Code trap_bc = Bytecode_at(trap_method->bcp_from(trap_bci))->java_code(); 1.46 + Bytecodes::Code trap_bc = trap_method->java_code_at(trap_bci); 1.47 1.48 // Record this event in the histogram. 1.49 gather_statistics(reason, action, trap_bc);