ttmg-wasm-tool 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/package.json +4 -7
  2. package/CMakeLists.txt +0 -126
  3. package/build/CMakeCache.txt +0 -430
  4. package/build/CMakeFiles/4.0.3/CMakeCCompiler.cmake +0 -84
  5. package/build/CMakeFiles/4.0.3/CMakeCXXCompiler.cmake +0 -104
  6. package/build/CMakeFiles/4.0.3/CMakeDetermineCompilerABI_C.bin +0 -0
  7. package/build/CMakeFiles/4.0.3/CMakeDetermineCompilerABI_CXX.bin +0 -0
  8. package/build/CMakeFiles/4.0.3/CMakeSystem.cmake +0 -15
  9. package/build/CMakeFiles/4.0.3/CompilerIdC/CMakeCCompilerId.c +0 -905
  10. package/build/CMakeFiles/4.0.3/CompilerIdC/a.out +0 -0
  11. package/build/CMakeFiles/4.0.3/CompilerIdC/apple-sdk.c +0 -1
  12. package/build/CMakeFiles/4.0.3/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -920
  13. package/build/CMakeFiles/4.0.3/CompilerIdCXX/a.out +0 -0
  14. package/build/CMakeFiles/4.0.3/CompilerIdCXX/apple-sdk.cpp +0 -1
  15. package/build/CMakeFiles/CMakeConfigureLog.yaml +0 -841
  16. package/build/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
  17. package/build/CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.bin +0 -0
  18. package/build/CMakeFiles/CheckTypeSize/SSIZE_T.bin +0 -0
  19. package/build/CMakeFiles/InstallScripts.json +0 -7
  20. package/build/CMakeFiles/Makefile.cmake +0 -152
  21. package/build/CMakeFiles/Makefile2 +0 -122
  22. package/build/CMakeFiles/TargetDirectories.txt +0 -3
  23. package/build/CMakeFiles/cmake.check_cache +0 -1
  24. package/build/CMakeFiles/progress.marks +0 -1
  25. package/build/CMakeFiles/wasm_tool_node.dir/DependInfo.cmake +0 -65
  26. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/apply-names.cc.o +0 -0
  27. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/apply-names.cc.o.d +0 -810
  28. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binary-reader-ir.cc.o +0 -0
  29. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binary-reader-ir.cc.o.d +0 -822
  30. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binary-reader-logging.cc.o +0 -0
  31. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binary-reader-logging.cc.o.d +0 -818
  32. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binary-reader.cc.o +0 -0
  33. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binary-reader.cc.o.d +0 -819
  34. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binary-writer.cc.o +0 -0
  35. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binary-writer.cc.o.d +0 -816
  36. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binary.cc.o +0 -0
  37. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binary.cc.o.d +0 -802
  38. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binding-hash.cc.o +0 -0
  39. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/binding-hash.cc.o.d +0 -808
  40. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/color.cc.o +0 -0
  41. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/color.cc.o.d +0 -808
  42. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/common.cc.o +0 -0
  43. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/common.cc.o.d +0 -804
  44. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/config.cc.o +0 -0
  45. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/config.cc.o.d +0 -106
  46. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/error-formatter.cc.o +0 -0
  47. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/error-formatter.cc.o.d +0 -807
  48. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/expr-visitor.cc.o +0 -0
  49. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/expr-visitor.cc.o.d +0 -810
  50. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/feature.cc.o +0 -0
  51. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/feature.cc.o.d +0 -804
  52. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/filenames.cc.o +0 -0
  53. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/filenames.cc.o.d +0 -802
  54. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/generate-names.cc.o +0 -0
  55. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/generate-names.cc.o.d +0 -811
  56. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/hash-util.cc.o +0 -0
  57. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/hash-util.cc.o.d +0 -779
  58. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/ir-util.cc.o +0 -0
  59. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/ir-util.cc.o.d +0 -822
  60. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/ir.cc.o +0 -0
  61. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/ir.cc.o.d +0 -824
  62. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/leb128.cc.o +0 -0
  63. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/leb128.cc.o.d +0 -803
  64. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/lexer-source-line-finder.cc.o +0 -0
  65. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/lexer-source-line-finder.cc.o.d +0 -804
  66. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/lexer-source.cc.o +0 -0
  67. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/lexer-source.cc.o.d +0 -803
  68. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/literal.cc.o +0 -0
  69. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/literal.cc.o.d +0 -808
  70. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/opcode-code-table.c.o +0 -0
  71. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/opcode-code-table.c.o.d +0 -79
  72. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/opcode.cc.o +0 -0
  73. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/opcode.cc.o.d +0 -807
  74. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/option-parser.cc.o +0 -0
  75. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/option-parser.cc.o.d +0 -802
  76. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/resolve-names.cc.o +0 -0
  77. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/resolve-names.cc.o.d +0 -819
  78. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/shared-validator.cc.o +0 -0
  79. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/shared-validator.cc.o.d +0 -824
  80. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/stream.cc.o +0 -0
  81. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/stream.cc.o.d +0 -802
  82. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/string-view.cc.o +0 -0
  83. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/string-view.cc.o.d +0 -796
  84. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/token.cc.o +0 -0
  85. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/token.cc.o.d +0 -809
  86. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/tools/wasm-prepare.cc.o +0 -0
  87. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/tools/wasm-prepare.cc.o.d +0 -811
  88. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/tools/wasm-reader-writer.cc.o +0 -0
  89. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/tools/wasm-reader-writer.cc.o.d +0 -839
  90. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/tools/wasm-split.cc.o +0 -0
  91. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/tools/wasm-split.cc.o.d +0 -833
  92. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/tools/wat-writer.cc.o +0 -0
  93. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/tools/wat-writer.cc.o.d +0 -823
  94. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/tracing.cc.o +0 -0
  95. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/tracing.cc.o.d +0 -802
  96. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/type-checker.cc.o +0 -0
  97. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/type-checker.cc.o.d +0 -814
  98. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/utf8.cc.o +0 -0
  99. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/utf8.cc.o.d +0 -87
  100. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/validator.cc.o +0 -0
  101. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/validator.cc.o.d +0 -827
  102. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/wast-lexer.cc.o +0 -0
  103. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/wast-lexer.cc.o.d +0 -821
  104. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/wast-parser.cc.o +0 -0
  105. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/wast-parser.cc.o.d +0 -835
  106. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/wat-writer.cc.o +0 -0
  107. package/build/CMakeFiles/wasm_tool_node.dir/Users/anrans/Desktop/workspace/ttop/ttmg-fe/packages/libs/wasm_tools/wasm-split/src/wat-writer.cc.o.d +0 -823
  108. package/build/CMakeFiles/wasm_tool_node.dir/build.make +0 -785
  109. package/build/CMakeFiles/wasm_tool_node.dir/cmake_clean.cmake +0 -95
  110. package/build/CMakeFiles/wasm_tool_node.dir/compiler_depend.make +0 -2
  111. package/build/CMakeFiles/wasm_tool_node.dir/compiler_depend.ts +0 -2
  112. package/build/CMakeFiles/wasm_tool_node.dir/depend.make +0 -2
  113. package/build/CMakeFiles/wasm_tool_node.dir/flags.make +0 -21
  114. package/build/CMakeFiles/wasm_tool_node.dir/link.txt +0 -1
  115. package/build/CMakeFiles/wasm_tool_node.dir/progress.make +0 -45
  116. package/build/CMakeFiles/wasm_tool_node.dir/src/napi-binding.cc.o +0 -0
  117. package/build/CMakeFiles/wasm_tool_node.dir/src/napi-binding.cc.o.d +0 -787
  118. package/build/CMakeFiles/wasm_tool_node.dir/src/wasm-buffer-ops.cc.o +0 -0
  119. package/build/CMakeFiles/wasm_tool_node.dir/src/wasm-buffer-ops.cc.o.d +0 -837
  120. package/build/Makefile +0 -1315
  121. package/build/cmake_install.cmake +0 -61
  122. package/build/compile_commands.json +0 -260
  123. package/build/config.h +0 -316
  124. package/src/napi-binding.cc +0 -139
  125. package/src/wasm-buffer-ops.cc +0 -867
  126. package/src/wasm-buffer-ops.h +0 -43
