Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/thread.hpp @ 5747:120820e30baa
added basic high-level interpreter support to HotSpot
author | Christian Haeubl <haeubl@ssw.jku.at> |
---|---|
date | Tue, 03 Jul 2012 16:56:40 +0200 |
parents | 2f2c6347fce4 |
children | 957c266d8bc5 |
comparison
equal
deleted
inserted
replaced
5746:17d2c3b72762 | 5747:120820e30baa |
---|---|
864 stack_guard_enabled // enabled | 864 stack_guard_enabled // enabled |
865 }; | 865 }; |
866 | 866 |
867 private: | 867 private: |
868 | 868 |
869 #ifdef GRAAL | |
869 // graal needs some place to put the dimensions | 870 // graal needs some place to put the dimensions |
870 jint graal_multinewarray_storage[256]; | 871 jint _graal_multinewarray_storage[256]; |
871 | 872 |
872 volatile oop _graal_deopt_info; | 873 volatile oop _graal_deopt_info; |
873 address _graal_alternate_call_target; | 874 address _graal_alternate_call_target; |
875 #endif | |
876 #ifdef HIGH_LEVEL_INTERPRETER | |
877 bool _high_level_interpreter_in_vm; | |
878 #endif | |
874 | 879 |
875 StackGuardState _stack_guard_state; | 880 StackGuardState _stack_guard_state; |
876 | 881 |
877 nmethod* _scanned_nmethod; // nmethod being scanned by the sweeper | 882 nmethod* _scanned_nmethod; // nmethod being scanned by the sweeper |
878 | 883 |
1232 void set_vm_result_2 (oop x) { _vm_result_2 = x; } | 1237 void set_vm_result_2 (oop x) { _vm_result_2 = x; } |
1233 | 1238 |
1234 MemRegion deferred_card_mark() const { return _deferred_card_mark; } | 1239 MemRegion deferred_card_mark() const { return _deferred_card_mark; } |
1235 void set_deferred_card_mark(MemRegion mr) { _deferred_card_mark = mr; } | 1240 void set_deferred_card_mark(MemRegion mr) { _deferred_card_mark = mr; } |
1236 | 1241 |
1242 #ifdef GRAAL | |
1237 oop graal_deopt_info() const { return _graal_deopt_info; } | 1243 oop graal_deopt_info() const { return _graal_deopt_info; } |
1238 void set_graal_deopt_info(oop o) { _graal_deopt_info = o; } | 1244 void set_graal_deopt_info(oop o) { _graal_deopt_info = o; } |
1239 | 1245 |
1240 void set_graal_alternate_call_target(address a) { _graal_alternate_call_target = a; } | 1246 void set_graal_alternate_call_target(address a) { _graal_alternate_call_target = a; } |
1247 #endif | |
1248 #ifdef HIGH_LEVEL_INTERPRETER | |
1249 bool high_level_interpreter_in_vm() { return _high_level_interpreter_in_vm; } | |
1250 void set_high_level_interpreter_in_vm(bool value) { _high_level_interpreter_in_vm = value; } | |
1251 #endif | |
1241 | 1252 |
1242 // Exception handling for compiled methods | 1253 // Exception handling for compiled methods |
1243 oop exception_oop() const { return _exception_oop; } | 1254 oop exception_oop() const { return _exception_oop; } |
1244 address exception_pc() const { return _exception_pc; } | 1255 address exception_pc() const { return _exception_pc; } |
1245 address exception_handler_pc() const { return _exception_handler_pc; } | 1256 address exception_handler_pc() const { return _exception_handler_pc; } |
1316 static ByteSize vm_result_offset() { return byte_offset_of(JavaThread, _vm_result ); } | 1327 static ByteSize vm_result_offset() { return byte_offset_of(JavaThread, _vm_result ); } |
1317 static ByteSize vm_result_2_offset() { return byte_offset_of(JavaThread, _vm_result_2 ); } | 1328 static ByteSize vm_result_2_offset() { return byte_offset_of(JavaThread, _vm_result_2 ); } |
1318 static ByteSize thread_state_offset() { return byte_offset_of(JavaThread, _thread_state ); } | 1329 static ByteSize thread_state_offset() { return byte_offset_of(JavaThread, _thread_state ); } |
1319 static ByteSize saved_exception_pc_offset() { return byte_offset_of(JavaThread, _saved_exception_pc ); } | 1330 static ByteSize saved_exception_pc_offset() { return byte_offset_of(JavaThread, _saved_exception_pc ); } |
1320 static ByteSize osthread_offset() { return byte_offset_of(JavaThread, _osthread ); } | 1331 static ByteSize osthread_offset() { return byte_offset_of(JavaThread, _osthread ); } |
1332 #ifdef GRAAL | |
1321 static ByteSize graal_deopt_info_offset() { return byte_offset_of(JavaThread, _graal_deopt_info ); } | 1333 static ByteSize graal_deopt_info_offset() { return byte_offset_of(JavaThread, _graal_deopt_info ); } |
1322 static ByteSize graal_alternate_call_target_offset() { return byte_offset_of(JavaThread, _graal_alternate_call_target); } | 1334 static ByteSize graal_alternate_call_target_offset() { return byte_offset_of(JavaThread, _graal_alternate_call_target); } |
1335 static ByteSize graal_multinewarray_storage_offset() { return byte_offset_of(JavaThread, _graal_multinewarray_storage); } | |
1336 #endif | |
1337 #ifdef HIGH_LEVEL_INTERPRETER | |
1338 static ByteSize high_level_interpreter_in_vm_offset() { return byte_offset_of(JavaThread, _high_level_interpreter_in_vm); } | |
1339 #endif | |
1323 static ByteSize exception_oop_offset() { return byte_offset_of(JavaThread, _exception_oop ); } | 1340 static ByteSize exception_oop_offset() { return byte_offset_of(JavaThread, _exception_oop ); } |
1324 static ByteSize exception_pc_offset() { return byte_offset_of(JavaThread, _exception_pc ); } | 1341 static ByteSize exception_pc_offset() { return byte_offset_of(JavaThread, _exception_pc ); } |
1325 static ByteSize exception_handler_pc_offset() { return byte_offset_of(JavaThread, _exception_handler_pc); } | 1342 static ByteSize exception_handler_pc_offset() { return byte_offset_of(JavaThread, _exception_handler_pc); } |
1326 static ByteSize is_method_handle_return_offset() { return byte_offset_of(JavaThread, _is_method_handle_return); } | 1343 static ByteSize is_method_handle_return_offset() { return byte_offset_of(JavaThread, _is_method_handle_return); } |
1327 static ByteSize stack_guard_state_offset() { return byte_offset_of(JavaThread, _stack_guard_state ); } | 1344 static ByteSize stack_guard_state_offset() { return byte_offset_of(JavaThread, _stack_guard_state ); } |
1328 static ByteSize suspend_flags_offset() { return byte_offset_of(JavaThread, _suspend_flags ); } | 1345 static ByteSize suspend_flags_offset() { return byte_offset_of(JavaThread, _suspend_flags ); } |
1329 static ByteSize graal_multinewarray_storage_offset() { return byte_offset_of(JavaThread, graal_multinewarray_storage); } | |
1330 | 1346 |
1331 static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); } | 1347 static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); } |
1332 static ByteSize should_post_on_exceptions_flag_offset() { | 1348 static ByteSize should_post_on_exceptions_flag_offset() { |
1333 return byte_offset_of(JavaThread, _should_post_on_exceptions_flag); | 1349 return byte_offset_of(JavaThread, _should_post_on_exceptions_flag); |
1334 } | 1350 } |