diff --git a/upb/mini_table/BUILD b/upb/mini_table/BUILD index 06332a71b1711..dd126c9923061 100644 --- a/upb/mini_table/BUILD +++ b/upb/mini_table/BUILD @@ -5,6 +5,10 @@ # license that can be found in the LICENSE file or at # https://developers.google.com/open-source/licenses/bsd +load( + "//bazel:upb_minitable_proto_library.bzl", + "upb_minitable_proto_library", +) load( "//upb/bazel:build_defs.bzl", "UPB_DEFAULT_COPTS", @@ -95,6 +99,33 @@ cc_test( ], ) +proto_library( + name = "message_benchmark_proto", + testonly = 1, + srcs = ["message_benchmark.proto"], +) + +upb_minitable_proto_library( + name = "message_benchmark_upb_minitable_proto", + testonly = 1, + deps = [":message_benchmark_proto"], +) + +cc_test( + name = "message_benchmark", + srcs = ["message_benchmark.cc"], + deps = [ + ":message_benchmark_upb_minitable_proto", + ":mini_table", + "//upb:mini_table_compat", + "//upb:port", + "@com_github_google_benchmark//:benchmark_main", + "@com_google_absl//absl/random", + "@com_google_googletest//:gtest", + "@com_google_googletest//:gtest_main", + ], +) + filegroup( name = "source_files", srcs = glob( diff --git a/upb/mini_table/message_benchmark.cc b/upb/mini_table/message_benchmark.cc new file mode 100644 index 0000000000000..040b1c027b0ca --- /dev/null +++ b/upb/mini_table/message_benchmark.cc @@ -0,0 +1,35 @@ +#include + +#include +#include "absl/random/random.h" +#include "upb/mini_table/message.h" +#include "upb/mini_table/message_benchmark.upb_minitable.h" +#include "upb/port/def.inc" + +namespace { +static void BM_FindFieldByNumber(benchmark::State& state) { + uint32_t min, max; + if (state.range(0)) { + min = 1; + max = 169; + } else { + min = 171; + max = 552; + } + const upb_MiniTable* ptr = + third_0party_0upb_0upb_0mini_0table__TestManyFields_msg_init_ptr; + absl::BitGen bitgen; + uint32_t search[1024]; + for (auto& s : search) { + s = absl::Uniform(bitgen, min, max); + } + uint32_t i = 0; + for (auto _ : state) { + uint16_t offset = upb_MiniTable_FindFieldByNumber(ptr, search[(i++ % 1024)]) + ->UPB_PRIVATE(offset); + benchmark::DoNotOptimize(offset); + } +} +BENCHMARK(BM_FindFieldByNumber)->Arg(true)->Arg(false); + +} // namespace diff --git a/upb/mini_table/message_benchmark.proto b/upb/mini_table/message_benchmark.proto new file mode 100644 index 0000000000000..a09ef1577ad4d --- /dev/null +++ b/upb/mini_table/message_benchmark.proto @@ -0,0 +1,562 @@ +edition = "2023"; + +package third_party_upb_upb_mini_table; + +option java_multiple_files = true; + +message TestManyFields { + // Densely packed fields + repeated int32 repeated_int32 = 1; + repeated int32 repeated_int32_2 = 2; + repeated int32 repeated_int32_3 = 3; + repeated int32 repeated_int32_4 = 4; + repeated int32 repeated_int32_5 = 5; + repeated int32 repeated_int32_6 = 6; + repeated int32 repeated_int32_7 = 7; + repeated int32 repeated_int32_8 = 8; + repeated int32 repeated_int32_9 = 9; + repeated int32 repeated_int32_10 = 10; + repeated int32 repeated_int32_11 = 11; + repeated int32 repeated_int32_12 = 12; + repeated int32 repeated_int32_13 = 13; + repeated int32 repeated_int32_14 = 14; + repeated int32 repeated_int32_15 = 15; + repeated int32 repeated_int32_16 = 16; + repeated int32 repeated_int32_17 = 17; + repeated int32 repeated_int32_18 = 18; + repeated int32 repeated_int32_19 = 19; + repeated int32 repeated_int32_20 = 20; + repeated int32 repeated_int32_21 = 21; + repeated int32 repeated_int32_22 = 22; + repeated int32 repeated_int32_23 = 23; + repeated int32 repeated_int32_24 = 24; + repeated int32 repeated_int32_25 = 25; + repeated int32 repeated_int32_26 = 26; + repeated int32 repeated_int32_27 = 27; + repeated int32 repeated_int32_28 = 28; + repeated int32 repeated_int32_29 = 29; + repeated int32 repeated_int32_30 = 30; + repeated int32 repeated_int32_31 = 31; + repeated int32 repeated_int32_32 = 32; + repeated int32 repeated_int32_33 = 33; + repeated int32 repeated_int32_34 = 34; + repeated int32 repeated_int32_35 = 35; + repeated int32 repeated_int32_36 = 36; + repeated int32 repeated_int32_37 = 37; + repeated int32 repeated_int32_38 = 38; + repeated int32 repeated_int32_39 = 39; + repeated int32 repeated_int32_40 = 40; + repeated int32 repeated_int32_41 = 41; + repeated int32 repeated_int32_42 = 42; + repeated int32 repeated_int32_43 = 43; + repeated int32 repeated_int32_44 = 44; + repeated int32 repeated_int32_45 = 45; + repeated int32 repeated_int32_46 = 46; + repeated int32 repeated_int32_47 = 47; + repeated int32 repeated_int32_48 = 48; + repeated int32 repeated_int32_49 = 49; + repeated int32 repeated_int32_50 = 50; + repeated int32 repeated_int32_51 = 51; + repeated int32 repeated_int32_52 = 52; + repeated int32 repeated_int32_53 = 53; + repeated int32 repeated_int32_54 = 54; + repeated int32 repeated_int32_55 = 55; + repeated int32 repeated_int32_56 = 56; + repeated int32 repeated_int32_57 = 57; + repeated int32 repeated_int32_58 = 58; + repeated int32 repeated_int32_59 = 59; + repeated int32 repeated_int32_60 = 60; + repeated int32 repeated_int32_61 = 61; + repeated int32 repeated_int32_62 = 62; + repeated int32 repeated_int32_63 = 63; + repeated int32 repeated_int32_64 = 64; + repeated int32 repeated_int32_65 = 65; + repeated int32 repeated_int32_66 = 66; + repeated int32 repeated_int32_67 = 67; + repeated int32 repeated_int32_68 = 68; + repeated int32 repeated_int32_69 = 69; + repeated int32 repeated_int32_70 = 70; + repeated int32 repeated_int32_71 = 71; + repeated int32 repeated_int32_72 = 72; + repeated int32 repeated_int32_73 = 73; + repeated int32 repeated_int32_74 = 74; + repeated int32 repeated_int32_75 = 75; + repeated int32 repeated_int32_76 = 76; + repeated int32 repeated_int32_77 = 77; + repeated int32 repeated_int32_78 = 78; + repeated int32 repeated_int32_79 = 79; + repeated int32 repeated_int32_80 = 80; + repeated int32 repeated_int32_81 = 81; + repeated int32 repeated_int32_82 = 82; + repeated int32 repeated_int32_83 = 83; + repeated int32 repeated_int32_84 = 84; + repeated int32 repeated_int32_85 = 85; + repeated int32 repeated_int32_86 = 86; + repeated int32 repeated_int32_87 = 87; + repeated int32 repeated_int32_88 = 88; + repeated int32 repeated_int32_89 = 89; + repeated int32 repeated_int32_90 = 90; + repeated int32 repeated_int32_91 = 91; + repeated int32 repeated_int32_92 = 92; + repeated int32 repeated_int32_93 = 93; + repeated int32 repeated_int32_94 = 94; + repeated int32 repeated_int32_95 = 95; + repeated int32 repeated_int32_96 = 96; + repeated int32 repeated_int32_97 = 97; + repeated int32 repeated_int32_98 = 98; + repeated int32 repeated_int32_99 = 99; + repeated int32 repeated_int32_100 = 100; + repeated int32 repeated_int32_101 = 101; + repeated int32 repeated_int32_102 = 102; + repeated int32 repeated_int32_103 = 103; + repeated int32 repeated_int32_104 = 104; + repeated int32 repeated_int32_105 = 105; + repeated int32 repeated_int32_106 = 106; + repeated int32 repeated_int32_107 = 107; + repeated int32 repeated_int32_108 = 108; + repeated int32 repeated_int32_109 = 109; + repeated int32 repeated_int32_110 = 110; + repeated int32 repeated_int32_111 = 111; + repeated int32 repeated_int32_112 = 112; + repeated int32 repeated_int32_113 = 113; + repeated int32 repeated_int32_114 = 114; + repeated int32 repeated_int32_115 = 115; + repeated int32 repeated_int32_116 = 116; + repeated int32 repeated_int32_117 = 117; + repeated int32 repeated_int32_118 = 118; + repeated int32 repeated_int32_119 = 119; + repeated int32 repeated_int32_120 = 120; + repeated int32 repeated_int32_121 = 121; + repeated int32 repeated_int32_122 = 122; + repeated int32 repeated_int32_123 = 123; + repeated int32 repeated_int32_124 = 124; + repeated int32 repeated_int32_125 = 125; + repeated int32 repeated_int32_126 = 126; + repeated int32 repeated_int32_127 = 127; + repeated int32 repeated_int32_128 = 128; + repeated int32 repeated_int32_129 = 129; + repeated int32 repeated_int32_130 = 130; + repeated int32 repeated_int32_131 = 131; + repeated int32 repeated_int32_132 = 132; + repeated int32 repeated_int32_133 = 133; + repeated int32 repeated_int32_134 = 134; + repeated int32 repeated_int32_135 = 135; + repeated int32 repeated_int32_136 = 136; + repeated int32 repeated_int32_137 = 137; + repeated int32 repeated_int32_138 = 138; + repeated int32 repeated_int32_139 = 139; + repeated int32 repeated_int32_140 = 140; + repeated int32 repeated_int32_141 = 141; + repeated int32 repeated_int32_142 = 142; + repeated int32 repeated_int32_143 = 143; + repeated int32 repeated_int32_144 = 144; + repeated int32 repeated_int32_145 = 145; + repeated int32 repeated_int32_146 = 146; + repeated int32 repeated_int32_147 = 147; + repeated int32 repeated_int32_148 = 148; + repeated int32 repeated_int32_149 = 149; + repeated int32 repeated_int32_150 = 150; + repeated int32 repeated_int32_151 = 151; + repeated int32 repeated_int32_152 = 152; + repeated int32 repeated_int32_153 = 153; + repeated int32 repeated_int32_154 = 154; + repeated int32 repeated_int32_155 = 155; + repeated int32 repeated_int32_156 = 156; + repeated int32 repeated_int32_157 = 157; + repeated int32 repeated_int32_158 = 158; + repeated int32 repeated_int32_159 = 159; + repeated int32 repeated_int32_160 = 160; + repeated int32 repeated_int32_161 = 161; + repeated int32 repeated_int32_162 = 162; + repeated int32 repeated_int32_163 = 163; + repeated int32 repeated_int32_164 = 164; + repeated int32 repeated_int32_165 = 165; + repeated int32 repeated_int32_166 = 166; + repeated int32 repeated_int32_167 = 167; + repeated int32 repeated_int32_168 = 168; + repeated int32 repeated_int32_169 = 169; + // Break dense packing of fields + reserved 170; + int32 int32_field_171 = 171; + int32 int32_field_172 = 172; + int32 int32_field_173 = 173; + int32 int32_field_174 = 174; + int32 int32_field_175 = 175; + int32 int32_field_176 = 176; + int32 int32_field_177 = 177; + int32 int32_field_178 = 178; + int32 int32_field_179 = 179; + int32 int32_field_180 = 180; + int32 int32_field_181 = 181; + int32 int32_field_182 = 182; + int32 int32_field_183 = 183; + int32 int32_field_184 = 184; + int32 int32_field_185 = 185; + int32 int32_field_186 = 186; + int32 int32_field_187 = 187; + int32 int32_field_188 = 188; + int32 int32_field_189 = 189; + int32 int32_field_190 = 190; + int32 int32_field_191 = 191; + int32 int32_field_192 = 192; + int32 int32_field_193 = 193; + int32 int32_field_194 = 194; + int32 int32_field_195 = 195; + int32 int32_field_196 = 196; + int32 int32_field_197 = 197; + int32 int32_field_198 = 198; + int32 int32_field_199 = 199; + int32 int32_field_200 = 200; + int32 int32_field_201 = 201; + int32 int32_field_202 = 202; + int32 int32_field_203 = 203; + int32 int32_field_204 = 204; + int32 int32_field_205 = 205; + int32 int32_field_206 = 206; + int32 int32_field_207 = 207; + int32 int32_field_208 = 208; + int32 int32_field_209 = 209; + int32 int32_field_210 = 210; + int32 int32_field_211 = 211; + int32 int32_field_212 = 212; + int32 int32_field_213 = 213; + int32 int32_field_214 = 214; + int32 int32_field_215 = 215; + int32 int32_field_216 = 216; + int32 int32_field_217 = 217; + int32 int32_field_218 = 218; + int32 int32_field_219 = 219; + int32 int32_field_220 = 220; + int32 int32_field_221 = 221; + int32 int32_field_222 = 222; + int32 int32_field_223 = 223; + int32 int32_field_224 = 224; + int32 int32_field_225 = 225; + int32 int32_field_226 = 226; + int32 int32_field_227 = 227; + int32 int32_field_228 = 228; + int32 int32_field_229 = 229; + int32 int32_field_230 = 230; + int32 int32_field_231 = 231; + int32 int32_field_232 = 232; + int32 int32_field_233 = 233; + int32 int32_field_234 = 234; + int32 int32_field_235 = 235; + int32 int32_field_236 = 236; + int32 int32_field_237 = 237; + int32 int32_field_238 = 238; + int32 int32_field_239 = 239; + int32 int32_field_240 = 240; + int32 int32_field_241 = 241; + int32 int32_field_242 = 242; + int32 int32_field_243 = 243; + int32 int32_field_244 = 244; + int32 int32_field_245 = 245; + int32 int32_field_246 = 246; + int32 int32_field_247 = 247; + int32 int32_field_248 = 248; + int32 int32_field_249 = 249; + int32 int32_field_250 = 250; + int32 int32_field_251 = 251; + int32 int32_field_252 = 252; + int32 int32_field_253 = 253; + int32 int32_field_254 = 254; + int32 int32_field_255 = 255; + int32 int32_field_256 = 256; + int32 int32_field_257 = 257; + int32 int32_field_258 = 258; + int32 int32_field_259 = 259; + int32 int32_field_260 = 260; + int32 int32_field_261 = 261; + int32 int32_field_262 = 262; + int32 int32_field_263 = 263; + int32 int32_field_264 = 264; + int32 int32_field_265 = 265; + int32 int32_field_266 = 266; + int32 int32_field_267 = 267; + int32 int32_field_268 = 268; + int32 int32_field_269 = 269; + int32 int32_field_270 = 270; + int32 int32_field_271 = 271; + int32 int32_field_272 = 272; + int32 int32_field_273 = 273; + int32 int32_field_274 = 274; + int32 int32_field_275 = 275; + int32 int32_field_276 = 276; + int32 int32_field_277 = 277; + int32 int32_field_278 = 278; + int32 int32_field_279 = 279; + int32 int32_field_280 = 280; + int32 int32_field_281 = 281; + int32 int32_field_282 = 282; + int32 int32_field_283 = 283; + int32 int32_field_284 = 284; + int32 int32_field_285 = 285; + int32 int32_field_286 = 286; + int32 int32_field_287 = 287; + int32 int32_field_288 = 288; + int32 int32_field_289 = 289; + int32 int32_field_290 = 290; + int32 int32_field_291 = 291; + int32 int32_field_292 = 292; + int32 int32_field_293 = 293; + int32 int32_field_294 = 294; + int32 int32_field_295 = 295; + int32 int32_field_296 = 296; + int32 int32_field_297 = 297; + int32 int32_field_298 = 298; + int32 int32_field_299 = 299; + int32 int32_field_300 = 300; + int32 int32_field_301 = 301; + int32 int32_field_302 = 302; + int32 int32_field_303 = 303; + int32 int32_field_304 = 304; + int32 int32_field_305 = 305; + int32 int32_field_306 = 306; + int32 int32_field_307 = 307; + int32 int32_field_308 = 308; + int32 int32_field_309 = 309; + int32 int32_field_310 = 310; + int32 int32_field_311 = 311; + int32 int32_field_312 = 312; + int32 int32_field_313 = 313; + int32 int32_field_314 = 314; + int32 int32_field_315 = 315; + int32 int32_field_316 = 316; + int32 int32_field_317 = 317; + int32 int32_field_318 = 318; + int32 int32_field_319 = 319; + int32 int32_field_320 = 320; + int32 int32_field_321 = 321; + int32 int32_field_322 = 322; + int32 int32_field_323 = 323; + int32 int32_field_324 = 324; + int32 int32_field_325 = 325; + int32 int32_field_326 = 326; + int32 int32_field_327 = 327; + int32 int32_field_328 = 328; + int32 int32_field_329 = 329; + int32 int32_field_330 = 330; + int32 int32_field_331 = 331; + int32 int32_field_332 = 332; + int32 int32_field_333 = 333; + int32 int32_field_334 = 334; + int32 int32_field_335 = 335; + int32 int32_field_336 = 336; + int32 int32_field_337 = 337; + int32 int32_field_338 = 338; + int32 int32_field_339 = 339; + int32 int32_field_340 = 340; + int32 int32_field_341 = 341; + int32 int32_field_342 = 342; + int32 int32_field_343 = 343; + int32 int32_field_344 = 344; + int32 int32_field_345 = 345; + int32 int32_field_346 = 346; + int32 int32_field_347 = 347; + int32 int32_field_348 = 348; + int32 int32_field_349 = 349; + int32 int32_field_350 = 350; + int32 int32_field_351 = 351; + int32 int32_field_352 = 352; + int32 int32_field_353 = 353; + int32 int32_field_354 = 354; + int32 int32_field_355 = 355; + int32 int32_field_356 = 356; + int32 int32_field_357 = 357; + int32 int32_field_358 = 358; + int32 int32_field_359 = 359; + int32 int32_field_360 = 360; + int32 int32_field_361 = 361; + int32 int32_field_362 = 362; + int32 int32_field_363 = 363; + int32 int32_field_364 = 364; + int32 int32_field_365 = 365; + int32 int32_field_366 = 366; + int32 int32_field_367 = 367; + int32 int32_field_368 = 368; + int32 int32_field_369 = 369; + int32 int32_field_370 = 370; + int32 int32_field_371 = 371; + int32 int32_field_372 = 372; + int32 int32_field_373 = 373; + int32 int32_field_374 = 374; + int32 int32_field_375 = 375; + int32 int32_field_376 = 376; + int32 int32_field_377 = 377; + int32 int32_field_378 = 378; + int32 int32_field_379 = 379; + int32 int32_field_380 = 380; + int32 int32_field_381 = 381; + int32 int32_field_382 = 382; + int32 int32_field_383 = 383; + int32 int32_field_384 = 384; + int32 int32_field_385 = 385; + int32 int32_field_386 = 386; + int32 int32_field_387 = 387; + int32 int32_field_388 = 388; + int32 int32_field_389 = 389; + int32 int32_field_390 = 390; + int32 int32_field_391 = 391; + int32 int32_field_392 = 392; + int32 int32_field_393 = 393; + int32 int32_field_394 = 394; + int32 int32_field_395 = 395; + int32 int32_field_396 = 396; + int32 int32_field_397 = 397; + int32 int32_field_398 = 398; + int32 int32_field_399 = 399; + int32 int32_field_400 = 400; + int32 int32_field_401 = 401; + int32 int32_field_402 = 402; + int32 int32_field_403 = 403; + int32 int32_field_404 = 404; + int32 int32_field_405 = 405; + int32 int32_field_406 = 406; + int32 int32_field_407 = 407; + int32 int32_field_408 = 408; + int32 int32_field_409 = 409; + int32 int32_field_410 = 410; + int32 int32_field_411 = 411; + int32 int32_field_412 = 412; + int32 int32_field_413 = 413; + int32 int32_field_414 = 414; + int32 int32_field_415 = 415; + int32 int32_field_416 = 416; + int32 int32_field_417 = 417; + int32 int32_field_418 = 418; + int32 int32_field_419 = 419; + int32 int32_field_420 = 420; + int32 int32_field_421 = 421; + int32 int32_field_422 = 422; + int32 int32_field_423 = 423; + int32 int32_field_424 = 424; + int32 int32_field_425 = 425; + int32 int32_field_426 = 426; + int32 int32_field_427 = 427; + int32 int32_field_428 = 428; + int32 int32_field_429 = 429; + int32 int32_field_430 = 430; + int32 int32_field_431 = 431; + int32 int32_field_432 = 432; + int32 int32_field_433 = 433; + int32 int32_field_434 = 434; + int32 int32_field_435 = 435; + int32 int32_field_436 = 436; + int32 int32_field_437 = 437; + int32 int32_field_438 = 438; + int32 int32_field_439 = 439; + int32 int32_field_440 = 440; + int32 int32_field_441 = 441; + int32 int32_field_442 = 442; + int32 int32_field_443 = 443; + int32 int32_field_444 = 444; + int32 int32_field_445 = 445; + int32 int32_field_446 = 446; + int32 int32_field_447 = 447; + int32 int32_field_448 = 448; + int32 int32_field_449 = 449; + int32 int32_field_450 = 450; + int32 int32_field_451 = 451; + int32 int32_field_452 = 452; + int32 int32_field_453 = 453; + int32 int32_field_454 = 454; + int32 int32_field_455 = 455; + int32 int32_field_456 = 456; + int32 int32_field_457 = 457; + int32 int32_field_458 = 458; + int32 int32_field_459 = 459; + int32 int32_field_460 = 460; + int32 int32_field_461 = 461; + int32 int32_field_462 = 462; + int32 int32_field_463 = 463; + int32 int32_field_464 = 464; + int32 int32_field_465 = 465; + int32 int32_field_466 = 466; + int32 int32_field_467 = 467; + int32 int32_field_468 = 468; + int32 int32_field_469 = 469; + int32 int32_field_470 = 470; + int32 int32_field_471 = 471; + int32 int32_field_472 = 472; + int32 int32_field_473 = 473; + int32 int32_field_474 = 474; + int32 int32_field_475 = 475; + int32 int32_field_476 = 476; + int32 int32_field_477 = 477; + int32 int32_field_478 = 478; + int32 int32_field_479 = 479; + int32 int32_field_480 = 480; + int32 int32_field_481 = 481; + int32 int32_field_482 = 482; + int32 int32_field_483 = 483; + int32 int32_field_484 = 484; + int32 int32_field_485 = 485; + int32 int32_field_486 = 486; + int32 int32_field_487 = 487; + int32 int32_field_488 = 488; + int32 int32_field_489 = 489; + int32 int32_field_490 = 490; + int32 int32_field_491 = 491; + int32 int32_field_492 = 492; + int32 int32_field_493 = 493; + int32 int32_field_494 = 494; + int32 int32_field_495 = 495; + int32 int32_field_496 = 496; + int32 int32_field_497 = 497; + int32 int32_field_498 = 498; + int32 int32_field_499 = 499; + int32 int32_field_500 = 500; + int32 int32_field_501 = 501; + int32 int32_field_502 = 502; + int32 int32_field_503 = 503; + int32 int32_field_504 = 504; + int32 int32_field_505 = 505; + int32 int32_field_506 = 506; + int32 int32_field_507 = 507; + int32 int32_field_508 = 508; + int32 int32_field_509 = 509; + int32 int32_field_510 = 510; + int32 int32_field_511 = 511; + int32 int32_field_512 = 512; + int32 int32_field_513 = 513; + int32 int32_field_514 = 514; + int32 int32_field_515 = 515; + int32 int32_field_516 = 516; + int32 int32_field_517 = 517; + int32 int32_field_518 = 518; + int32 int32_field_519 = 519; + int32 int32_field_520 = 520; + int32 int32_field_521 = 521; + int32 int32_field_522 = 522; + int32 int32_field_523 = 523; + int32 int32_field_524 = 524; + int32 int32_field_525 = 525; + int32 int32_field_526 = 526; + int32 int32_field_527 = 527; + int32 int32_field_528 = 528; + int32 int32_field_529 = 529; + int32 int32_field_530 = 530; + int32 int32_field_531 = 531; + int32 int32_field_532 = 532; + int32 int32_field_533 = 533; + int32 int32_field_534 = 534; + int32 int32_field_535 = 535; + int32 int32_field_536 = 536; + int32 int32_field_537 = 537; + int32 int32_field_538 = 538; + int32 int32_field_539 = 539; + int32 int32_field_540 = 540; + int32 int32_field_541 = 541; + int32 int32_field_542 = 542; + int32 int32_field_543 = 543; + int32 int32_field_544 = 544; + int32 int32_field_545 = 545; + int32 int32_field_546 = 546; + int32 int32_field_547 = 547; + int32 int32_field_548 = 548; + int32 int32_field_549 = 549; + int32 int32_field_550 = 550; + int32 int32_field_551 = 551; + int32 int32_field_552 = 552; +} \ No newline at end of file