Show wasm proposals status during compilation and execution (#3989)
- add default build configuration options and enhance message output for WAMR features - Add Wasm proposal status printing functionality
This commit is contained in:
48
product-mini/platforms/common/wasm_proposal.c
Normal file
48
product-mini/platforms/common/wasm_proposal.c
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Amazon.com Inc. or its affiliates. All rights reserved.
|
||||
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
void
|
||||
wasm_proposal_print_status(void)
|
||||
{
|
||||
printf("About Wasm Proposals:\n");
|
||||
printf(" Always-on:\n");
|
||||
printf(" - Extended Constant Expressions\n");
|
||||
printf(" - Multi-value\n");
|
||||
printf(" - Non-trapping float-to-int conversions\n");
|
||||
printf(" - Sign-extension operators\n");
|
||||
printf(" - WebAssembly C and C++ API\n");
|
||||
printf(" Compilation Configurable. 0 is OFF. 1 is ON:\n");
|
||||
printf(" - Bulk Memory Operation via WASM_ENABLE_BULK_MEMORY: %u\n",
|
||||
WASM_ENABLE_BULK_MEMORY);
|
||||
printf(" - Fixed-Width SIMD via WASM_ENABLE_SIMD: %u\n",
|
||||
WASM_ENABLE_SIMD);
|
||||
printf(" - Garbage Collection via WASM_ENABLE_GC: %u\n", WASM_ENABLE_GC);
|
||||
printf(
|
||||
" - Legacy Exception Handling via WASM_ENABLE_EXCE_HANDLING: %u\n",
|
||||
WASM_ENABLE_EXCE_HANDLING);
|
||||
printf(" - Memory64 via WASM_ENABLE_MEMORY64: %u\n",
|
||||
WASM_ENABLE_MEMORY64);
|
||||
printf(" - Multiple Memory via WASM_ENABLE_MULTI_MEMORY: %u\n",
|
||||
WASM_ENABLE_MULTI_MEMORY);
|
||||
printf(" - Reference Types via WASM_ENABLE_REF_TYPES: %u\n",
|
||||
WASM_ENABLE_REF_TYPES);
|
||||
printf(" - Reference-Typed Strings via WASM_ENABLE_REF_TYPES: %u\n",
|
||||
WASM_ENABLE_REF_TYPES);
|
||||
printf(" - Tail Call via WASM_ENABLE_TAIL_CALL: %u\n",
|
||||
WASM_ENABLE_TAIL_CALL);
|
||||
printf(" - Threads via WASM_ENABLE_SHARED_MEMORY: %u\n",
|
||||
WASM_ENABLE_SHARED_MEMORY);
|
||||
printf(" - Typed Function References via WASM_ENABLE_GC: %u\n",
|
||||
WASM_ENABLE_GC);
|
||||
printf(" Unsupported (>= Phase4):\n");
|
||||
printf(" - Branch Hinting\n");
|
||||
printf(" - Custom Annotation Syntax in the Text Format\n");
|
||||
printf(" - Exception handling\n");
|
||||
printf(" - Import/Export of Mutable Globals\n");
|
||||
printf(" - JS String Builtins\n");
|
||||
printf(" - Relaxed SIMD\n");
|
||||
}
|
||||
@ -18,6 +18,8 @@
|
||||
#include "../common/libc_wasi.c"
|
||||
#endif
|
||||
|
||||
#include "../common/wasm_proposal.c"
|
||||
|
||||
#if BH_HAS_DLFCN
|
||||
#include <dlfcn.h>
|
||||
#endif
|
||||
@ -798,6 +800,8 @@ main(int argc, char *argv[])
|
||||
wasm_runtime_get_version(&major, &minor, &patch);
|
||||
printf("iwasm %" PRIu32 ".%" PRIu32 ".%" PRIu32 "\n", major, minor,
|
||||
patch);
|
||||
printf("\n");
|
||||
wasm_proposal_print_status();
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user