< prev index next >

src/hotspot/os/posix/os_posix.cpp

Print this page
*** 137,10 ***
--- 137,14 ---
    }
  
    VMError::record_coredump_status(buffer, success);
  }
  
+ // Native stack isn't walkable for RISCV this way.
+ // Native C frame and Java frame have different structure on RISCV.
+ // A seperate implementation is provided under linux_riscv for RISCV.
+ #if !defined(RISCV) || defined(ZERO)
  int os::get_native_stack(address* stack, int frames, int toSkip) {
    int frame_idx = 0;
    int num_of_frames;  // number of frames captured
    frame fr = os::current_frame();
    while (fr.pc() && frame_idx < frames) {

*** 163,10 ***
--- 167,11 ---
      stack[frame_idx] = NULL;
    }
  
    return num_of_frames;
  }
+ #endif
  
  int os::get_last_error() {
    return errno;
  }
  
< prev index next >