I looked through this, and I don’t think the there is anything needed other 
than this PR. Eventually jstack creates a VM_PrintThreads command which calls 
the threads.cpp code.

> On Jun 4, 2024, at 3:52 PM, Iñigo Mediavilla <imedi...@gmail.com> wrote:
> 
> Hello,
> 
> While there's ongoing work on:
> 
> https://github.com/openjdk/jdk/pull/19482 
> <https://github.com/openjdk/jdk/pull/19482>
> 
> to add the stack trace of mounted virtual threads to the `jcmd <pid> 
> Thread.print` command, I'm starting to think about how I could do to print 
> the stack trace for virtual threads from `jstack` but I'm not sure about what 
> would be the best approach, so I'd be happy to get people's thoughts on the 
> topic.
> 
> Based on what I've seen `jstack` seems to fetch a ThreadList of JavaThreads 
> and then relies on a bunch of Java code that uses attribute offsets to get 
> the values of certain attributes of the JavaThread in the VM. With those 
> attributes the java code can obtain the data that it requires about the 
> threads, their monitors and also to get the latest frame in the stack to be 
> able to iterate the stack. If I were to follow the same principle, I'd have 
> to replicate the code that was added to the VM to read the stack chunks of 
> virtual threads in Java, knowing that it looks like that the JVM code had to 
> be written for multiple CPU architectures, I'm a bit concern about how 
> complex following that approach would be.
> 
> I considered following the approach used by `ThreadDumper.java`, that relies 
> on `ThreadContainers` to get the virtual threads and then iterates over 
> `Thread.getStackTrace` for the virtual thread. But I don't think that would 
> work because I don't think the `ThreadContainers` can be accessed from 
> `Jstack`.
> 
> So I'm basically a bit blocked, and I think that I'd need some help from 
> people that have followed loom more closely and have a clearer view of things 
> and can probably provide me with hints on how to approach the problem 
> differently.
> 
> Thanks in advance for your help.
> 
> Best
> 
> Íñigo Mediavilla Saiz
> 
> 

Reply via email to