Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/thread.hpp @ 1135:e66fd840cb6b
6893081: method handle & invokedynamic code needs additional cleanup (post 6815692, 6858164)
Summary: During the work for 6829187 we have fixed a number of basic bugs which are logically grouped with 6815692 and 6858164 but which must be reviewed and pushed separately.
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Mon, 04 Jan 2010 18:38:08 +0100 |
parents | 39b01ab7035a |
children | 9b9c1ee9b3f6 |
comparison
equal
deleted
inserted
replaced
1134:0910903272e5 | 1135:e66fd840cb6b |
---|---|
758 // code) | 758 // code) |
759 volatile oop _exception_oop; // Exception thrown in compiled code | 759 volatile oop _exception_oop; // Exception thrown in compiled code |
760 volatile address _exception_pc; // PC where exception happened | 760 volatile address _exception_pc; // PC where exception happened |
761 volatile address _exception_handler_pc; // PC for handler of exception | 761 volatile address _exception_handler_pc; // PC for handler of exception |
762 volatile int _exception_stack_size; // Size of frame where exception happened | 762 volatile int _exception_stack_size; // Size of frame where exception happened |
763 volatile int _is_method_handle_exception; // True if the current exception PC is at a MethodHandle call. | |
763 | 764 |
764 // support for compilation | 765 // support for compilation |
765 bool _is_compiling; // is true if a compilation is active inthis thread (one compilation per thread possible) | 766 bool _is_compiling; // is true if a compilation is active inthis thread (one compilation per thread possible) |
766 | 767 |
767 // support for JNI critical regions | 768 // support for JNI critical regions |
1093 // Exception handling for compiled methods | 1094 // Exception handling for compiled methods |
1094 oop exception_oop() const { return _exception_oop; } | 1095 oop exception_oop() const { return _exception_oop; } |
1095 int exception_stack_size() const { return _exception_stack_size; } | 1096 int exception_stack_size() const { return _exception_stack_size; } |
1096 address exception_pc() const { return _exception_pc; } | 1097 address exception_pc() const { return _exception_pc; } |
1097 address exception_handler_pc() const { return _exception_handler_pc; } | 1098 address exception_handler_pc() const { return _exception_handler_pc; } |
1099 int is_method_handle_exception() const { return _is_method_handle_exception; } | |
1098 | 1100 |
1099 void set_exception_oop(oop o) { _exception_oop = o; } | 1101 void set_exception_oop(oop o) { _exception_oop = o; } |
1100 void set_exception_pc(address a) { _exception_pc = a; } | 1102 void set_exception_pc(address a) { _exception_pc = a; } |
1101 void set_exception_handler_pc(address a) { _exception_handler_pc = a; } | 1103 void set_exception_handler_pc(address a) { _exception_handler_pc = a; } |
1102 void set_exception_stack_size(int size) { _exception_stack_size = size; } | 1104 void set_exception_stack_size(int size) { _exception_stack_size = size; } |
1105 void set_is_method_handle_exception(int value) { _is_method_handle_exception = value; } | |
1103 | 1106 |
1104 // Stack overflow support | 1107 // Stack overflow support |
1105 inline size_t stack_available(address cur_sp); | 1108 inline size_t stack_available(address cur_sp); |
1106 address stack_yellow_zone_base() | 1109 address stack_yellow_zone_base() |
1107 { return (address)(stack_base() - (stack_size() - (stack_red_zone_size() + stack_yellow_zone_size()))); } | 1110 { return (address)(stack_base() - (stack_size() - (stack_red_zone_size() + stack_yellow_zone_size()))); } |
1171 static ByteSize osthread_offset() { return byte_offset_of(JavaThread, _osthread ); } | 1174 static ByteSize osthread_offset() { return byte_offset_of(JavaThread, _osthread ); } |
1172 static ByteSize exception_oop_offset() { return byte_offset_of(JavaThread, _exception_oop ); } | 1175 static ByteSize exception_oop_offset() { return byte_offset_of(JavaThread, _exception_oop ); } |
1173 static ByteSize exception_pc_offset() { return byte_offset_of(JavaThread, _exception_pc ); } | 1176 static ByteSize exception_pc_offset() { return byte_offset_of(JavaThread, _exception_pc ); } |
1174 static ByteSize exception_handler_pc_offset() { return byte_offset_of(JavaThread, _exception_handler_pc); } | 1177 static ByteSize exception_handler_pc_offset() { return byte_offset_of(JavaThread, _exception_handler_pc); } |
1175 static ByteSize exception_stack_size_offset() { return byte_offset_of(JavaThread, _exception_stack_size); } | 1178 static ByteSize exception_stack_size_offset() { return byte_offset_of(JavaThread, _exception_stack_size); } |
1179 static ByteSize is_method_handle_exception_offset() { return byte_offset_of(JavaThread, _is_method_handle_exception); } | |
1176 static ByteSize stack_guard_state_offset() { return byte_offset_of(JavaThread, _stack_guard_state ); } | 1180 static ByteSize stack_guard_state_offset() { return byte_offset_of(JavaThread, _stack_guard_state ); } |
1177 static ByteSize suspend_flags_offset() { return byte_offset_of(JavaThread, _suspend_flags ); } | 1181 static ByteSize suspend_flags_offset() { return byte_offset_of(JavaThread, _suspend_flags ); } |
1178 | 1182 |
1179 static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); } | 1183 static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); } |
1180 | 1184 |