Skip to content

Commit d781312

Browse files
AdamLoulysumitsays
authored andcommitted
[On-Device-Training] Upgrade Flatbuffers to Support 2GB+ Checkpoints. (#19770)
### Description Modifications to support 2GB+ checkpoint & Upgrading Flatbuffers ### Motivation and Context This PR includes changes that will make ort handle 2GB+ checkpoints. To do that we need to upgrade flatbuffers to 23.5.9 - google/flatbuffers#7945 - Modified the commitHash and the hash for the new version - Removed the patch for rust generator's unused variable warning as it is no longer producing this - [Check it out here](https://github.com/CasperN/flatbuffers/blob/d121e09d89726256ddbecd6318bcc85ce080d686/src/idl_gen_rust.cpp) - Updated the VerifyField calls with alignment values that were introduced in the new version. --------- Co-authored-by: Sumit Agarwal <sumitagarwal@microsoft.com>
1 parent 114f71f commit d781312

File tree

25 files changed

+585
-535
lines changed

25 files changed

+585
-535
lines changed

cgmanifests/generated/cgmanifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@
8686
"component": {
8787
"type": "git",
8888
"git": {
89-
"commitHash": "6df40a2471737b27271bdd9b900ab5f3aec746c7",
89+
"commitHash": "0100f6a5779831fa7a651e4b67ef389a8752bd9b",
9090
"repositoryUrl": "https://github.com/google/flatbuffers.git"
9191
},
9292
"comments": "flatbuffers"

cmake/deps.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ dlpack;https://github.com/dmlc/dlpack/archive/refs/tags/v0.6.zip;4d565dd2e5b3132
2323
# Until the 3.4.1 release this is the best option we have.
2424
# Issue link: https://gitlab.com/libeigen/eigen/-/issues/2744
2525
eigen;https://gitlab.com/libeigen/eigen/-/archive/e7248b26a1ed53fa030c5c459f7ea095dfd276ac/eigen-e7248b26a1ed53fa030c5c459f7ea095dfd276ac.zip;be8be39fdbc6e60e94fa7870b280707069b5b81a
26-
flatbuffers;https://github.com/google/flatbuffers/archive/refs/tags/v1.12.0.zip;ba0a75fd12dbef8f6557a74e611b7a3d0c5fe7bf
26+
flatbuffers;https://github.com/google/flatbuffers/archive/refs/tags/v23.5.26.zip;59422c3b5e573dd192fead2834d25951f1c1670c
2727
fp16;https://github.com/Maratyszcza/FP16/archive/0a92994d729ff76a58f692d3028ca1b64b145d91.zip;b985f6985a05a1c03ff1bb71190f66d8f98a1494
2828
fxdiv;https://github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip;a5658f4036402dbca7cebee32be57fb8149811e1
2929
google_benchmark;https://github.com/google/benchmark/archive/refs/tags/v1.8.3.zip;bf9870756ee3f8d2d3b346b24ee3600a41c74d3d

cmake/external/onnxruntime_external_deps.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ FetchContent_Declare(
109109
URL ${DEP_URL_flatbuffers}
110110
URL_HASH SHA1=${DEP_SHA1_flatbuffers}
111111
PATCH_COMMAND ${ONNXRUNTIME_FLATBUFFERS_PATCH_COMMAND}
112-
FIND_PACKAGE_ARGS 1.12.0...<2.0.0 NAMES Flatbuffers
112+
FIND_PACKAGE_ARGS 23.5.9 NAMES Flatbuffers
113113
)
114114

115115
# Download a protoc binary from Internet if needed

cmake/patches/flatbuffers/flatbuffers.patch

Lines changed: 8 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,11 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
22
index 3987eac9..5e5462f1 100644
33
--- a/CMakeLists.txt
44
+++ b/CMakeLists.txt
5-
@@ -223,7 +223,7 @@ elseif(CMAKE_COMPILER_IS_GNUCXX)
6-
"${CMAKE_CXX_FLAGS} -std=c++0x")
7-
endif(CYGWIN)
8-
set(CMAKE_CXX_FLAGS
9-
- "${CMAKE_CXX_FLAGS} -Wall -pedantic -Werror -Wextra -Werror=shadow")
10-
+ "${CMAKE_CXX_FLAGS} -Wall -pedantic -Wextra -Werror=shadow -Wno-error=stringop-overflow")
11-
set(FLATBUFFERS_PRIVATE_CXX_FLAGS "-Wold-style-cast")
12-
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.4)
13-
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0)
14-
diff --git a/src/idl_gen_rust.cpp b/src/idl_gen_rust.cpp
15-
index 55b8439b..dc03e8a8 100644
16-
--- a/src/idl_gen_rust.cpp
17-
+++ b/src/idl_gen_rust.cpp
18-
@@ -406,7 +406,8 @@ class RustGenerator : public BaseGenerator {
19-
// example: f(A, D::E) -> super::D::E
20-
// does not include leaf object (typically a struct type).
21-
22-
- size_t i = 0;
23-
+ // fix unused but set variable warning
24-
+ //size_t i = 0;
25-
std::stringstream stream;
26-
27-
auto s = src->components.begin();
28-
@@ -417,7 +418,7 @@ class RustGenerator : public BaseGenerator {
29-
if (*s != *d) { break; }
30-
++s;
31-
++d;
32-
- ++i;
33-
+ //++i;
34-
}
35-
36-
for (; s != src->components.end(); ++s) { stream << "super::"; }
5+
@@ -279,5 +279,5 @@
6+
# Append FLATBUFFERS_CXX_FLAGS to CMAKE_CXX_FLAGS.
7+
if(DEFINED FLATBUFFERS_CXX_FLAGS)
8+
message(STATUS "extend CXX_FLAGS with ${FLATBUFFERS_CXX_FLAGS}")
9+
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLATBUFFERS_CXX_FLAGS}")
10+
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLATBUFFERS_CXX_FLAGS} -Wno-error=stringop-overflow")
11+
endif()
12+
message(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}")

