comparison src/share/vm/runtime/thread.hpp @ 1429:abc670a709dc

* -XX:TraceC1X=0...5 controls the native c1x tracing * -Dc1x.debug=true turns on the logging proxies and lots of log output on the java side * provide more information about types to the compiler (type hierarchy, etc) * provide exception handler tables to the compiler * add exception handlers to the nmethod * correct implementation of ExceptionObject * exception handling/unwinding entry points * modified versions of handle/unwind exception stubs using standard calling conventions * exception throwing * implicit null pointer exception, implicit div by 0 exception * arraystore/classcast/arrayindex exceptions * checkcast implementation * newarray, anewarray, multinewarray implementation * correct new instance initialization * access to java class mirrors (for ldc) * unresolved methods * class resolving - class patching (asssembly prototype copying)
author Lukas Stadler <lukas.stadler@oracle.com>
date Tue, 31 Aug 2010 22:13:30 -0700
parents b30a2cd5e3a2
children 2d26b0046e0d
comparison
equal deleted inserted replaced
1428:695451afc619 1429:abc670a709dc
761 stack_guard_enabled // enabled 761 stack_guard_enabled // enabled
762 }; 762 };
763 763
764 private: 764 private:
765 765
766 // c1x needs some place to put the dimensions
767 jint c1x_multinewarray_storage[256];
768
766 StackGuardState _stack_guard_state; 769 StackGuardState _stack_guard_state;
767 770
768 // Compiler exception handling (NOTE: The _exception_oop is *NOT* the same as _pending_exception. It is 771 // Compiler exception handling (NOTE: The _exception_oop is *NOT* the same as _pending_exception. It is
769 // used to temp. parsing values into and out of the runtime system during exception handling for compiled 772 // used to temp. parsing values into and out of the runtime system during exception handling for compiled
770 // code) 773 // code)
1189 static ByteSize exception_handler_pc_offset() { return byte_offset_of(JavaThread, _exception_handler_pc); } 1192 static ByteSize exception_handler_pc_offset() { return byte_offset_of(JavaThread, _exception_handler_pc); }
1190 static ByteSize exception_stack_size_offset() { return byte_offset_of(JavaThread, _exception_stack_size); } 1193 static ByteSize exception_stack_size_offset() { return byte_offset_of(JavaThread, _exception_stack_size); }
1191 static ByteSize is_method_handle_return_offset() { return byte_offset_of(JavaThread, _is_method_handle_return); } 1194 static ByteSize is_method_handle_return_offset() { return byte_offset_of(JavaThread, _is_method_handle_return); }
1192 static ByteSize stack_guard_state_offset() { return byte_offset_of(JavaThread, _stack_guard_state ); } 1195 static ByteSize stack_guard_state_offset() { return byte_offset_of(JavaThread, _stack_guard_state ); }
1193 static ByteSize suspend_flags_offset() { return byte_offset_of(JavaThread, _suspend_flags ); } 1196 static ByteSize suspend_flags_offset() { return byte_offset_of(JavaThread, _suspend_flags ); }
1197 static ByteSize c1x_multinewarray_storage_offset() { return byte_offset_of(JavaThread, c1x_multinewarray_storage); }
1194 1198
1195 static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); } 1199 static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); }
1196 static ByteSize should_post_on_exceptions_flag_offset() { 1200 static ByteSize should_post_on_exceptions_flag_offset() {
1197 return byte_offset_of(JavaThread, _should_post_on_exceptions_flag); 1201 return byte_offset_of(JavaThread, _should_post_on_exceptions_flag);
1198 } 1202 }