Mercurial > hg > truffle
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/runtime/thread.hpp Tue Jul 03 15:00:23 2012 +0200 +++ b/src/share/vm/runtime/thread.hpp Tue Jul 03 16:56:40 2012 +0200 @@ -866,11 +866,16 @@ private: +#ifdef GRAAL // graal needs some place to put the dimensions - jint graal_multinewarray_storage[256]; + jint _graal_multinewarray_storage[256]; volatile oop _graal_deopt_info; address _graal_alternate_call_target; +#endif +#ifdef HIGH_LEVEL_INTERPRETER + bool _high_level_interpreter_in_vm; +#endif StackGuardState _stack_guard_state; @@ -1234,10 +1239,16 @@ MemRegion deferred_card_mark() const { return _deferred_card_mark; } void set_deferred_card_mark(MemRegion mr) { _deferred_card_mark = mr; } +#ifdef GRAAL oop graal_deopt_info() const { return _graal_deopt_info; } void set_graal_deopt_info(oop o) { _graal_deopt_info = o; } - + void set_graal_alternate_call_target(address a) { _graal_alternate_call_target = a; } +#endif +#ifdef HIGH_LEVEL_INTERPRETER + bool high_level_interpreter_in_vm() { return _high_level_interpreter_in_vm; } + void set_high_level_interpreter_in_vm(bool value) { _high_level_interpreter_in_vm = value; } +#endif // Exception handling for compiled methods oop exception_oop() const { return _exception_oop; } @@ -1318,15 +1329,20 @@ static ByteSize thread_state_offset() { return byte_offset_of(JavaThread, _thread_state ); } static ByteSize saved_exception_pc_offset() { return byte_offset_of(JavaThread, _saved_exception_pc ); } static ByteSize osthread_offset() { return byte_offset_of(JavaThread, _osthread ); } +#ifdef GRAAL static ByteSize graal_deopt_info_offset() { return byte_offset_of(JavaThread, _graal_deopt_info ); } static ByteSize graal_alternate_call_target_offset() { return byte_offset_of(JavaThread, _graal_alternate_call_target); } + static ByteSize graal_multinewarray_storage_offset() { return byte_offset_of(JavaThread, _graal_multinewarray_storage); } +#endif +#ifdef HIGH_LEVEL_INTERPRETER + static ByteSize high_level_interpreter_in_vm_offset() { return byte_offset_of(JavaThread, _high_level_interpreter_in_vm); } +#endif static ByteSize exception_oop_offset() { return byte_offset_of(JavaThread, _exception_oop ); } static ByteSize exception_pc_offset() { return byte_offset_of(JavaThread, _exception_pc ); } static ByteSize exception_handler_pc_offset() { return byte_offset_of(JavaThread, _exception_handler_pc); } static ByteSize is_method_handle_return_offset() { return byte_offset_of(JavaThread, _is_method_handle_return); } static ByteSize stack_guard_state_offset() { return byte_offset_of(JavaThread, _stack_guard_state ); } static ByteSize suspend_flags_offset() { return byte_offset_of(JavaThread, _suspend_flags ); } - static ByteSize graal_multinewarray_storage_offset() { return byte_offset_of(JavaThread, graal_multinewarray_storage); } static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); } static ByteSize should_post_on_exceptions_flag_offset() {