This PR is extracted from #29731 . We saw following mixed jstack in TestJhsdbJstackMixedCore.java and then it failed due to unsatisfied condition.
----------------- 3258804 ----------------- "main" #3 prio=5 tid=0x00007f497802e450 nid=3258804 runnable [0x00007f4982c74000] java.lang.Thread.State: RUNNABLE JavaThread state: _thread_in_native 0x00007f49826dc5ef __GI_raise + 0x10f 0x00007f49826afe65 __GI_abort + 0x127 0x00007f497fdec90f os::abort(bool, void const*, void const*) [clone .cold] + 0x4 0x00007f498175d582 VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void const*, void const*, char const*, int, unsigned long) + 0x6f2 0x00007f498072e3c0 report_vm_error(char const*, int, char const*, char const*, ...) + 0x100 0x00007f497fe5bb5f CompressedKlassPointers::decode_not_null(unsigned int) + 0x22f 0x00007f4982c72010 ???????? "????????" was shown because `DW_CFA_restore` is not supported in `DwarfParser`. This PR implements `DW_CFA_restore`, and also implements `DW_CFA_restore_state` and `DW_CFA_restore` correctly using `stack`. ------------- Commit messages: - 8377947: Test serviceability/sa/TestJhsdbJstackMixedCore.java failed on linux-x64 Changes: https://git.openjdk.org/jdk/pull/29779/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29779&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8377947 Stats: 98 lines in 3 files changed: 40 ins; 33 del; 25 mod Patch: https://git.openjdk.org/jdk/pull/29779.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/29779/head:pull/29779 PR: https://git.openjdk.org/jdk/pull/29779