include/onnxruntime/core/graph/graph.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#pragma warning(pop)
2222
#endif
2323

24-
#include "flatbuffers/flatbuffers.h"
24+
#include "core/common/flatbuffers.h"
2525

2626
#include "core/common/gsl.h"
2727

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
#pragma once
5+
#if defined(__GNUC__)
6+
#include "onnxruntime_config.h"
7+
#pragma GCC diagnostic push
8+
9+
#ifdef HAS_SHORTEN_64_TO_32
10+
#pragma GCC diagnostic ignored "-Wshorten-64-to-32"
11+
#endif
12+
#endif
13+
14+
#include "flatbuffers/flatbuffers.h"
15+
16+
#if defined(__GNUC__)
17+
#pragma GCC diagnostic pop
18+
#endif

onnxruntime/core/flatbuffers/flatbuffers_utils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
#include <unordered_map>
77

8-
#include "flatbuffers/flatbuffers.h"
8+
#include "core/common/flatbuffers.h"
99

1010
#include "core/common/common.h"
1111
#include "core/common/path_string.h"

onnxruntime/core/flatbuffers/schema/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ e.g.
2121
- /build/Linux/Debug/_deps/flatbuffers-build/flatc
2222

2323
It is possible to use another flatc as well, e.g., from a separate installation. Note that ONNX Runtime uses
24-
FlatBuffers 1.12.
24+
FlatBuffers 23.5.26.
2525

2626
To update the flatbuffers schemas and generated files:
2727
1. Modify [the ORT file format schema](ort.fbs) or [training checkpoint schema](ort_training_checkpoint.fbs).

onnxruntime/core/flatbuffers/schema/ort.fbs.h

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#ifndef FLATBUFFERS_GENERATED_ORT_ONNXRUNTIME_FBS_H_
55
#define FLATBUFFERS_GENERATED_ORT_ONNXRUNTIME_FBS_H_
66

7-
#include "flatbuffers/flatbuffers.h"
7+
#include "core/common/flatbuffers.h"
88

