1.1 --- a/src/share/vm/interpreter/interpreterRuntime.cpp Thu Apr 04 21:15:43 2013 -0700 1.2 +++ b/src/share/vm/interpreter/interpreterRuntime.cpp Tue Apr 09 17:17:41 2013 -0400 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 1997, 2013, 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 @@ -454,7 +454,7 @@ 1.11 continuation = Interpreter::remove_activation_entry(); 1.12 #endif 1.13 // Count this for compilation purposes 1.14 - h_method->interpreter_throwout_increment(); 1.15 + h_method->interpreter_throwout_increment(THREAD); 1.16 } else { 1.17 // handler in this method => change bci/bcp to handler bci/bcp and continue there 1.18 handler_pc = h_method->code_base() + handler_bci; 1.19 @@ -908,6 +908,15 @@ 1.20 fr.interpreter_frame_set_mdp(new_mdp); 1.21 IRT_END 1.22 1.23 +IRT_ENTRY(MethodCounters*, InterpreterRuntime::build_method_counters(JavaThread* thread, Method* m)) 1.24 + MethodCounters* mcs = Method::build_method_counters(m, thread); 1.25 + if (HAS_PENDING_EXCEPTION) { 1.26 + assert((PENDING_EXCEPTION->is_a(SystemDictionary::OutOfMemoryError_klass())), "we expect only an OOM error here"); 1.27 + CLEAR_PENDING_EXCEPTION; 1.28 + } 1.29 + return mcs; 1.30 +IRT_END 1.31 + 1.32 1.33 IRT_ENTRY(void, InterpreterRuntime::at_safepoint(JavaThread* thread)) 1.34 // We used to need an explict preserve_arguments here for invoke bytecodes. However,