Print this page
rev 1081 : imported patch indy-cleanup-6893081.patch

Split Close
Expand all
Collapse all
          --- old/src/share/vm/runtime/thread.hpp
          +++ new/src/share/vm/runtime/thread.hpp
↓ open down ↓ 752 lines elided ↑ open up ↑
 753  753  
 754  754    StackGuardState        _stack_guard_state;
 755  755  
 756  756    // Compiler exception handling (NOTE: The _exception_oop is *NOT* the same as _pending_exception. It is
 757  757    // used to temp. parsing values into and out of the runtime system during exception handling for compiled
 758  758    // code)
 759  759    volatile oop     _exception_oop;               // Exception thrown in compiled code
 760  760    volatile address _exception_pc;                // PC where exception happened
 761  761    volatile address _exception_handler_pc;        // PC for handler of exception
 762  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  765    // support for compilation
 765  766    bool    _is_compiling;                         // is true if a compilation is active inthis thread (one compilation per thread possible)
 766  767  
 767  768    // support for JNI critical regions
 768  769    jint    _jni_active_critical;                  // count of entries into JNI critical region
 769  770  
 770  771    // For deadlock detection.
 771  772    int _depth_first_number;
 772  773  
↓ open down ↓ 315 lines elided ↑ open up ↑
1088 1089    void set_vm_result_2  (oop x)                  { _vm_result_2   = x; }
1089 1090  
1090 1091    MemRegion deferred_card_mark() const           { return _deferred_card_mark; }
1091 1092    void set_deferred_card_mark(MemRegion mr)      { _deferred_card_mark = mr;   }
1092 1093  
1093 1094    // Exception handling for compiled methods
1094 1095    oop      exception_oop() const                 { return _exception_oop; }
1095 1096    int      exception_stack_size() const          { return _exception_stack_size; }
1096 1097    address  exception_pc() const                  { return _exception_pc; }
1097 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 1101    void set_exception_oop(oop o)                  { _exception_oop = o; }
1100 1102    void set_exception_pc(address a)               { _exception_pc = a; }
1101 1103    void set_exception_handler_pc(address a)       { _exception_handler_pc = a; }
1102 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 1107    // Stack overflow support
1105 1108    inline size_t stack_available(address cur_sp);
1106 1109    address stack_yellow_zone_base()
1107 1110      { return (address)(stack_base() - (stack_size() - (stack_red_zone_size() + stack_yellow_zone_size()))); }
1108 1111    size_t  stack_yellow_zone_size()
1109 1112      { return StackYellowPages * os::vm_page_size(); }
1110 1113    address stack_red_zone_base()
1111 1114      { return (address)(stack_base() - (stack_size() - stack_red_zone_size())); }
1112 1115    size_t stack_red_zone_size()
↓ open down ↓ 53 lines elided ↑ open up ↑
1166 1169    static ByteSize callee_target_offset()         { return byte_offset_of(JavaThread, _callee_target       ); }
1167 1170    static ByteSize vm_result_offset()             { return byte_offset_of(JavaThread, _vm_result           ); }
1168 1171    static ByteSize vm_result_2_offset()           { return byte_offset_of(JavaThread, _vm_result_2         ); }
1169 1172    static ByteSize thread_state_offset()          { return byte_offset_of(JavaThread, _thread_state        ); }
1170 1173    static ByteSize saved_exception_pc_offset()    { return byte_offset_of(JavaThread, _saved_exception_pc  ); }
1171 1174    static ByteSize osthread_offset()              { return byte_offset_of(JavaThread, _osthread            ); }
1172 1175    static ByteSize exception_oop_offset()         { return byte_offset_of(JavaThread, _exception_oop       ); }
1173 1176    static ByteSize exception_pc_offset()          { return byte_offset_of(JavaThread, _exception_pc        ); }
1174 1177    static ByteSize exception_handler_pc_offset()  { return byte_offset_of(JavaThread, _exception_handler_pc); }
1175 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 1180    static ByteSize stack_guard_state_offset()     { return byte_offset_of(JavaThread, _stack_guard_state   ); }
1177 1181    static ByteSize suspend_flags_offset()         { return byte_offset_of(JavaThread, _suspend_flags       ); }
1178 1182  
1179 1183    static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); }
1180 1184  
1181 1185  #ifndef SERIALGC
1182 1186    static ByteSize satb_mark_queue_offset()       { return byte_offset_of(JavaThread, _satb_mark_queue); }
1183 1187    static ByteSize dirty_card_queue_offset()      { return byte_offset_of(JavaThread, _dirty_card_queue); }
1184 1188  #endif // !SERIALGC
1185 1189  
↓ open down ↓ 616 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX