machinst x64: New backend unwind (#2266)
Addresses unwind for experimental x64 backend. The preliminary code enables backtrace on SystemV call convension.
This commit is contained in:
@@ -32,7 +32,7 @@ fn test_trap_return() -> Result<()> {
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn test_trap_trace() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let wat = r#"
|
||||
@@ -75,7 +75,7 @@ fn test_trap_trace() -> Result<()> {
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn test_trap_trace_cb() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let wat = r#"
|
||||
@@ -112,7 +112,7 @@ fn test_trap_trace_cb() -> Result<()> {
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn test_trap_stack_overflow() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let wat = r#"
|
||||
@@ -145,7 +145,7 @@ fn test_trap_stack_overflow() -> Result<()> {
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn trap_display_pretty() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let wat = r#"
|
||||
@@ -178,7 +178,7 @@ wasm backtrace:
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn trap_display_multi_module() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let wat = r#"
|
||||
@@ -224,7 +224,7 @@ wasm backtrace:
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn trap_start_function_import() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let binary = wat::parse_str(
|
||||
@@ -252,7 +252,7 @@ fn trap_start_function_import() -> Result<()> {
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn rust_panic_import() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let binary = wat::parse_str(
|
||||
@@ -298,7 +298,7 @@ fn rust_panic_import() -> Result<()> {
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn rust_panic_start_function() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let binary = wat::parse_str(
|
||||
@@ -333,7 +333,7 @@ fn rust_panic_start_function() -> Result<()> {
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn mismatched_arguments() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let binary = wat::parse_str(
|
||||
@@ -366,7 +366,7 @@ fn mismatched_arguments() -> Result<()> {
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn call_signature_mismatch() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let binary = wat::parse_str(
|
||||
@@ -398,7 +398,7 @@ fn call_signature_mismatch() -> Result<()> {
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(target_arch = "aarch64", ignore)] // FIXME(#1642)
|
||||
#[cfg_attr(feature = "experimental_x64", ignore)] // FIXME(#2078)
|
||||
#[cfg_attr(all(target_os = "windows", feature = "experimental_x64"), ignore)] // FIXME(#2079)
|
||||
fn start_trap_pretty() -> Result<()> {
|
||||
let store = Store::default();
|
||||
let wat = r#"
|
||||
|
||||
Reference in New Issue
Block a user