99
namespace onnxruntime {
1010
namespace fbs {
@@ -562,8 +562,8 @@ struct DimensionValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
562562
}
563563
bool Verify(flatbuffers::Verifier &verifier) const {
564564
return VerifyTableStart(verifier) &&
565-
VerifyField<int8_t>(verifier, VT_DIM_TYPE) &&
566-
VerifyField<int64_t>(verifier, VT_DIM_VALUE) &&
565+
VerifyField<int8_t>(verifier, VT_DIM_TYPE, 1) &&
566+
VerifyField<int64_t>(verifier, VT_DIM_VALUE, 8) &&
567567
VerifyOffset(verifier, VT_DIM_PARAM) &&
568568
verifier.VerifyString(dim_param()) &&
569569
verifier.EndTable();
@@ -634,7 +634,7 @@ struct TensorTypeAndShape FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
634634
}
635635
bool Verify(flatbuffers::Verifier &verifier) const {
636636
return VerifyTableStart(verifier) &&
637-
VerifyField<int32_t>(verifier, VT_ELEM_TYPE) &&
637+
VerifyField<int32_t>(verifier, VT_ELEM_TYPE, 4) &&
638638
VerifyOffset(verifier, VT_SHAPE) &&
639639
verifier.VerifyTable(shape()) &&
640640
verifier.EndTable();
@@ -687,7 +687,7 @@ struct MapType FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
687687
}
688688
bool Verify(flatbuffers::Verifier &verifier) const {
689689
return VerifyTableStart(verifier) &&
690-
VerifyField<int32_t>(verifier, VT_KEY_TYPE) &&
690+
VerifyField<int32_t>(verifier, VT_KEY_TYPE, 4) &&
691691
VerifyOffset(verifier, VT_VALUE_TYPE) &&
692692
verifier.VerifyTable(value_type()) &&
693693
verifier.EndTable();
@@ -787,7 +787,7 @@ struct NodeEdge FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
787787
}
788788
bool Verify(flatbuffers::Verifier &verifier) const {
789789
return VerifyTableStart(verifier) &&
790-
VerifyField<uint32_t>(verifier, VT_NODE_INDEX) &&
790+
VerifyField<uint32_t>(verifier, VT_NODE_INDEX, 4) &&
791791
VerifyOffset(verifier, VT_INPUT_EDGES) &&
792792
verifier.VerifyVector(input_edges()) &&
793793
VerifyOffset(verifier, VT_OUTPUT_EDGES) &&
@@ -911,11 +911,11 @@ struct Node FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
911911
verifier.VerifyString(doc_string()) &&
912912
VerifyOffset(verifier, VT_DOMAIN) &&
913913
verifier.VerifyString(domain()) &&
914-
VerifyField<int32_t>(verifier, VT_SINCE_VERSION) &&
915-
VerifyField<uint32_t>(verifier, VT_INDEX) &&
914+
VerifyField<int32_t>(verifier, VT_SINCE_VERSION, 4) &&
915+
VerifyField<uint32_t>(verifier, VT_INDEX, 4) &&
916916
VerifyOffset(verifier, VT_OP_TYPE) &&
917917
verifier.VerifyString(op_type()) &&
918-
VerifyField<int32_t>(verifier, VT_TYPE) &&
918+
VerifyField<int32_t>(verifier, VT_TYPE, 4) &&
919919
VerifyOffset(verifier, VT_EXECUTION_PROVIDER_TYPE) &&
920920
verifier.VerifyString(execution_provider_type()) &&
921921
VerifyOffset(verifier, VT_INPUTS) &&
@@ -1174,7 +1174,7 @@ struct TypeInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
11741174
return VerifyTableStart(verifier) &&
11751175
VerifyOffset(verifier, VT_DENOTATION) &&
11761176
verifier.VerifyString(denotation()) &&
1177-
VerifyField<uint8_t>(verifier, VT_VALUE_TYPE) &&
1177+
VerifyField<uint8_t>(verifier, VT_VALUE_TYPE, 1) &&
11781178
VerifyOffset(verifier, VT_VALUE) &&
11791179
VerifyTypeInfoValue(verifier, value(), value_type()) &&
11801180
verifier.EndTable();
@@ -1259,7 +1259,7 @@ struct OperatorSetId FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
12591259
return VerifyTableStart(verifier) &&
12601260
VerifyOffset(verifier, VT_DOMAIN) &&
12611261
verifier.VerifyString(domain()) &&
1262-
VerifyField<int64_t>(verifier, VT_VERSION) &&
1262+
VerifyField<int64_t>(verifier, VT_VERSION, 8) &&
12631263
verifier.EndTable();
12641264
}
12651265
};
@@ -1343,7 +1343,7 @@ struct Tensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
13431343
verifier.VerifyString(doc_string()) &&
13441344
VerifyOffset(verifier, VT_DIMS) &&
13451345
verifier.VerifyVector(dims()) &&
1346-
VerifyField<int32_t>(verifier, VT_DATA_TYPE) &&
1346+
VerifyField<int32_t>(verifier, VT_DATA_TYPE, 4) &&
13471347
VerifyOffset(verifier, VT_RAW_DATA) &&
13481348
verifier.VerifyVector(raw_data()) &&
13491349
VerifyOffset(verifier, VT_STRING_DATA) &&
@@ -1568,9 +1568,9 @@ struct Attribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
15681568
verifier.VerifyString(name()) &&
15691569
VerifyOffset(verifier, VT_DOC_STRING) &&
15701570
verifier.VerifyString(doc_string()) &&
1571-
VerifyField<int32_t>(verifier, VT_TYPE) &&
1572-
VerifyField<float>(verifier, VT_F) &&
1573-
VerifyField<int64_t>(verifier, VT_I) &&
1571+
VerifyField<int32_t>(verifier, VT_TYPE, 4) &&
1572+
VerifyField<float>(verifier, VT_F, 4) &&
1573+
VerifyField<int64_t>(verifier, VT_I, 8) &&
15741574
VerifyOffset(verifier, VT_S) &&
15751575
verifier.VerifyString(s()) &&
15761576
VerifyOffset(verifier, VT_T) &&
@@ -1759,12 +1759,12 @@ struct NodesToOptimizeIndices FLATBUFFERS_FINAL_CLASS : private flatbuffers::Tab
17591759
return VerifyTableStart(verifier) &&
17601760
VerifyOffset(verifier, VT_NODE_INDICES) &&
17611761
verifier.VerifyVector(node_indices()) &&
1762-
VerifyField<uint32_t>(verifier, VT_NUM_INPUTS) &&
1763-
VerifyField<uint32_t>(verifier, VT_NUM_OUTPUTS) &&
1764-
VerifyField<uint8_t>(verifier, VT_HAS_VARIADIC_INPUT) &&
1765-
VerifyField<uint8_t>(verifier, VT_HAS_VARIADIC_OUTPUT) &&
1766-
VerifyField<uint32_t>(verifier, VT_NUM_VARIADIC_INPUTS) &&
1767-
VerifyField<uint32_t>(verifier, VT_NUM_VARIADIC_OUTPUTS) &&
1762+
VerifyField<uint32_t>(verifier, VT_NUM_INPUTS, 4) &&
1763+
VerifyField<uint32_t>(verifier, VT_NUM_OUTPUTS, 4) &&
1764+
VerifyField<uint8_t>(verifier, VT_HAS_VARIADIC_INPUT, 1) &&
1765+
VerifyField<uint8_t>(verifier, VT_HAS_VARIADIC_OUTPUT, 1) &&
1766+
VerifyField<uint32_t>(verifier, VT_NUM_VARIADIC_INPUTS, 4) &&
1767+
VerifyField<uint32_t>(verifier, VT_NUM_VARIADIC_OUTPUTS, 4) &&
17681768
verifier.EndTable();
17691769
}
17701770
};
@@ -1862,8 +1862,8 @@ struct DeprecatedNodeIndexAndKernelDefHash FLATBUFFERS_FINAL_CLASS : private fla
18621862
}
18631863
bool Verify(flatbuffers::Verifier &verifier) const {
18641864
return VerifyTableStart(verifier) &&
1865-
VerifyField<uint32_t>(verifier, VT_NODE_INDEX) &&
1866-
VerifyField<uint64_t>(verifier, VT_KERNEL_DEF_HASH) &&
1865+
VerifyField<uint32_t>(verifier, VT_NODE_INDEX, 4) &&
1866+
VerifyField<uint64_t>(verifier, VT_KERNEL_DEF_HASH, 8) &&
18671867
verifier.EndTable();
18681868
}
18691869
};
@@ -2161,7 +2161,7 @@ struct Graph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
21612161
VerifyOffset(verifier, VT_NODES) &&
21622162
verifier.VerifyVector(nodes()) &&
21632163
verifier.VerifyVectorOfTables(nodes()) &&
2164-
VerifyField<uint32_t>(verifier, VT_MAX_NODE_INDEX) &&
2164+
VerifyField<uint32_t>(verifier, VT_MAX_NODE_INDEX, 4) &&
21652165
VerifyOffset(verifier, VT_NODE_EDGES) &&
21662166
verifier.VerifyVector(node_edges()) &&
21672167
verifier.VerifyVectorOfTables(node_edges()) &&
@@ -2390,7 +2390,7 @@ struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
23902390
}
23912391
bool Verify(flatbuffers::Verifier &verifier) const {
23922392
return VerifyTableStart(verifier) &&
2393-
VerifyField<int64_t>(verifier, VT_IR_VERSION) &&
2393+
VerifyField<int64_t>(verifier, VT_IR_VERSION, 8) &&
23942394
VerifyOffset(verifier, VT_OPSET_IMPORT) &&
23952395
verifier.VerifyVector(opset_import()) &&
23962396
verifier.VerifyVectorOfTables(opset_import()) &&
@@ -2400,7 +2400,7 @@ struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
24002400
verifier.VerifyString(producer_version()) &&
24012401
VerifyOffset(verifier, VT_DOMAIN) &&
24022402
verifier.VerifyString(domain()) &&
2403-
VerifyField<int64_t>(verifier, VT_MODEL_VERSION) &&
2403+
VerifyField<int64_t>(verifier, VT_MODEL_VERSION, 8) &&
24042404
VerifyOffset(verifier, VT_DOC_STRING) &&
24052405
verifier.VerifyString(doc_string()) &&
24062406
VerifyOffset(verifier, VT_GRAPH) &&
@@ -2740,8 +2740,8 @@ struct ArgTypeAndIndex FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
27402740
}
27412741
bool Verify(flatbuffers::Verifier &verifier) const {
27422742
return VerifyTableStart(verifier) &&
2743-
VerifyField<int8_t>(verifier, VT_ARG_TYPE) &&
2744-
VerifyField<uint32_t>(verifier, VT_INDEX) &&
2743+
VerifyField<int8_t>(verifier, VT_ARG_TYPE, 1) &&
2744+
VerifyField<uint32_t>(verifier, VT_INDEX, 4) &&
27452745
verifier.EndTable();
27462746
}
27472747
};

