summaryrefslogtreecommitdiff
path: root/deps/v8/test/unittests/wasm/module-decoder-unittest.cc
diff options
context:
space:
mode:
authorMichaƫl Zasso <targos@protonmail.com>2018-01-24 20:16:06 +0100
committerMyles Borins <mylesborins@google.com>2018-01-24 15:02:20 -0800
commit4c4af643e5042d615a60c6bbc05aee9d81b903e5 (patch)
tree3fb0a97988fe4439ae3ae06f26915d1dcf8cab92 /deps/v8/test/unittests/wasm/module-decoder-unittest.cc
parentfa9f31a4fda5a3782c652e56e394465805ebb50f (diff)
downloadnode-new-4c4af643e5042d615a60c6bbc05aee9d81b903e5.tar.gz
deps: update V8 to 6.4.388.40
PR-URL: https://github.com/nodejs/node/pull/17489 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Diffstat (limited to 'deps/v8/test/unittests/wasm/module-decoder-unittest.cc')
-rw-r--r--deps/v8/test/unittests/wasm/module-decoder-unittest.cc45
1 files changed, 34 insertions, 11 deletions
diff --git a/deps/v8/test/unittests/wasm/module-decoder-unittest.cc b/deps/v8/test/unittests/wasm/module-decoder-unittest.cc
index 2e76d374d3..ae98bd9a70 100644
--- a/deps/v8/test/unittests/wasm/module-decoder-unittest.cc
+++ b/deps/v8/test/unittests/wasm/module-decoder-unittest.cc
@@ -494,7 +494,7 @@ TEST_F(WasmModuleVerifyTest, DataSegmentWithImmutableImportedGlobal) {
0, // mutability
SECTION(Memory, 4),
ENTRY_COUNT(1),
- kResizableMaximumFlag,
+ kHasMaximumFlag,
28,
28,
SECTION(Data, 9),
@@ -527,7 +527,7 @@ TEST_F(WasmModuleVerifyTest, DataSegmentWithMutableImportedGlobal) {
1, // mutability
SECTION(Memory, 4),
ENTRY_COUNT(1),
- kResizableMaximumFlag,
+ kHasMaximumFlag,
28,
28,
SECTION(Data, 9),
@@ -546,7 +546,7 @@ TEST_F(WasmModuleVerifyTest, DataSegmentWithImmutableGlobal) {
const byte data[] = {
SECTION(Memory, 4),
ENTRY_COUNT(1),
- kResizableMaximumFlag,
+ kHasMaximumFlag,
28,
28,
SECTION(Global, 8), // --
@@ -571,7 +571,7 @@ TEST_F(WasmModuleVerifyTest, OneDataSegment) {
const byte data[] = {
SECTION(Memory, 4),
ENTRY_COUNT(1),
- kResizableMaximumFlag,
+ kHasMaximumFlag,
28,
28,
SECTION(Data, 11),
@@ -610,7 +610,7 @@ TEST_F(WasmModuleVerifyTest, TwoDataSegments) {
const byte data[] = {
SECTION(Memory, 4),
ENTRY_COUNT(1),
- kResizableMaximumFlag,
+ kHasMaximumFlag,
28,
28,
SECTION(Data, 29),
@@ -678,15 +678,13 @@ TEST_F(WasmModuleVerifyTest, DataWithoutMemory) {
TEST_F(WasmModuleVerifyTest, MaxMaximumMemorySize) {
{
const byte data[] = {
- SECTION(Memory, 6), ENTRY_COUNT(1), kResizableMaximumFlag, 0,
- U32V_3(65536),
+ SECTION(Memory, 6), ENTRY_COUNT(1), kHasMaximumFlag, 0, U32V_3(65536),
};
EXPECT_VERIFIES(data);
}
{
const byte data[] = {
- SECTION(Memory, 6), ENTRY_COUNT(1), kResizableMaximumFlag, 0,
- U32V_3(65537),
+ SECTION(Memory, 6), ENTRY_COUNT(1), kHasMaximumFlag, 0, U32V_3(65537),
};
EXPECT_FAILURE(data);
}
@@ -696,7 +694,7 @@ TEST_F(WasmModuleVerifyTest, DataSegment_wrong_init_type) {
const byte data[] = {
SECTION(Memory, 4),
ENTRY_COUNT(1),
- kResizableMaximumFlag,
+ kHasMaximumFlag,
28,
28,
SECTION(Data, 11),
@@ -715,7 +713,7 @@ TEST_F(WasmModuleVerifyTest, DataSegment_wrong_init_type) {
TEST_F(WasmModuleVerifyTest, DataSegmentEndOverflow) {
const byte data[] = {
SECTION(Memory, 4), // memory section
- ENTRY_COUNT(1), kResizableMaximumFlag, 28, 28,
+ ENTRY_COUNT(1), kHasMaximumFlag, 28, 28,
SECTION(Data, 10), // data section
ENTRY_COUNT(1), // one entry
LINEAR_MEMORY_INDEX_0, // mem index
@@ -1505,6 +1503,31 @@ TEST_F(WasmModuleVerifyTest, Regression_738097) {
EXPECT_FAILURE(data);
}
+TEST_F(WasmModuleVerifyTest, FunctionBodySizeLimit) {
+ const uint32_t delta = 3;
+ for (uint32_t body_size = kV8MaxWasmFunctionSize - delta;
+ body_size < kV8MaxWasmFunctionSize + delta; body_size++) {
+ byte data[] = {
+ SIGNATURES_SECTION(1, SIG_ENTRY_v_v), // --
+ FUNCTION_SIGNATURES_SECTION(1, 0), // --
+ kCodeSectionCode, // code section
+ U32V_5(1 + body_size + 5), // section size
+ 1, // # functions
+ U32V_5(body_size) // body size
+ };
+ size_t total = sizeof(data) + body_size;
+ byte* buffer = reinterpret_cast<byte*>(calloc(1, total));
+ memcpy(buffer, data, sizeof(data));
+ ModuleResult result = DecodeModule(buffer, buffer + total);
+ if (body_size <= kV8MaxWasmFunctionSize) {
+ EXPECT_TRUE(result.ok());
+ } else {
+ EXPECT_FALSE(result.ok());
+ }
+ free(buffer);
+ }
+}
+
TEST_F(WasmModuleVerifyTest, FunctionBodies_empty) {
static const byte data[] = {
EMPTY_SIGNATURES_SECTION, // --