Mercurial > hg > graal-jvmci-8
diff src/share/vm/interpreter/interpreterRuntime.hpp @ 18041:52b4284cb496
Merge with jdk8u20-b26
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Wed, 15 Oct 2014 16:02:50 +0200 |
parents | 4062efea018b |
children |
line wrap: on
line diff
--- a/src/share/vm/interpreter/interpreterRuntime.hpp Thu Oct 16 10:21:29 2014 +0200 +++ b/src/share/vm/interpreter/interpreterRuntime.hpp Wed Oct 15 16:02:50 2014 +0200 @@ -66,9 +66,15 @@ static ConstantPoolCacheEntry* cache_entry_at(JavaThread *thread, int i) { return method(thread)->constants()->cache()->entry_at(i); } static ConstantPoolCacheEntry* cache_entry(JavaThread *thread) { return cache_entry_at(thread, Bytes::get_native_u2(bcp(thread) + 1)); } + static void note_trap_inner(JavaThread* thread, int reason, + methodHandle trap_method, int trap_bci, TRAPS); static void note_trap(JavaThread *thread, int reason, TRAPS); +#ifdef CC_INTERP + // Profile traps in C++ interpreter. + static void note_trap(JavaThread* thread, int reason, Method *method, int trap_bci); +#endif // CC_INTERP - // Inner work method for Interpreter's frequency counter overflow + // Inner work method for Interpreter's frequency counter overflow. static nmethod* frequency_counter_overflow_inner(JavaThread* thread, address branch_bcp); public: @@ -100,6 +106,17 @@ #endif static void throw_pending_exception(JavaThread* thread); +#ifdef CC_INTERP + // Profile traps in C++ interpreter. + static void note_nullCheck_trap (JavaThread* thread, Method *method, int trap_bci); + static void note_div0Check_trap (JavaThread* thread, Method *method, int trap_bci); + static void note_rangeCheck_trap(JavaThread* thread, Method *method, int trap_bci); + static void note_classCheck_trap(JavaThread* thread, Method *method, int trap_bci); + static void note_arrayCheck_trap(JavaThread* thread, Method *method, int trap_bci); + // A dummy for makros that shall not profile traps. + static void note_no_trap(JavaThread* thread, Method *method, int trap_bci) {} +#endif // CC_INTERP + // Statics & fields static void resolve_get_put(JavaThread* thread, Bytecodes::Code bytecode);