src/share/vm/interpreter/interpreterRuntime.cpp

changeset 4936
aeaca88565e6
parent 4405
0c8717a92b2d
child 4938
8df6ddda8090
     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,

mercurial