package/build/config.h DELETED
@@ -1,316 +0,0 @@
1
- /*
2
- * Copyright 2016 WebAssembly Community Group participants
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- #ifndef WABT_CONFIG_H_
18
- #define WABT_CONFIG_H_
19
-
20
- #include <stdint.h>
21
- #include <stdlib.h>
22
-
23
- #define CMAKE_PROJECT_VERSION "1.0.0"
24
-
25
- /* TODO(binji): nice way to define these with WABT_ prefix? */
26
-
27
- /* Whether <alloca.h> is available */
28
- #define HAVE_ALLOCA_H 1
29
-
30
- /* Whether <unistd.h> is available */
31
- #define HAVE_UNISTD_H 1
32
-
33
- /* Whether snprintf is defined by stdio.h */
34
- #define HAVE_SNPRINTF 1
35
-
36
- /* Whether ssize_t is defined by stddef.h */
37
- #define HAVE_SSIZE_T 1
38
-
39
- /* Whether strcasecmp is defined by strings.h */
40
- #define HAVE_STRCASECMP 1
41
-
42
- /* Whether ENABLE_VIRTUAL_TERMINAL_PROCESSING is defined by windows.h */
43
- #define HAVE_WIN32_VT100 0
44
-
45
- #define COMPILER_IS_CLANG 1
46
- #define COMPILER_IS_GNU 0
47
- #define COMPILER_IS_MSVC 0
48
-
49
- #define WITH_EXCEPTIONS 0
50
-
51
- #define SIZEOF_SIZE_T 8
52
-
53
- #if HAVE_ALLOCA_H
54
- #include <alloca.h>
55
- #elif COMPILER_IS_MSVC
56
- #include <malloc.h>
57
- #define alloca _alloca
58
- #elif defined(__MINGW32__)
59
- #include <malloc.h>
60
- #endif
61
-
62
- #if COMPILER_IS_CLANG || COMPILER_IS_GNU
63
-
64
- #define WABT_UNUSED __attribute__((unused))
65
- #define WABT_WARN_UNUSED __attribute__((warn_unused_result))
66
- #define WABT_INLINE inline
67
- #define WABT_UNLIKELY(x) __builtin_expect(!!(x), 0)
68
- #define WABT_LIKELY(x) __builtin_expect(!!(x), 1)
69
-
70
- #define WABT_VECTORCALL
71
-
72
- #if __MINGW32__
73
- // mingw defaults to printf format specifier being ms_printf (which doesn't
74
- // understand 'llu', etc.) We always want gnu_printf, and force mingw to always
75
- // use mingw_printf, mingw_vprintf, etc.
76
- #define WABT_PRINTF_FORMAT(format_arg, first_arg) \
77
- __attribute__((format(gnu_printf, (format_arg), (first_arg))))
78
- #else
79
- #define WABT_PRINTF_FORMAT(format_arg, first_arg) \
80
- __attribute__((format(printf, (format_arg), (first_arg))))
81
- #endif
82
-
83
- #ifdef __cplusplus
84
- #if __cplusplus >= 201103L
85
- #define WABT_STATIC_ASSERT(x) static_assert((x), #x)
86
- #else
87
- #define WABT_STATIC_ASSERT__(x, c) \
88
- static int static_assert_##c[(x ? 0 : -1)] WABT_UNUSED
89
- #define WABT_STATIC_ASSERT_(x, c) WABT_STATIC_ASSERT__(x, c)
90
- #define WABT_STATIC_ASSERT(x) WABT_STATIC_ASSERT_(x, __COUNTER__)
91
- #endif
92
- #else
93
- #define WABT_STATIC_ASSERT(x) _Static_assert((x), #x)
94
- #endif
95
-
96
- #elif COMPILER_IS_MSVC
97
-
98
- #include <intrin.h>
99
- #include <string.h>
100
-
101
- #define WABT_UNUSED
102
- #define WABT_WARN_UNUSED
103
- #define WABT_INLINE __inline
104
- #define WABT_STATIC_ASSERT(x) _STATIC_ASSERT(x)
105
- #define WABT_UNLIKELY(x) (x)
106
- #define WABT_LIKELY(x) (x)
107
- #define WABT_PRINTF_FORMAT(format_arg, first_arg)
108
-
109
- #define WABT_VECTORCALL __vectorcall
110
-
111
- #else
112
-
113
- #error unknown compiler
114
-
115
- #endif
116
-
117
- #define WABT_UNREACHABLE abort()
118
-
119
- #ifdef __cplusplus
120
-
121
- namespace wabt {
122
-
123
- #if COMPILER_IS_CLANG || COMPILER_IS_GNU
124
-
125
- inline int Clz(unsigned x) { return x ? __builtin_clz(x) : sizeof(x) * 8; }
126
- inline int Clz(unsigned long x) { return x ? __builtin_clzl(x) : sizeof(x) * 8; }
127
- inline int Clz(unsigned long long x) { return x ? __builtin_clzll(x) : sizeof(x) * 8; }
128
-
129
- inline int Ctz(unsigned x) { return x ? __builtin_ctz(x) : sizeof(x) * 8; }
130
- inline int Ctz(unsigned long x) { return x ? __builtin_ctzl(x) : sizeof(x) * 8; }
131
- inline int Ctz(unsigned long long x) { return x ? __builtin_ctzll(x) : sizeof(x) * 8; }
132
-
133
- inline int Popcount(uint8_t x) { return __builtin_popcount(x); }
134
- inline int Popcount(unsigned x) { return __builtin_popcount(x); }
135
- inline int Popcount(unsigned long x) { return __builtin_popcountl(x); }
136
- inline int Popcount(unsigned long long x) { return __builtin_popcountll(x); }
137
-
138
- #elif COMPILER_IS_MSVC
139
-
140
- #if _M_IX86
141
- inline unsigned long LowDword(unsigned __int64 value) {
142
- return (unsigned long)value;
143
- }
144
-
145
- inline unsigned long HighDword(unsigned __int64 value) {
146
- unsigned long high;
147
- memcpy(&high, (unsigned char*)&value + sizeof(high), sizeof(high));
148
- return high;
149
- }
150
- #endif
151
-
152
- inline int Clz(unsigned long mask) {
153
- if (mask == 0)
154
- return 32;
155
-
156
- unsigned long index;
157
- _BitScanReverse(&index, mask);
158
- return sizeof(unsigned long) * 8 - (index + 1);
159
- }
160
-
161
- inline int Clz(unsigned int mask) {
162
- return Clz((unsigned long)mask);
163
- }
164
-
165
- inline int Clz(unsigned __int64 mask) {
166
- #if _M_X64
167
- if (mask == 0)
168
- return 64;
169
-
170
- unsigned long index;
171
- _BitScanReverse64(&index, mask);
172
- return sizeof(unsigned __int64) * 8 - (index + 1);
173
- #elif _M_IX86
174
- int result = Clz(HighDword(mask));
175
- if (result == 32)
176
- result += Clz(LowDword(mask));
177
-
178
- return result;
179
- #else
180
- #error unexpected architecture
181
- #endif
182
- }
183
-
184
- inline int Ctz(unsigned long mask) {
185
- if (mask == 0)
186
- return 32;
187
-
188
- unsigned long index;
189
- _BitScanForward(&index, mask);
190
- return index;
191
- }
192
-
193
- inline int Ctz(unsigned int mask) {
194
- return Ctz((unsigned long)mask);
195
- }
196
-
197
- inline int Ctz(unsigned __int64 mask) {
198
- #if _M_X64
199
- if (mask == 0)
200
- return 64;
201
-
202
- unsigned long index;
203
- _BitScanForward64(&index, mask);
204
- return index;
205
- #elif _M_IX86
206
- int result = Ctz(LowDword(mask));
207
- if (result == 32)
208
- result += Ctz(HighDword(mask));
209
-
210
- return result;
211
- #else
212
- #error unexpected architecture
213
- #endif
214
- }
215
-
216
- inline int Popcount(uint8_t value) {
217
- return __popcnt(value);
218
- }
219
-
220
- inline int Popcount(unsigned long value) {
221
- return __popcnt(value);
222
- }
223
-
224
- inline int Popcount(unsigned int value) {
225
- return Popcount((unsigned long)value);
226
- }
227
-
228
- inline int Popcount(unsigned __int64 value) {
229
- #if _M_X64
230
- return __popcnt64(value);
231
- #elif _M_IX86
232
- return Popcount(HighDword(value)) + Popcount(LowDword(value));
233
- #else
234
- #error unexpected architecture
235
- #endif
236
- }
237
-
238
- #else
239
-
240
- #error unknown compiler
241
-
242
- #endif
243
-
244
- } // namespace wabt
245
-
246
- #if COMPILER_IS_MSVC
247
-
248
- /* print format specifier for size_t */
249
- #if SIZEOF_SIZE_T == 4
250
- #define PRIzd "d"
251
- #define PRIzx "x"
252
- #elif SIZEOF_SIZE_T == 8
253
- #define PRIzd "I64d"
254
- #define PRIzx "I64x"
255
- #else
256
- #error "weird sizeof size_t"
257
- #endif
258
-
259
- #elif COMPILER_IS_CLANG || COMPILER_IS_GNU
260
-
261
- /* print format specifier for size_t */
262
- #define PRIzd "zd"
263
- #define PRIzx "zx"
264
-
265
- #else
266
-
267
- #error unknown compiler
268
-
269
- #endif
270
-
271
- #if HAVE_SNPRINTF
272
- #define wabt_snprintf snprintf
273
- #elif COMPILER_IS_MSVC
274
- /* can't just use _snprintf because it doesn't always null terminate */
275
- #include <cstdarg>
276
- int wabt_snprintf(char* str, size_t size, const char* format, ...);
277
- #else
278
- #error no snprintf
279
- #endif
280
-
281
- #if COMPILER_IS_MSVC
282
- /* can't just use vsnprintf because it doesn't always null terminate */
283
- int wabt_vsnprintf(char* str, size_t size, const char* format, va_list ap);
284
- #else
285
- #define wabt_vsnprintf vsnprintf
286
- #endif
287
-
288
- #if !HAVE_SSIZE_T
289
- #if COMPILER_IS_MSVC
290
- /* define ssize_t identically to how LLVM does, to avoid conflicts if including both */
291
- #if defined(_WIN64)
292
- typedef signed __int64 ssize_t;
293
- #else
294
- typedef signed int ssize_t;
295
- #endif /* _WIN64 */
296
- #else
297
- typedef long ssize_t;
298
- #endif
299
- #endif
300
-
301
- #if !HAVE_STRCASECMP
302
- #if COMPILER_IS_MSVC
303
- #define strcasecmp _stricmp
304
- #else
305
- #error no strcasecmp
306
- #endif
307
- #endif
308
-
309
- double wabt_convert_uint64_to_double(uint64_t x);
310
- float wabt_convert_uint64_to_float(uint64_t x);
311
- double wabt_convert_int64_to_double(int64_t x);
312
- float wabt_convert_int64_to_float(int64_t x);
313
-
314
- #endif // __cplusplus
315
-
316
- #endif /* WABT_CONFIG_H_ */
@@ -1,139 +0,0 @@
1
- //
2
- // N-API binding for WASM tools
3
- //
4
-
5
- #include <napi.h>
6
- #include "wasm-buffer-ops.h"
7
-
8
- namespace {
9
-
10
- // Convert PrepareResult to Napi::Object
11
- Napi::Object PrepareResultToObject(Napi::Env env, const wasm_tool::PrepareResult& result) {
12
- Napi::Object obj = Napi::Object::New(env);
13
-
14
- obj.Set("success", Napi::Boolean::New(env, result.success));
15
-
16
- if (!result.success) {
17
- obj.Set("error", Napi::String::New(env, result.error));
18
- return obj;
19
- }
20
-
21
- obj.Set("funcCount", Napi::Number::New(env, static_cast<double>(result.func_count)));
22
-
23
- // Create Buffer from wasm data
24
- Napi::Buffer<uint8_t> buffer = Napi::Buffer<uint8_t>::Copy(
25
- env, result.wasm_buffer.data(), result.wasm_buffer.size());
26
- obj.Set("wasmBuffer", buffer);
27
-
28
- return obj;
29
- }
30
-
31
- // Convert SplitResult to Napi::Object
32
- Napi::Object SplitResultToObject(Napi::Env env, const wasm_tool::SplitResult& result) {
33
- Napi::Object obj = Napi::Object::New(env);
34
-
35
- obj.Set("success", Napi::Boolean::New(env, result.success));
36
-
37
- if (!result.success) {
38
- obj.Set("error", Napi::String::New(env, result.error));
39
- return obj;
40
- }
41
-
42
- obj.Set("totalFuncCount", Napi::Number::New(env, static_cast<double>(result.total_func_count)));
43
- obj.Set("mainFuncCount", Napi::Number::New(env, static_cast<double>(result.main_func_count)));
44
- obj.Set("subFuncCount", Napi::Number::New(env, static_cast<double>(result.sub_func_count)));
45
- obj.Set("tableSize", Napi::Number::New(env, static_cast<double>(result.table_size)));
46
- obj.Set("globalVarList", Napi::String::New(env, result.global_var_list));
47
-
48
- // Create Buffers from wasm data
49
- Napi::Buffer<uint8_t> mainBuffer = Napi::Buffer<uint8_t>::Copy(
50
- env, result.main_wasm_buffer.data(), result.main_wasm_buffer.size());
51
- obj.Set("mainWasmBuffer", mainBuffer);
52
-
53
- Napi::Buffer<uint8_t> subBuffer = Napi::Buffer<uint8_t>::Copy(
54
- env, result.sub_wasm_buffer.data(), result.sub_wasm_buffer.size());
55
- obj.Set("subWasmBuffer", subBuffer);
56
-
57
- return obj;
58
- }
59
-
60
- // prepareWasm(wasmBuffer: Buffer) => PrepareResult
61
- Napi::Value PrepareWasm(const Napi::CallbackInfo& info) {
62
- Napi::Env env = info.Env();
63
-
64
- // Validate arguments
65
- if (info.Length() < 1) {
66
- Napi::TypeError::New(env, "Expected 1 argument: wasmBuffer").ThrowAsJavaScriptException();
67
- return env.Null();
68
- }
69
-
70
- if (!info[0].IsBuffer()) {
71
- Napi::TypeError::New(env, "First argument must be a Buffer").ThrowAsJavaScriptException();
72
- return env.Null();
73
- }
74
-
75
- Napi::Buffer<uint8_t> buffer = info[0].As<Napi::Buffer<uint8_t>>();
76
- const uint8_t* data = buffer.Data();
77
- size_t size = buffer.Length();
78
-
79
- if (size == 0) {
80
- Napi::Object result = Napi::Object::New(env);
81
- result.Set("success", Napi::Boolean::New(env, false));
82
- result.Set("error", Napi::String::New(env, "Empty buffer provided"));
83
- return result;
84
- }
85
-
86
- // Call the C++ implementation
87
- wasm_tool::PrepareResult result = wasm_tool::PrepareWasmFromBuffer(data, size);
88
-
89
- return PrepareResultToObject(env, result);
90
- }
91
-
92
- // splitWasm(wasmBuffer: Buffer, funcIdList?: string) => SplitResult
93
- Napi::Value SplitWasm(const Napi::CallbackInfo& info) {
94
- Napi::Env env = info.Env();
95
-
96
- // Validate arguments
97
- if (info.Length() < 1) {
98
- Napi::TypeError::New(env, "Expected at least 1 argument: wasmBuffer").ThrowAsJavaScriptException();
99
- return env.Null();
100
- }
101
-
102
- if (!info[0].IsBuffer()) {
103
- Napi::TypeError::New(env, "First argument must be a Buffer").ThrowAsJavaScriptException();
104
- return env.Null();
105
- }
106
-
107
- Napi::Buffer<uint8_t> buffer = info[0].As<Napi::Buffer<uint8_t>>();
108
- const uint8_t* data = buffer.Data();
109
- size_t size = buffer.Length();
110
-
111
- if (size == 0) {
112
- Napi::Object result = Napi::Object::New(env);
113
- result.Set("success", Napi::Boolean::New(env, false));
114
- result.Set("error", Napi::String::New(env, "Empty buffer provided"));
115
- return result;
116
- }
117
-
118
- // Get optional func id list
119
- std::string funcIdList;
120
- if (info.Length() >= 2 && info[1].IsString()) {
121
- funcIdList = info[1].As<Napi::String>().Utf8Value();
122
- }
123
-
124
- // Call the C++ implementation
125
- wasm_tool::SplitResult result = wasm_tool::SplitWasmFromBuffer(data, size, funcIdList);
126
-
127
- return SplitResultToObject(env, result);
128
- }
129
-
130
- // Module initialization
131
- Napi::Object Init(Napi::Env env, Napi::Object exports) {
132
- exports.Set("prepareWasm", Napi::Function::New(env, PrepareWasm));
133
- exports.Set("splitWasm", Napi::Function::New(env, SplitWasm));
134
- return exports;
135
- }
136
-
137
- NODE_API_MODULE(wasm_tool_node, Init)
138
-
139
- } // anonymous namespace