Commit e101dfb7 authored by Michael Starzinger's avatar Michael Starzinger Committed by Commit Bot

[wasm] Stage type reflection support.

R=ahaas@chromium.org
BUG=v8:7742

Change-Id: Ifaab43b3ca25eb3e03b7f02a2a3864ecc3f41d61
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1771791Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63425}
parent 1990b1e1
...@@ -5,17 +5,18 @@ ...@@ -5,17 +5,18 @@
#ifndef V8_WASM_WASM_FEATURE_FLAGS_H_ #ifndef V8_WASM_WASM_FEATURE_FLAGS_H_
#define V8_WASM_WASM_FEATURE_FLAGS_H_ #define V8_WASM_WASM_FEATURE_FLAGS_H_
#define FOREACH_WASM_EXPERIMENTAL_FEATURE_FLAG(V) \ #define FOREACH_WASM_EXPERIMENTAL_FEATURE_FLAG(V) \
V(mv, "multi-value support", false) \ V(mv, "multi-value support", false) \
V(eh, "exception handling opcodes", false) \ V(eh, "exception handling opcodes", false) \
V(threads, "thread opcodes", false) \ V(threads, "thread opcodes", false) \
V(simd, "SIMD opcodes", false) \ V(simd, "SIMD opcodes", false) \
V(bigint, "JS BigInt support", false) \ V(bigint, "JS BigInt support", false) \
V(return_call, "return call opcodes", false) \ V(return_call, "return call opcodes", false) \
V(type_reflection, "wasm type reflection in JS", false) \
V(compilation_hints, "compilation hints section", false) V(compilation_hints, "compilation hints section", false)
#define FOREACH_WASM_STAGING_FEATURE_FLAG(V) V(anyref, "anyref opcodes", false) #define FOREACH_WASM_STAGING_FEATURE_FLAG(V) \
V(anyref, "anyref opcodes", false) \
V(type_reflection, "wasm type reflection in JS", false)
#define FOREACH_WASM_SHIPPED_FEATURE_FLAG(V) \ #define FOREACH_WASM_SHIPPED_FEATURE_FLAG(V) \
V(bulk_memory, "bulk memory opcodes", true) \ V(bulk_memory, "bulk memory opcodes", true) \
......
...@@ -16,11 +16,16 @@ META_TIMEOUT_REGEXP = re.compile(r"META:\s*timeout=(.*)") ...@@ -16,11 +16,16 @@ META_TIMEOUT_REGEXP = re.compile(r"META:\s*timeout=(.*)")
proposal_flags = [{ proposal_flags = [{
'name': 'reference-types', 'name': 'reference-types',
'flags': ['--experimental-wasm-anyref', 'flags': ['--experimental-wasm-anyref',
'--no-experimental-wasm-bulk-memory'] '--no-experimental-wasm-bulk-memory']
}, },
{ {
'name': 'bulk-memory-operations', 'name': 'bulk-memory-operations',
'flags': ['--experimental-wasm-bulk-memory'] 'flags': ['--experimental-wasm-bulk-memory']
},
{
'name': 'js-types',
'flags': ['--experimental-wasm-type-reflection',
'--no-experimental-wasm-bulk-memory']
}] }]
......
baf13bfd0e16aab9f386f59c06062885e18b6dbb 26e59563060bd6de4adbb4021684e8cf38fe71c8
\ No newline at end of file \ No newline at end of file
...@@ -10,11 +10,16 @@ from testrunner.objects import testcase ...@@ -10,11 +10,16 @@ from testrunner.objects import testcase
proposal_flags = [{ proposal_flags = [{
'name': 'reference-types', 'name': 'reference-types',
'flags': ['--experimental-wasm-anyref', 'flags': ['--experimental-wasm-anyref',
'--no-experimental-wasm-bulk-memory'] '--no-experimental-wasm-bulk-memory']
}, },
{ {
'name': 'bulk-memory-operations', 'name': 'bulk-memory-operations',
'flags': ['--experimental-wasm-bulk-memory'] 'flags': ['--experimental-wasm-bulk-memory']
},
{
'name': 'js-types',
'flags': ['--experimental-wasm-type-reflection',
'--no-experimental-wasm-bulk-memory']
}] }]
class TestLoader(testsuite.JSTestLoader): class TestLoader(testsuite.JSTestLoader):
......
2ace97f753d5868bb4db1ddba8e91634f9af8343 d9e649f4ea6da6bd18999795201c2bd138c0d786
\ No newline at end of file \ No newline at end of file
...@@ -19,6 +19,10 @@ ...@@ -19,6 +19,10 @@
'proposals/bulk-memory-operations/table_copy': [FAIL], 'proposals/bulk-memory-operations/table_copy': [FAIL],
'proposals/bulk-memory-operations/elem': [FAIL], 'proposals/bulk-memory-operations/elem': [FAIL],
'proposals/bulk-memory-operations/binary': [FAIL], 'proposals/bulk-memory-operations/binary': [FAIL],
# TODO(mstarzinger): Roll newest tests into "js-types" repository.
'proposals/js-types/exports': [FAIL],
'proposals/js-types/globals': [FAIL],
'proposals/js-types/linking': [FAIL],
}], # ALWAYS }], # ALWAYS
['arch == mipsel or arch == mips64el or arch == mips or arch == mips64', { ['arch == mipsel or arch == mips64el or arch == mips or arch == mips64', {
......
...@@ -71,7 +71,7 @@ log_and_run cp -r ${TMP_DIR}/spec/test/js-api/* ${JS_API_TEST_DIR}/tests ...@@ -71,7 +71,7 @@ log_and_run cp -r ${TMP_DIR}/spec/test/js-api/* ${JS_API_TEST_DIR}/tests
# Generate the proposal tests. # Generate the proposal tests.
############################################################################### ###############################################################################
repos='bulk-memory-operations reference-types' repos='bulk-memory-operations reference-types js-types'
for repo in ${repos}; do for repo in ${repos}; do
echo "Process ${repo}" echo "Process ${repo}"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment