equal
deleted
inserted
replaced
906 |
906 |
907 // JVMTI PopFrame support |
907 // JVMTI PopFrame support |
908 // This is set to popframe_pending to signal that top Java frame should be popped immediately |
908 // This is set to popframe_pending to signal that top Java frame should be popped immediately |
909 int _popframe_condition; |
909 int _popframe_condition; |
910 |
910 |
|
911 // If reallocation of scalar replaced objects fails, we throw OOM |
|
912 // and during exception propagation, pop the top |
|
913 // _frames_to_pop_failed_realloc frames, the ones that reference |
|
914 // failed reallocations. |
|
915 int _frames_to_pop_failed_realloc; |
|
916 |
911 #ifndef PRODUCT |
917 #ifndef PRODUCT |
912 int _jmp_ring_index; |
918 int _jmp_ring_index; |
913 struct { |
919 struct { |
914 // We use intptr_t instead of address so debugger doesn't try and display strings |
920 // We use intptr_t instead of address so debugger doesn't try and display strings |
915 intptr_t _target; |
921 intptr_t _target; |
1565 bool pop_frame_in_process(void) { return ((_popframe_condition & popframe_processing_bit) != 0); } |
1571 bool pop_frame_in_process(void) { return ((_popframe_condition & popframe_processing_bit) != 0); } |
1566 void set_pop_frame_in_process(void) { _popframe_condition |= popframe_processing_bit; } |
1572 void set_pop_frame_in_process(void) { _popframe_condition |= popframe_processing_bit; } |
1567 void clr_pop_frame_in_process(void) { _popframe_condition &= ~popframe_processing_bit; } |
1573 void clr_pop_frame_in_process(void) { _popframe_condition &= ~popframe_processing_bit; } |
1568 #endif |
1574 #endif |
1569 |
1575 |
|
1576 int frames_to_pop_failed_realloc() const { return _frames_to_pop_failed_realloc; } |
|
1577 void set_frames_to_pop_failed_realloc(int nb) { _frames_to_pop_failed_realloc = nb; } |
|
1578 void dec_frames_to_pop_failed_realloc() { _frames_to_pop_failed_realloc--; } |
|
1579 |
1570 private: |
1580 private: |
1571 // Saved incoming arguments to popped frame. |
1581 // Saved incoming arguments to popped frame. |
1572 // Used only when popped interpreted frame returns to deoptimized frame. |
1582 // Used only when popped interpreted frame returns to deoptimized frame. |
1573 void* _popframe_preserved_args; |
1583 void* _popframe_preserved_args; |
1574 int _popframe_preserved_args_size; |
1584 int _popframe_preserved_args_size; |