comparison src/share/vm/interpreter/interpreterRuntime.hpp @ 14489:f460c6926af7

Merge
author ehelin
date Tue, 25 Feb 2014 11:02:11 +0100
parents abe03600372a
children d8041d695d19
comparison
equal deleted inserted replaced
14488:60fd6d24f49f 14489:f460c6926af7
64 { return bytecode(thread).get_index_u4(bc); } 64 { return bytecode(thread).get_index_u4(bc); }
65 static int number_of_dimensions(JavaThread *thread) { return bcp(thread)[3]; } 65 static int number_of_dimensions(JavaThread *thread) { return bcp(thread)[3]; }
66 66
67 static ConstantPoolCacheEntry* cache_entry_at(JavaThread *thread, int i) { return method(thread)->constants()->cache()->entry_at(i); } 67 static ConstantPoolCacheEntry* cache_entry_at(JavaThread *thread, int i) { return method(thread)->constants()->cache()->entry_at(i); }
68 static ConstantPoolCacheEntry* cache_entry(JavaThread *thread) { return cache_entry_at(thread, Bytes::get_native_u2(bcp(thread) + 1)); } 68 static ConstantPoolCacheEntry* cache_entry(JavaThread *thread) { return cache_entry_at(thread, Bytes::get_native_u2(bcp(thread) + 1)); }
69 static void note_trap_inner(JavaThread* thread, int reason,
70 methodHandle trap_method, int trap_bci, TRAPS);
69 static void note_trap(JavaThread *thread, int reason, TRAPS); 71 static void note_trap(JavaThread *thread, int reason, TRAPS);
70 72 #ifdef CC_INTERP
71 // Inner work method for Interpreter's frequency counter overflow 73 // Profile traps in C++ interpreter.
74 static void note_trap(JavaThread* thread, int reason, Method *method, int trap_bci);
75 #endif // CC_INTERP
76
77 // Inner work method for Interpreter's frequency counter overflow.
72 static nmethod* frequency_counter_overflow_inner(JavaThread* thread, address branch_bcp); 78 static nmethod* frequency_counter_overflow_inner(JavaThread* thread, address branch_bcp);
73 79
74 public: 80 public:
75 // Constants 81 // Constants
76 static void ldc (JavaThread* thread, bool wide); 82 static void ldc (JavaThread* thread, bool wide);
98 #if INCLUDE_JVMTI 104 #if INCLUDE_JVMTI
99 static void member_name_arg_or_null(JavaThread* thread, address dmh, Method* m, address bcp); 105 static void member_name_arg_or_null(JavaThread* thread, address dmh, Method* m, address bcp);
100 #endif 106 #endif
101 static void throw_pending_exception(JavaThread* thread); 107 static void throw_pending_exception(JavaThread* thread);
102 108
109 #ifdef CC_INTERP
110 // Profile traps in C++ interpreter.
111 static void note_nullCheck_trap (JavaThread* thread, Method *method, int trap_bci);
112 static void note_div0Check_trap (JavaThread* thread, Method *method, int trap_bci);
113 static void note_rangeCheck_trap(JavaThread* thread, Method *method, int trap_bci);
114 static void note_classCheck_trap(JavaThread* thread, Method *method, int trap_bci);
115 static void note_arrayCheck_trap(JavaThread* thread, Method *method, int trap_bci);
116 // A dummy for makros that shall not profile traps.
117 static void note_no_trap(JavaThread* thread, Method *method, int trap_bci) {}
118 #endif // CC_INTERP
119
103 // Statics & fields 120 // Statics & fields
104 static void resolve_get_put(JavaThread* thread, Bytecodes::Code bytecode); 121 static void resolve_get_put(JavaThread* thread, Bytecodes::Code bytecode);
105 122
106 // Synchronization 123 // Synchronization
107 static void monitorenter(JavaThread* thread, BasicObjectLock* elem); 124 static void monitorenter(JavaThread* thread, BasicObjectLock* elem);