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 }