onnxruntime/core/flatbuffers/schema/ort_training_checkpoint.fbs.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#ifndef FLATBUFFERS_GENERATED_ORTTRAININGCHECKPOINT_ONNXRUNTIME_FBS_H_
55
#define FLATBUFFERS_GENERATED_ORTTRAININGCHECKPOINT_ONNXRUNTIME_FBS_H_
66

7-
#include "flatbuffers/flatbuffers.h"
7+
#include "core/common/flatbuffers.h"
88

99
#include "ort.fbs.h"
1010

@@ -59,7 +59,7 @@ struct ModuleState FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
5959
VerifyOffset(verifier, VT_FROZEN_PARAMS) &&
6060
verifier.VerifyVector(frozen_params()) &&
6161
verifier.VerifyVectorOfTables(frozen_params()) &&
62-
VerifyField<uint8_t>(verifier, VT_IS_NOMINAL_STATE) &&
62+
VerifyField<uint8_t>(verifier, VT_IS_NOMINAL_STATE, 1) &&
6363
verifier.EndTable();
6464
}
6565
};
@@ -206,8 +206,8 @@ struct OptimizerGroup FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
206206
return VerifyTableStart(verifier) &&
207207
VerifyOffset(verifier, VT_GROUP_NAME) &&
208208
verifier.VerifyString(group_name()) &&
209-
VerifyField<int64_t>(verifier, VT_STEP) &&
210-
VerifyField<float>(verifier, VT_INITIAL_LEARNING_RATE) &&
209+
VerifyField<int64_t>(verifier, VT_STEP, 8) &&
210+
VerifyField<float>(verifier, VT_INITIAL_LEARNING_RATE, 4) &&
211211
VerifyOffset(verifier, VT_OPTIMIZER_STATES) &&
212212
verifier.VerifyVector(optimizer_states()) &&
213213
verifier.VerifyVectorOfTables(optimizer_states()) &&
@@ -289,7 +289,7 @@ struct IntProperty FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
289289
return VerifyTableStart(verifier) &&
290290
VerifyOffset(verifier, VT_NAME) &&
291291
verifier.VerifyString(name()) &&
292-
VerifyField<int64_t>(verifier, VT_VALUE) &&
292+
VerifyField<int64_t>(verifier, VT_VALUE, 8) &&
293293
verifier.EndTable();
294294
}
295295
};
@@ -353,7 +353,7 @@ struct FloatProperty FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
353353
return VerifyTableStart(verifier) &&
354354
VerifyOffset(verifier, VT_NAME) &&
355355
verifier.VerifyString(name()) &&
356-
VerifyField<float>(verifier, VT_VALUE) &&
356+
VerifyField<float>(verifier, VT_VALUE, 4) &&
357357
verifier.EndTable();
358358
}
359359
};
@@ -572,7 +572,7 @@ struct Checkpoint FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
572572
}
573573
bool Verify(flatbuffers::Verifier &verifier) const {
574574
return VerifyTableStart(verifier) &&
575-
VerifyField<int32_t>(verifier, VT_VERSION) &&
575+
VerifyField<int32_t>(verifier, VT_VERSION, 4) &&
576576
VerifyOffset(verifier, VT_MODULE_STATE) &&
577577
verifier.VerifyTable(module_state()) &&
578578
VerifyOffset(verifier, VT_OPTIMIZER_GROUPS) &&

0 commit comments

Comments
 (0)