diff options
Diffstat (limited to 'src/prebuilt/ast-parser-gen.c')
-rw-r--r-- | src/prebuilt/ast-parser-gen.c | 1301 |
1 files changed, 643 insertions, 658 deletions
diff --git a/src/prebuilt/ast-parser-gen.c b/src/prebuilt/ast-parser-gen.c index 0a1dcbc2..be963467 100644 --- a/src/prebuilt/ast-parser-gen.c +++ b/src/prebuilt/ast-parser-gen.c @@ -77,7 +77,6 @@ #include <stdio.h> #include <stdlib.h> -#include "allocator.h" #include "ast-parser.h" #include "ast-parser-lexer-shared.h" #include "binary-reader-ast.h" @@ -97,8 +96,8 @@ defines are available. */ #define YYMAXDEPTH 10000000 -#define DUPTEXT(dst, src) \ - (dst).start = wabt_strndup(parser->allocator, (src).start, (src).length); \ +#define DUPTEXT(dst, src) \ + (dst).start = wabt_strndup((src).start, (src).length); \ (dst).length = (src).length #define YYLLOC_DEFAULT(Current, Rhs, N) \ @@ -118,27 +117,26 @@ #define APPEND_FIELD_TO_LIST(module, field, KIND, kind, loc_, item) \ do { \ - field = wabt_append_module_field(parser->allocator, module); \ + field = wabt_append_module_field(module); \ field->loc = loc_; \ field->type = WABT_MODULE_FIELD_TYPE_##KIND; \ field->kind = item; \ } while (0) -#define APPEND_ITEM_TO_VECTOR(module, Kind, kind, kinds, item_ptr) \ - do { \ - Wabt##Kind* dummy = item_ptr; \ - wabt_append_##kind##_ptr_value(parser->allocator, &(module)->kinds, \ - &dummy); \ +#define APPEND_ITEM_TO_VECTOR(module, Kind, kind, kinds, item_ptr) \ + do { \ + Wabt##Kind* dummy = item_ptr; \ + wabt_append_##kind##_ptr_value(&(module)->kinds, &dummy); \ } while (0) -#define INSERT_BINDING(module, kind, kinds, loc_, name) \ - do \ - if ((name).start) { \ - WabtBinding* binding = wabt_insert_binding( \ - parser->allocator, &(module)->kind##_bindings, &(name)); \ - binding->loc = loc_; \ - binding->index = (module)->kinds.size - 1; \ - } \ +#define INSERT_BINDING(module, kind, kinds, loc_, name) \ + do \ + if ((name).start) { \ + WabtBinding* binding = \ + wabt_insert_binding(&(module)->kind##_bindings, &(name)); \ + binding->loc = loc_; \ + binding->index = (module)->kinds.size - 1; \ + } \ while (0) #define APPEND_INLINE_EXPORT(module, KIND, loc_, value, index_) \ @@ -181,12 +179,12 @@ WABT_PRINTF_STRING_SLICE_ARG(begin_label), \ WABT_PRINTF_STRING_SLICE_ARG(end_label)); \ } \ - wabt_destroy_string_slice(parser->allocator, &(end_label)); \ + wabt_destroy_string_slice(&(end_label)); \ } \ } while (0) -#define YYMALLOC(size) wabt_alloc(parser->allocator, size, WABT_DEFAULT_ALIGN) -#define YYFREE(p) wabt_free(parser->allocator, p) +#define YYMALLOC(size) wabt_alloc(size) +#define YYFREE(p) wabt_free(p) #define USE_NATURAL_ALIGNMENT (~0) @@ -194,40 +192,39 @@ static WabtExprList join_exprs1(WabtLocation* loc, WabtExpr* expr1); static WabtExprList join_exprs2(WabtLocation* loc, WabtExprList* expr1, WabtExpr* expr2); -static WabtFuncField* new_func_field(WabtAllocator* allocator) { - return wabt_alloc_zero(allocator, sizeof(WabtFuncField), WABT_DEFAULT_ALIGN); +static WabtFuncField* new_func_field(void) { + return wabt_alloc_zero(sizeof(WabtFuncField)); } -static WabtFunc* new_func(WabtAllocator* allocator) { - return wabt_alloc_zero(allocator, sizeof(WabtFunc), WABT_DEFAULT_ALIGN); +static WabtFunc* new_func(void) { + return wabt_alloc_zero(sizeof(WabtFunc)); } -static WabtCommand* new_command(WabtAllocator* allocator) { - return wabt_alloc_zero(allocator, sizeof(WabtCommand), WABT_DEFAULT_ALIGN); +static WabtCommand* new_command(void) { + return wabt_alloc_zero(sizeof(WabtCommand)); } -static WabtModule* new_module(WabtAllocator* allocator) { - return wabt_alloc_zero(allocator, sizeof(WabtModule), WABT_DEFAULT_ALIGN); +static WabtModule* new_module(void) { + return wabt_alloc_zero(sizeof(WabtModule)); } -static WabtImport* new_import(WabtAllocator* allocator) { - return wabt_alloc_zero(allocator, sizeof(WabtImport), WABT_DEFAULT_ALIGN); +static WabtImport* new_import(void) { + return wabt_alloc_zero(sizeof(WabtImport)); } -static WabtTextListNode* new_text_list_node(WabtAllocator* allocator) { - return wabt_alloc_zero(allocator, sizeof(WabtTextListNode), - WABT_DEFAULT_ALIGN); +static WabtTextListNode* new_text_list_node(void) { + return wabt_alloc_zero(sizeof(WabtTextListNode)); } static WabtResult parse_const(WabtType type, WabtLiteralType literal_type, const char* s, const char* end, WabtConst* out); -static void dup_text_list(WabtAllocator*, WabtTextList* text_list, - void** out_data, size_t* out_size); +static void dup_text_list(WabtTextList * text_list, void** out_data, + size_t* out_size); static WabtBool is_empty_signature(WabtFuncSignature* sig); -static void append_implicit_func_declaration(WabtAllocator*, WabtLocation*, - WabtModule*, WabtFuncDeclaration*); +static void append_implicit_func_declaration(WabtLocation*, WabtModule*, + WabtFuncDeclaration*); typedef struct BinaryErrorCallbackData { WabtLocation* loc; @@ -241,7 +238,7 @@ static void on_read_binary_error(uint32_t offset, const char* error, #define wabt_ast_parser_lex wabt_ast_lexer_lex -#line 245 "src/prebuilt/ast-parser-gen.c" /* yacc.c:339 */ +#line 242 "src/prebuilt/ast-parser-gen.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -388,7 +385,7 @@ int wabt_ast_parser_parse (WabtAstLexer* lexer, WabtAstParser* parser); /* Copy the second part of user declarations. */ -#line 392 "src/prebuilt/ast-parser-gen.c" /* yacc.c:358 */ +#line 389 "src/prebuilt/ast-parser-gen.c" /* yacc.c:358 */ #ifdef short # undef short @@ -694,24 +691,24 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 298, 298, 304, 314, 315, 319, 337, 338, 344, - 347, 352, 359, 362, 363, 367, 372, 379, 382, 385, - 390, 397, 403, 414, 418, 422, 429, 434, 441, 442, - 448, 449, 452, 456, 457, 461, 462, 472, 473, 484, - 485, 486, 489, 492, 495, 498, 501, 505, 509, 514, - 517, 521, 525, 529, 533, 537, 541, 545, 551, 557, - 569, 573, 577, 581, 585, 588, 593, 599, 605, 611, - 621, 629, 633, 636, 642, 648, 657, 663, 668, 674, - 679, 685, 693, 694, 702, 703, 711, 716, 717, 723, - 729, 739, 745, 751, 761, 816, 825, 832, 839, 849, - 852, 856, 862, 873, 879, 899, 906, 918, 925, 946, - 969, 976, 989, 996, 1002, 1008, 1014, 1022, 1027, 1034, - 1040, 1046, 1052, 1061, 1069, 1074, 1079, 1084, 1091, 1098, - 1102, 1105, 1116, 1120, 1127, 1131, 1134, 1142, 1150, 1167, - 1183, 1194, 1201, 1208, 1214, 1254, 1264, 1286, 1296, 1322, - 1327, 1335, 1343, 1353, 1359, 1365, 1371, 1377, 1383, 1388, - 1394, 1403, 1408, 1409, 1415, 1424, 1425, 1433, 1445, 1446, - 1453, 1519 + 0, 295, 295, 301, 311, 312, 316, 334, 335, 341, + 344, 349, 356, 359, 360, 364, 369, 376, 379, 382, + 387, 394, 400, 411, 415, 419, 426, 431, 438, 439, + 445, 446, 449, 453, 454, 458, 459, 469, 470, 481, + 482, 483, 486, 489, 492, 495, 498, 502, 506, 511, + 514, 518, 522, 526, 530, 534, 538, 542, 548, 554, + 566, 570, 574, 578, 582, 585, 590, 596, 602, 608, + 618, 626, 630, 633, 639, 645, 654, 660, 665, 671, + 676, 682, 690, 691, 699, 700, 708, 713, 714, 720, + 726, 736, 742, 748, 758, 812, 821, 828, 835, 845, + 848, 852, 858, 869, 875, 895, 902, 914, 921, 941, + 963, 970, 983, 990, 996, 1002, 1008, 1016, 1021, 1028, + 1034, 1040, 1046, 1055, 1063, 1068, 1073, 1078, 1085, 1092, + 1096, 1099, 1110, 1114, 1121, 1125, 1128, 1136, 1144, 1161, + 1177, 1187, 1194, 1201, 1207, 1246, 1256, 1278, 1288, 1314, + 1319, 1327, 1335, 1345, 1351, 1357, 1363, 1369, 1375, 1380, + 1386, 1395, 1400, 1401, 1407, 1416, 1417, 1425, 1437, 1438, + 1445, 1509 }; #endif @@ -1650,333 +1647,333 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocatio switch (yytype) { case 5: /* NAT */ -#line 259 "src/ast-parser.y" /* yacc.c:1257 */ +#line 256 "src/ast-parser.y" /* yacc.c:1257 */ {} -#line 1656 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 1653 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 6: /* INT */ -#line 259 "src/ast-parser.y" /* yacc.c:1257 */ +#line 256 "src/ast-parser.y" /* yacc.c:1257 */ {} -#line 1662 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 1659 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 7: /* FLOAT */ -#line 259 "src/ast-parser.y" /* yacc.c:1257 */ +#line 256 "src/ast-parser.y" /* yacc.c:1257 */ {} -#line 1668 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 1665 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 8: /* TEXT */ -#line 259 "src/ast-parser.y" /* yacc.c:1257 */ +#line 256 "src/ast-parser.y" /* yacc.c:1257 */ {} -#line 1674 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 1671 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 9: /* VAR */ -#line 259 "src/ast-parser.y" /* yacc.c:1257 */ +#line 256 "src/ast-parser.y" /* yacc.c:1257 */ {} -#line 1680 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 1677 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 35: /* OFFSET_EQ_NAT */ -#line 259 "src/ast-parser.y" /* yacc.c:1257 */ +#line 256 "src/ast-parser.y" /* yacc.c:1257 */ {} -#line 1686 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 1683 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 36: /* ALIGN_EQ_NAT */ -#line 259 "src/ast-parser.y" /* yacc.c:1257 */ +#line 256 "src/ast-parser.y" /* yacc.c:1257 */ {} -#line 1692 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 1689 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 75: /* non_empty_text_list */ -#line 282 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_text_list(parser->allocator, &((*yyvaluep).text_list)); } -#line 1698 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 279 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_text_list(&((*yyvaluep).text_list)); } +#line 1695 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 76: /* text_list */ -#line 282 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_text_list(parser->allocator, &((*yyvaluep).text_list)); } -#line 1704 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 279 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_text_list(&((*yyvaluep).text_list)); } +#line 1701 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 77: /* quoted_text */ -#line 281 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_string_slice(parser->allocator, &((*yyvaluep).text)); } -#line 1710 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 278 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_string_slice(&((*yyvaluep).text)); } +#line 1707 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 78: /* value_type_list */ -#line 283 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_type_vector(parser->allocator, &((*yyvaluep).types)); } -#line 1716 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 280 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_type_vector(&((*yyvaluep).types)); } +#line 1713 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 81: /* func_type */ -#line 273 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_func_signature(parser->allocator, &((*yyvaluep).func_sig)); } -#line 1722 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 270 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_func_signature(&((*yyvaluep).func_sig)); } +#line 1719 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 82: /* func_sig */ -#line 273 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_func_signature(parser->allocator, &((*yyvaluep).func_sig)); } -#line 1728 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 270 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_func_signature(&((*yyvaluep).func_sig)); } +#line 1725 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 86: /* type_use */ -#line 285 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_var(parser->allocator, &((*yyvaluep).var)); } -#line 1734 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 282 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_var(&((*yyvaluep).var)); } +#line 1731 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 88: /* literal */ -#line 279 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_string_slice(parser->allocator, &((*yyvaluep).literal).text); } -#line 1740 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 276 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_string_slice(&((*yyvaluep).literal).text); } +#line 1737 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 89: /* var */ -#line 285 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_var(parser->allocator, &((*yyvaluep).var)); } -#line 1746 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 282 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_var(&((*yyvaluep).var)); } +#line 1743 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 90: /* var_list */ -#line 284 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_var_vector_and_elements(parser->allocator, &((*yyvaluep).vars)); } -#line 1752 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 281 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_var_vector_and_elements(&((*yyvaluep).vars)); } +#line 1749 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 91: /* bind_var_opt */ -#line 281 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_string_slice(parser->allocator, &((*yyvaluep).text)); } -#line 1758 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 278 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_string_slice(&((*yyvaluep).text)); } +#line 1755 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 92: /* bind_var */ -#line 281 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_string_slice(parser->allocator, &((*yyvaluep).text)); } -#line 1764 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 278 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_string_slice(&((*yyvaluep).text)); } +#line 1761 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 93: /* labeling_opt */ -#line 281 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_string_slice(parser->allocator, &((*yyvaluep).text)); } -#line 1770 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 278 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_string_slice(&((*yyvaluep).text)); } +#line 1767 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 96: /* instr */ -#line 270 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_expr_list(parser->allocator, ((*yyvaluep).expr_list).first); } -#line 1776 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 267 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_expr_list(((*yyvaluep).expr_list).first); } +#line 1773 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 97: /* plain_instr */ -#line 269 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_expr(parser->allocator, ((*yyvaluep).expr)); } -#line 1782 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 266 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_expr(((*yyvaluep).expr)); } +#line 1779 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 98: /* block_instr */ -#line 269 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_expr(parser->allocator, ((*yyvaluep).expr)); } -#line 1788 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 266 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_expr(((*yyvaluep).expr)); } +#line 1785 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 99: /* block */ -#line 260 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_block(parser->allocator, &((*yyvaluep).block)); } -#line 1794 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 257 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_block(&((*yyvaluep).block)); } +#line 1791 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 100: /* expr */ -#line 270 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_expr_list(parser->allocator, ((*yyvaluep).expr_list).first); } -#line 1800 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 267 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_expr_list(((*yyvaluep).expr_list).first); } +#line 1797 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 101: /* expr1 */ -#line 270 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_expr_list(parser->allocator, ((*yyvaluep).expr_list).first); } -#line 1806 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 267 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_expr_list(((*yyvaluep).expr_list).first); } +#line 1803 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 102: /* if_ */ -#line 270 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_expr_list(parser->allocator, ((*yyvaluep).expr_list).first); } -#line 1812 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 267 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_expr_list(((*yyvaluep).expr_list).first); } +#line 1809 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 103: /* instr_list */ -#line 270 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_expr_list(parser->allocator, ((*yyvaluep).expr_list).first); } -#line 1818 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 267 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_expr_list(((*yyvaluep).expr_list).first); } +#line 1815 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 104: /* expr_list */ -#line 270 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_expr_list(parser->allocator, ((*yyvaluep).expr_list).first); } -#line 1824 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 267 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_expr_list(((*yyvaluep).expr_list).first); } +#line 1821 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 105: /* const_expr */ -#line 270 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_expr_list(parser->allocator, ((*yyvaluep).expr_list).first); } -#line 1830 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 267 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_expr_list(((*yyvaluep).expr_list).first); } +#line 1827 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 106: /* func_fields */ -#line 271 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_func_fields(parser->allocator, ((*yyvaluep).func_fields)); } -#line 1836 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 268 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_func_fields(((*yyvaluep).func_fields)); } +#line 1833 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 107: /* func_body */ -#line 271 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_func_fields(parser->allocator, ((*yyvaluep).func_fields)); } -#line 1842 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 268 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_func_fields(((*yyvaluep).func_fields)); } +#line 1839 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 108: /* func_info */ -#line 272 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_func(parser->allocator, ((*yyvaluep).func)); wabt_free(parser->allocator, ((*yyvaluep).func)); } -#line 1848 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 269 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_func(((*yyvaluep).func)); wabt_free(((*yyvaluep).func)); } +#line 1845 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 109: /* func */ -#line 266 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_exported_func(parser->allocator, &((*yyvaluep).exported_func)); } -#line 1854 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 263 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_exported_func(&((*yyvaluep).exported_func)); } +#line 1851 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 110: /* offset */ -#line 270 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_expr_list(parser->allocator, ((*yyvaluep).expr_list).first); } -#line 1860 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 267 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_expr_list(((*yyvaluep).expr_list).first); } +#line 1857 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 111: /* elem */ -#line 264 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_elem_segment(parser->allocator, &((*yyvaluep).elem_segment)); } -#line 1866 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 261 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_elem_segment(&((*yyvaluep).elem_segment)); } +#line 1863 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 112: /* table */ -#line 268 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_exported_table(parser->allocator, &((*yyvaluep).exported_table)); } -#line 1872 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 265 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_exported_table(&((*yyvaluep).exported_table)); } +#line 1869 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 113: /* data */ -#line 276 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_data_segment(parser->allocator, &((*yyvaluep).data_segment)); } -#line 1878 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 273 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_data_segment(&((*yyvaluep).data_segment)); } +#line 1875 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 114: /* memory */ -#line 267 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_exported_memory(parser->allocator, &((*yyvaluep).exported_memory)); } -#line 1884 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 264 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_exported_memory(&((*yyvaluep).exported_memory)); } +#line 1881 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 116: /* import_kind */ -#line 275 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_import(parser->allocator, ((*yyvaluep).import)); wabt_free(parser->allocator, ((*yyvaluep).import)); } -#line 1890 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 272 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_import(((*yyvaluep).import)); wabt_free(((*yyvaluep).import)); } +#line 1887 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 117: /* import */ -#line 275 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_import(parser->allocator, ((*yyvaluep).import)); wabt_free(parser->allocator, ((*yyvaluep).import)); } -#line 1896 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 272 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_import(((*yyvaluep).import)); wabt_free(((*yyvaluep).import)); } +#line 1893 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 118: /* inline_import */ -#line 275 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_import(parser->allocator, ((*yyvaluep).import)); wabt_free(parser->allocator, ((*yyvaluep).import)); } -#line 1902 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 272 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_import(((*yyvaluep).import)); wabt_free(((*yyvaluep).import)); } +#line 1899 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 119: /* export_kind */ -#line 265 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_export(parser->allocator, &((*yyvaluep).export_)); } -#line 1908 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 262 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_export(&((*yyvaluep).export_)); } +#line 1905 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 120: /* export */ -#line 265 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_export(parser->allocator, &((*yyvaluep).export_)); } -#line 1914 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 262 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_export(&((*yyvaluep).export_)); } +#line 1911 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 123: /* type_def */ -#line 274 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_func_type(parser->allocator, &((*yyvaluep).func_type)); } -#line 1920 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 271 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_func_type(&((*yyvaluep).func_type)); } +#line 1917 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 124: /* start */ -#line 285 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_var(parser->allocator, &((*yyvaluep).var)); } -#line 1926 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 282 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_var(&((*yyvaluep).var)); } +#line 1923 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 125: /* module_fields */ -#line 277 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_module(parser->allocator, ((*yyvaluep).module)); wabt_free(parser->allocator, ((*yyvaluep).module)); } -#line 1932 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 274 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_module(((*yyvaluep).module)); wabt_free(((*yyvaluep).module)); } +#line 1929 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 126: /* raw_module */ -#line 278 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_raw_module(parser->allocator, &((*yyvaluep).raw_module)); } -#line 1938 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 275 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_raw_module(&((*yyvaluep).raw_module)); } +#line 1935 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 127: /* module */ -#line 277 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_module(parser->allocator, ((*yyvaluep).module)); wabt_free(parser->allocator, ((*yyvaluep).module)); } -#line 1944 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 274 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_module(((*yyvaluep).module)); wabt_free(((*yyvaluep).module)); } +#line 1941 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 128: /* script_var_opt */ -#line 285 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_var(parser->allocator, &((*yyvaluep).var)); } -#line 1950 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 282 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_var(&((*yyvaluep).var)); } +#line 1947 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 130: /* assertion */ -#line 261 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_command(parser->allocator, ((*yyvaluep).command)); wabt_free(parser->allocator, ((*yyvaluep).command)); } -#line 1956 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 258 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_command(((*yyvaluep).command)); wabt_free(((*yyvaluep).command)); } +#line 1953 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 131: /* cmd */ -#line 261 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_command(parser->allocator, ((*yyvaluep).command)); wabt_free(parser->allocator, ((*yyvaluep).command)); } -#line 1962 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 258 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_command(((*yyvaluep).command)); wabt_free(((*yyvaluep).command)); } +#line 1959 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 132: /* cmd_list */ -#line 262 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_command_vector_and_elements(parser->allocator, &((*yyvaluep).commands)); } -#line 1968 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 259 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_command_vector_and_elements(&((*yyvaluep).commands)); } +#line 1965 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 134: /* const_list */ -#line 263 "src/ast-parser.y" /* yacc.c:1257 */ - { wabt_destroy_const_vector(parser->allocator, &((*yyvaluep).consts)); } -#line 1974 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 260 "src/ast-parser.y" /* yacc.c:1257 */ + { wabt_destroy_const_vector(&((*yyvaluep).consts)); } +#line 1971 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; case 135: /* script */ -#line 280 "src/ast-parser.y" /* yacc.c:1257 */ +#line 277 "src/ast-parser.y" /* yacc.c:1257 */ { wabt_destroy_script(&((*yyvaluep).script)); } -#line 1980 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ +#line 1977 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1257 */ break; @@ -2268,37 +2265,37 @@ yyreduce: switch (yyn) { case 2: -#line 298 "src/ast-parser.y" /* yacc.c:1646 */ +#line 295 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtTextListNode* node = new_text_list_node(parser->allocator); + WabtTextListNode* node = new_text_list_node(); DUPTEXT(node->text, (yyvsp[0].text)); node->next = NULL; (yyval.text_list).first = (yyval.text_list).last = node; } -#line 2279 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2276 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 3: -#line 304 "src/ast-parser.y" /* yacc.c:1646 */ +#line 301 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.text_list) = (yyvsp[-1].text_list); - WabtTextListNode* node = new_text_list_node(parser->allocator); + WabtTextListNode* node = new_text_list_node(); DUPTEXT(node->text, (yyvsp[0].text)); node->next = NULL; (yyval.text_list).last->next = node; (yyval.text_list).last = node; } -#line 2292 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2289 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 4: -#line 314 "src/ast-parser.y" /* yacc.c:1646 */ +#line 311 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.text_list).first = (yyval.text_list).last = NULL; } -#line 2298 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2295 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 6: -#line 319 "src/ast-parser.y" /* yacc.c:1646 */ +#line 316 "src/ast-parser.y" /* yacc.c:1646 */ { WabtTextListNode node; node.text = (yyvsp[0].text); @@ -2308,134 +2305,134 @@ yyreduce: text_list.last = &node; void* data; size_t size; - dup_text_list(parser->allocator, &text_list, &data, &size); + dup_text_list(&text_list, &data, &size); (yyval.text).start = data; (yyval.text).length = size; } -#line 2316 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2313 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 7: -#line 337 "src/ast-parser.y" /* yacc.c:1646 */ +#line 334 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.types)); } -#line 2322 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2319 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 8: -#line 338 "src/ast-parser.y" /* yacc.c:1646 */ +#line 335 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.types) = (yyvsp[-1].types); - wabt_append_type_value(parser->allocator, &(yyval.types), &(yyvsp[0].type)); + wabt_append_type_value(&(yyval.types), &(yyvsp[0].type)); } -#line 2331 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2328 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 9: -#line 344 "src/ast-parser.y" /* yacc.c:1646 */ +#line 341 "src/ast-parser.y" /* yacc.c:1646 */ {} -#line 2337 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2334 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 10: -#line 347 "src/ast-parser.y" /* yacc.c:1646 */ +#line 344 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.global)); (yyval.global).type = (yyvsp[0].type); (yyval.global).mutable_ = WABT_FALSE; } -#line 2347 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2344 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 11: -#line 352 "src/ast-parser.y" /* yacc.c:1646 */ +#line 349 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.global)); (yyval.global).type = (yyvsp[-1].type); (yyval.global).mutable_ = WABT_TRUE; } -#line 2357 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2354 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 12: -#line 359 "src/ast-parser.y" /* yacc.c:1646 */ +#line 356 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.func_sig) = (yyvsp[-1].func_sig); } -#line 2363 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2360 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 13: -#line 362 "src/ast-parser.y" /* yacc.c:1646 */ +#line 359 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.func_sig)); } -#line 2369 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2366 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 14: -#line 363 "src/ast-parser.y" /* yacc.c:1646 */ +#line 360 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.func_sig)); (yyval.func_sig).param_types = (yyvsp[-1].types); } -#line 2378 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2375 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 15: -#line 367 "src/ast-parser.y" /* yacc.c:1646 */ +#line 364 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.func_sig)); (yyval.func_sig).param_types = (yyvsp[-5].types); (yyval.func_sig).result_types = (yyvsp[-1].types); } -#line 2388 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2385 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 16: -#line 372 "src/ast-parser.y" /* yacc.c:1646 */ +#line 369 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.func_sig)); (yyval.func_sig).result_types = (yyvsp[-1].types); } -#line 2397 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2394 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 17: -#line 379 "src/ast-parser.y" /* yacc.c:1646 */ +#line 376 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.table).elem_limits = (yyvsp[-1].limits); } -#line 2403 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2400 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 18: -#line 382 "src/ast-parser.y" /* yacc.c:1646 */ +#line 379 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.memory).page_limits = (yyvsp[0].limits); } -#line 2409 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2406 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 19: -#line 385 "src/ast-parser.y" /* yacc.c:1646 */ +#line 382 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.limits).has_max = WABT_FALSE; (yyval.limits).initial = (yyvsp[0].u64); (yyval.limits).max = 0; } -#line 2419 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2416 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 20: -#line 390 "src/ast-parser.y" /* yacc.c:1646 */ +#line 387 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.limits).has_max = WABT_TRUE; (yyval.limits).initial = (yyvsp[-1].u64); (yyval.limits).max = (yyvsp[0].u64); } -#line 2429 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2426 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 21: -#line 397 "src/ast-parser.y" /* yacc.c:1646 */ +#line 394 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.var) = (yyvsp[-1].var); } -#line 2435 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2432 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 22: -#line 403 "src/ast-parser.y" /* yacc.c:1646 */ +#line 400 "src/ast-parser.y" /* yacc.c:1646 */ { if (WABT_FAILED(wabt_parse_uint64((yyvsp[0].literal).text.start, (yyvsp[0].literal).text.start + (yyvsp[0].literal).text.length, &(yyval.u64)))) { @@ -2444,97 +2441,97 @@ yyreduce: WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].literal).text)); } } -#line 2448 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2445 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 23: -#line 414 "src/ast-parser.y" /* yacc.c:1646 */ +#line 411 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.literal).type = (yyvsp[0].literal).type; DUPTEXT((yyval.literal).text, (yyvsp[0].literal).text); } -#line 2457 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2454 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 24: -#line 418 "src/ast-parser.y" /* yacc.c:1646 */ +#line 415 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.literal).type = (yyvsp[0].literal).type; DUPTEXT((yyval.literal).text, (yyvsp[0].literal).text); } -#line 2466 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2463 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 25: -#line 422 "src/ast-parser.y" /* yacc.c:1646 */ +#line 419 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.literal).type = (yyvsp[0].literal).type; DUPTEXT((yyval.literal).text, (yyvsp[0].literal).text); } -#line 2475 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2472 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 26: -#line 429 "src/ast-parser.y" /* yacc.c:1646 */ +#line 426 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.var).loc = (yylsp[0]); (yyval.var).type = WABT_VAR_TYPE_INDEX; (yyval.var).index = (yyvsp[0].u64); } -#line 2485 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2482 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 27: -#line 434 "src/ast-parser.y" /* yacc.c:1646 */ +#line 431 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.var).loc = (yylsp[0]); (yyval.var).type = WABT_VAR_TYPE_NAME; DUPTEXT((yyval.var).name, (yyvsp[0].text)); } -#line 2495 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2492 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 28: -#line 441 "src/ast-parser.y" /* yacc.c:1646 */ +#line 438 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.vars)); } -#line 2501 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2498 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 29: -#line 442 "src/ast-parser.y" /* yacc.c:1646 */ +#line 439 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.vars) = (yyvsp[-1].vars); - wabt_append_var_value(parser->allocator, &(yyval.vars), &(yyvsp[0].var)); + wabt_append_var_value(&(yyval.vars), &(yyvsp[0].var)); } -#line 2510 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2507 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 30: -#line 448 "src/ast-parser.y" /* yacc.c:1646 */ +#line 445 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.text)); } -#line 2516 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2513 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 32: -#line 452 "src/ast-parser.y" /* yacc.c:1646 */ +#line 449 "src/ast-parser.y" /* yacc.c:1646 */ { DUPTEXT((yyval.text), (yyvsp[0].text)); } -#line 2522 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2519 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 33: -#line 456 "src/ast-parser.y" /* yacc.c:1646 */ +#line 453 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.text)); } -#line 2528 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2525 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 35: -#line 461 "src/ast-parser.y" /* yacc.c:1646 */ +#line 458 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.u64) = 0; } -#line 2534 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2531 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 36: -#line 462 "src/ast-parser.y" /* yacc.c:1646 */ +#line 459 "src/ast-parser.y" /* yacc.c:1646 */ { if (WABT_FAILED(wabt_parse_int64((yyvsp[0].text).start, (yyvsp[0].text).start + (yyvsp[0].text).length, &(yyval.u64), WABT_PARSE_SIGNED_AND_UNSIGNED))) { @@ -2543,17 +2540,17 @@ yyreduce: WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].text))); } } -#line 2547 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2544 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 37: -#line 472 "src/ast-parser.y" /* yacc.c:1646 */ +#line 469 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.u32) = USE_NATURAL_ALIGNMENT; } -#line 2553 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2550 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 38: -#line 473 "src/ast-parser.y" /* yacc.c:1646 */ +#line 470 "src/ast-parser.y" /* yacc.c:1646 */ { if (WABT_FAILED(wabt_parse_int32((yyvsp[0].text).start, (yyvsp[0].text).start + (yyvsp[0].text).length, &(yyval.u32), WABT_PARSE_UNSIGNED_ONLY))) { @@ -2562,184 +2559,184 @@ yyreduce: WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].text))); } } -#line 2566 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2563 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 39: -#line 484 "src/ast-parser.y" /* yacc.c:1646 */ +#line 481 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = join_exprs1(&(yylsp[0]), (yyvsp[0].expr)); } -#line 2572 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2569 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 40: -#line 485 "src/ast-parser.y" /* yacc.c:1646 */ +#line 482 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = join_exprs1(&(yylsp[0]), (yyvsp[0].expr)); } -#line 2578 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2575 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 41: -#line 486 "src/ast-parser.y" /* yacc.c:1646 */ +#line 483 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = (yyvsp[0].expr_list); } -#line 2584 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2581 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 42: -#line 489 "src/ast-parser.y" /* yacc.c:1646 */ +#line 486 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_unreachable_expr(parser->allocator); + (yyval.expr) = wabt_new_unreachable_expr(); } -#line 2592 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2589 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 43: -#line 492 "src/ast-parser.y" /* yacc.c:1646 */ +#line 489 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_nop_expr(parser->allocator); + (yyval.expr) = wabt_new_nop_expr(); } -#line 2600 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2597 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 44: -#line 495 "src/ast-parser.y" /* yacc.c:1646 */ +#line 492 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_drop_expr(parser->allocator); + (yyval.expr) = wabt_new_drop_expr(); } -#line 2608 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2605 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 45: -#line 498 "src/ast-parser.y" /* yacc.c:1646 */ +#line 495 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_select_expr(parser->allocator); + (yyval.expr) = wabt_new_select_expr(); } -#line 2616 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2613 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 46: -#line 501 "src/ast-parser.y" /* yacc.c:1646 */ +#line 498 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_br_expr(parser->allocator); + (yyval.expr) = wabt_new_br_expr(); (yyval.expr)->br.var = (yyvsp[0].var); } -#line 2625 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2622 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 47: -#line 505 "src/ast-parser.y" /* yacc.c:1646 */ +#line 502 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_br_if_expr(parser->allocator); + (yyval.expr) = wabt_new_br_if_expr(); (yyval.expr)->br_if.var = (yyvsp[0].var); } -#line 2634 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2631 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 48: -#line 509 "src/ast-parser.y" /* yacc.c:1646 */ +#line 506 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_br_table_expr(parser->allocator); + (yyval.expr) = wabt_new_br_table_expr(); (yyval.expr)->br_table.targets = (yyvsp[-1].vars); (yyval.expr)->br_table.default_target = (yyvsp[0].var); } -#line 2644 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2641 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 49: -#line 514 "src/ast-parser.y" /* yacc.c:1646 */ +#line 511 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_return_expr(parser->allocator); + (yyval.expr) = wabt_new_return_expr(); } -#line 2652 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2649 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 50: -#line 517 "src/ast-parser.y" /* yacc.c:1646 */ +#line 514 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_call_expr(parser->allocator); + (yyval.expr) = wabt_new_call_expr(); (yyval.expr)->call.var = (yyvsp[0].var); } -#line 2661 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2658 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 51: -#line 521 "src/ast-parser.y" /* yacc.c:1646 */ +#line 518 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_call_indirect_expr(parser->allocator); + (yyval.expr) = wabt_new_call_indirect_expr(); (yyval.expr)->call_indirect.var = (yyvsp[0].var); } -#line 2670 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2667 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 52: -#line 525 "src/ast-parser.y" /* yacc.c:1646 */ +#line 522 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_get_local_expr(parser->allocator); + (yyval.expr) = wabt_new_get_local_expr(); (yyval.expr)->get_local.var = (yyvsp[0].var); } -#line 2679 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2676 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 53: -#line 529 "src/ast-parser.y" /* yacc.c:1646 */ +#line 526 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_set_local_expr(parser->allocator); + (yyval.expr) = wabt_new_set_local_expr(); (yyval.expr)->set_local.var = (yyvsp[0].var); } -#line 2688 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2685 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 54: -#line 533 "src/ast-parser.y" /* yacc.c:1646 */ +#line 530 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_tee_local_expr(parser->allocator); + (yyval.expr) = wabt_new_tee_local_expr(); (yyval.expr)->tee_local.var = (yyvsp[0].var); } -#line 2697 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2694 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 55: -#line 537 "src/ast-parser.y" /* yacc.c:1646 */ +#line 534 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_get_global_expr(parser->allocator); + (yyval.expr) = wabt_new_get_global_expr(); (yyval.expr)->get_global.var = (yyvsp[0].var); } -#line 2706 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2703 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 56: -#line 541 "src/ast-parser.y" /* yacc.c:1646 */ +#line 538 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_set_global_expr(parser->allocator); + (yyval.expr) = wabt_new_set_global_expr(); (yyval.expr)->set_global.var = (yyvsp[0].var); } -#line 2715 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2712 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 57: -#line 545 "src/ast-parser.y" /* yacc.c:1646 */ +#line 542 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_load_expr(parser->allocator); + (yyval.expr) = wabt_new_load_expr(); (yyval.expr)->load.opcode = (yyvsp[-2].opcode); (yyval.expr)->load.offset = (yyvsp[-1].u64); (yyval.expr)->load.align = (yyvsp[0].u32); } -#line 2726 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2723 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 58: -#line 551 "src/ast-parser.y" /* yacc.c:1646 */ +#line 548 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_store_expr(parser->allocator); + (yyval.expr) = wabt_new_store_expr(); (yyval.expr)->store.opcode = (yyvsp[-2].opcode); (yyval.expr)->store.offset = (yyvsp[-1].u64); (yyval.expr)->store.align = (yyvsp[0].u32); } -#line 2737 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2734 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 59: -#line 557 "src/ast-parser.y" /* yacc.c:1646 */ +#line 554 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_const_expr(parser->allocator); + (yyval.expr) = wabt_new_const_expr(); (yyval.expr)->const_.loc = (yylsp[-1]); if (WABT_FAILED(parse_const((yyvsp[-1].type), (yyvsp[0].literal).type, (yyvsp[0].literal).text.start, (yyvsp[0].literal).text.start + (yyvsp[0].literal).text.length, @@ -2748,157 +2745,157 @@ yyreduce: "invalid literal \"" PRIstringslice "\"", WABT_PRINTF_STRING_SLICE_ARG((yyvsp[0].literal).text)); } - wabt_free(parser->allocator, (char*)(yyvsp[0].literal).text.start); + wabt_free((char*)(yyvsp[0].literal).text.start); } -#line 2754 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2751 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 60: -#line 569 "src/ast-parser.y" /* yacc.c:1646 */ +#line 566 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_unary_expr(parser->allocator); + (yyval.expr) = wabt_new_unary_expr(); (yyval.expr)->unary.opcode = (yyvsp[0].opcode); } -#line 2763 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2760 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 61: -#line 573 "src/ast-parser.y" /* yacc.c:1646 */ +#line 570 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_binary_expr(parser->allocator); + (yyval.expr) = wabt_new_binary_expr(); (yyval.expr)->binary.opcode = (yyvsp[0].opcode); } -#line 2772 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2769 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 62: -#line 577 "src/ast-parser.y" /* yacc.c:1646 */ +#line 574 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_compare_expr(parser->allocator); + (yyval.expr) = wabt_new_compare_expr(); (yyval.expr)->compare.opcode = (yyvsp[0].opcode); } -#line 2781 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2778 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 63: -#line 581 "src/ast-parser.y" /* yacc.c:1646 */ +#line 578 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_convert_expr(parser->allocator); + (yyval.expr) = wabt_new_convert_expr(); (yyval.expr)->convert.opcode = (yyvsp[0].opcode); } -#line 2790 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2787 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 64: -#line 585 "src/ast-parser.y" /* yacc.c:1646 */ +#line 582 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_current_memory_expr(parser->allocator); + (yyval.expr) = wabt_new_current_memory_expr(); } -#line 2798 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2795 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 65: -#line 588 "src/ast-parser.y" /* yacc.c:1646 */ +#line 585 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_grow_memory_expr(parser->allocator); + (yyval.expr) = wabt_new_grow_memory_expr(); } -#line 2806 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2803 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 66: -#line 593 "src/ast-parser.y" /* yacc.c:1646 */ +#line 590 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_block_expr(parser->allocator); + (yyval.expr) = wabt_new_block_expr(); (yyval.expr)->block = (yyvsp[-2].block); (yyval.expr)->block.label = (yyvsp[-3].text); CHECK_END_LABEL((yylsp[0]), (yyval.expr)->block.label, (yyvsp[0].text)); } -#line 2817 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2814 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 67: -#line 599 "src/ast-parser.y" /* yacc.c:1646 */ +#line 596 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_loop_expr(parser->allocator); + (yyval.expr) = wabt_new_loop_expr(); (yyval.expr)->loop = (yyvsp[-2].block); (yyval.expr)->loop.label = (yyvsp[-3].text); CHECK_END_LABEL((yylsp[0]), (yyval.expr)->block.label, (yyvsp[0].text)); } -#line 2828 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2825 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 68: -#line 605 "src/ast-parser.y" /* yacc.c:1646 */ +#line 602 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_if_expr(parser->allocator); + (yyval.expr) = wabt_new_if_expr(); (yyval.expr)->if_.true_ = (yyvsp[-2].block); (yyval.expr)->if_.true_.label = (yyvsp[-3].text); CHECK_END_LABEL((yylsp[0]), (yyval.expr)->block.label, (yyvsp[0].text)); } -#line 2839 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2836 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 69: -#line 611 "src/ast-parser.y" /* yacc.c:1646 */ +#line 608 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.expr) = wabt_new_if_expr(parser->allocator); + (yyval.expr) = wabt_new_if_expr(); (yyval.expr)->if_.true_ = (yyvsp[-5].block); (yyval.expr)->if_.true_.label = (yyvsp[-6].text); (yyval.expr)->if_.false_ = (yyvsp[-2].expr_list).first; CHECK_END_LABEL((yylsp[-3]), (yyval.expr)->block.label, (yyvsp[-3].text)); CHECK_END_LABEL((yylsp[0]), (yyval.expr)->block.label, (yyvsp[0].text)); } -#line 2852 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2849 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 70: -#line 621 "src/ast-parser.y" /* yacc.c:1646 */ +#line 618 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.block)); (yyval.block).sig = (yyvsp[-1].types); (yyval.block).first = (yyvsp[0].expr_list).first; } -#line 2862 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2859 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 71: -#line 629 "src/ast-parser.y" /* yacc.c:1646 */ +#line 626 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = (yyvsp[-1].expr_list); } -#line 2868 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2865 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 72: -#line 633 "src/ast-parser.y" /* yacc.c:1646 */ +#line 630 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = join_exprs2(&(yylsp[-1]), &(yyvsp[0].expr_list), (yyvsp[-1].expr)); } -#line 2876 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2873 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 73: -#line 636 "src/ast-parser.y" /* yacc.c:1646 */ +#line 633 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_block_expr(parser->allocator); + WabtExpr* expr = wabt_new_block_expr(); expr->block = (yyvsp[0].block); expr->block.label = (yyvsp[-1].text); (yyval.expr_list) = join_exprs1(&(yylsp[-2]), expr); } -#line 2887 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2884 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 74: -#line 642 "src/ast-parser.y" /* yacc.c:1646 */ +#line 639 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_loop_expr(parser->allocator); + WabtExpr* expr = wabt_new_loop_expr(); expr->loop = (yyvsp[0].block); expr->loop.label = (yyvsp[-1].text); (yyval.expr_list) = join_exprs1(&(yylsp[-2]), expr); } -#line 2898 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2895 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 75: -#line 648 "src/ast-parser.y" /* yacc.c:1646 */ +#line 645 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = (yyvsp[0].expr_list); WabtExpr* if_ = (yyvsp[0].expr_list).last; @@ -2906,180 +2903,180 @@ yyreduce: if_->if_.true_.label = (yyvsp[-2].text); if_->if_.true_.sig = (yyvsp[-1].types); } -#line 2910 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2907 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 76: -#line 657 "src/ast-parser.y" /* yacc.c:1646 */ +#line 654 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_if_expr(parser->allocator); + WabtExpr* expr = wabt_new_if_expr(); expr->if_.true_.first = (yyvsp[-5].expr_list).first; expr->if_.false_ = (yyvsp[-1].expr_list).first; (yyval.expr_list) = join_exprs1(&(yylsp[-7]), expr); } -#line 2921 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2918 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 77: -#line 663 "src/ast-parser.y" /* yacc.c:1646 */ +#line 660 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_if_expr(parser->allocator); + WabtExpr* expr = wabt_new_if_expr(); expr->if_.true_.first = (yyvsp[-1].expr_list).first; (yyval.expr_list) = join_exprs1(&(yylsp[-3]), expr); } -#line 2931 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2928 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 78: -#line 668 "src/ast-parser.y" /* yacc.c:1646 */ +#line 665 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_if_expr(parser->allocator); + WabtExpr* expr = wabt_new_if_expr(); expr->if_.true_.first = (yyvsp[-5].expr_list).first; expr->if_.false_ = (yyvsp[-1].expr_list).first; (yyval.expr_list) = join_exprs2(&(yylsp[-8]), &(yyvsp[-8].expr_list), expr); } -#line 2942 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2939 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 79: -#line 674 "src/ast-parser.y" /* yacc.c:1646 */ +#line 671 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_if_expr(parser->allocator); + WabtExpr* expr = wabt_new_if_expr(); expr->if_.true_.first = (yyvsp[-1].expr_list).first; (yyval.expr_list) = join_exprs2(&(yylsp[-4]), &(yyvsp[-4].expr_list), expr); } -#line 2952 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2949 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 80: -#line 679 "src/ast-parser.y" /* yacc.c:1646 */ +#line 676 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_if_expr(parser->allocator); + WabtExpr* expr = wabt_new_if_expr(); expr->if_.true_.first = (yyvsp[-1].expr_list).first; expr->if_.false_ = (yyvsp[0].expr_list).first; (yyval.expr_list) = join_exprs2(&(yylsp[-2]), &(yyvsp[-2].expr_list), expr); } -#line 2963 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2960 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 81: -#line 685 "src/ast-parser.y" /* yacc.c:1646 */ +#line 682 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_if_expr(parser->allocator); + WabtExpr* expr = wabt_new_if_expr(); expr->if_.true_.first = (yyvsp[0].expr_list).first; (yyval.expr_list) = join_exprs2(&(yylsp[-1]), &(yyvsp[-1].expr_list), expr); } -#line 2973 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2970 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 82: -#line 693 "src/ast-parser.y" /* yacc.c:1646 */ +#line 690 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.expr_list)); } -#line 2979 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2976 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 83: -#line 694 "src/ast-parser.y" /* yacc.c:1646 */ +#line 691 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list).first = (yyvsp[-1].expr_list).first; (yyvsp[-1].expr_list).last->next = (yyvsp[0].expr_list).first; (yyval.expr_list).last = (yyvsp[0].expr_list).last ? (yyvsp[0].expr_list).last : (yyvsp[-1].expr_list).last; (yyval.expr_list).size = (yyvsp[-1].expr_list).size + (yyvsp[0].expr_list).size; } -#line 2990 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2987 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 84: -#line 702 "src/ast-parser.y" /* yacc.c:1646 */ +#line 699 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.expr_list)); } -#line 2996 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 2993 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 85: -#line 703 "src/ast-parser.y" /* yacc.c:1646 */ +#line 700 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list).first = (yyvsp[-1].expr_list).first; (yyvsp[-1].expr_list).last->next = (yyvsp[0].expr_list).first; (yyval.expr_list).last = (yyvsp[0].expr_list).last ? (yyvsp[0].expr_list).last : (yyvsp[-1].expr_list).last; (yyval.expr_list).size = (yyvsp[-1].expr_list).size + (yyvsp[0].expr_list).size; } -#line 3007 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3004 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 88: -#line 717 "src/ast-parser.y" /* yacc.c:1646 */ +#line 714 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.func_fields) = new_func_field(parser->allocator); + (yyval.func_fields) = new_func_field(); (yyval.func_fields)->type = WABT_FUNC_FIELD_TYPE_RESULT_TYPES; (yyval.func_fields)->types = (yyvsp[-2].types); (yyval.func_fields)->next = (yyvsp[0].func_fields); } -#line 3018 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3015 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 89: -#line 723 "src/ast-parser.y" /* yacc.c:1646 */ +#line 720 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.func_fields) = new_func_field(parser->allocator); + (yyval.func_fields) = new_func_field(); (yyval.func_fields)->type = WABT_FUNC_FIELD_TYPE_PARAM_TYPES; (yyval.func_fields)->types = (yyvsp[-2].types); (yyval.func_fields)->next = (yyvsp[0].func_fields); } -#line 3029 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3026 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 90: -#line 729 "src/ast-parser.y" /* yacc.c:1646 */ +#line 726 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.func_fields) = new_func_field(parser->allocator); + (yyval.func_fields) = new_func_field(); (yyval.func_fields)->type = WABT_FUNC_FIELD_TYPE_BOUND_PARAM; (yyval.func_fields)->bound_type.loc = (yylsp[-4]); (yyval.func_fields)->bound_type.name = (yyvsp[-3].text); (yyval.func_fields)->bound_type.type = (yyvsp[-2].type); (yyval.func_fields)->next = (yyvsp[0].func_fields); } -#line 3042 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3039 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 91: -#line 739 "src/ast-parser.y" /* yacc.c:1646 */ +#line 736 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.func_fields) = new_func_field(parser->allocator); + (yyval.func_fields) = new_func_field(); (yyval.func_fields)->type = WABT_FUNC_FIELD_TYPE_EXPRS; (yyval.func_fields)->first_expr = (yyvsp[0].expr_list).first; (yyval.func_fields)->next = NULL; } -#line 3053 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3050 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 92: -#line 745 "src/ast-parser.y" /* yacc.c:1646 */ +#line 742 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.func_fields) = new_func_field(parser->allocator); + (yyval.func_fields) = new_func_field(); (yyval.func_fields)->type = WABT_FUNC_FIELD_TYPE_LOCAL_TYPES; (yyval.func_fields)->types = (yyvsp[-2].types); (yyval.func_fields)->next = (yyvsp[0].func_fields); } -#line 3064 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3061 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 93: -#line 751 "src/ast-parser.y" /* yacc.c:1646 */ +#line 748 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.func_fields) = new_func_field(parser->allocator); + (yyval.func_fields) = new_func_field(); (yyval.func_fields)->type = WABT_FUNC_FIELD_TYPE_BOUND_LOCAL; (yyval.func_fields)->bound_type.loc = (yylsp[-4]); (yyval.func_fields)->bound_type.name = (yyvsp[-3].text); (yyval.func_fields)->bound_type.type = (yyvsp[-2].type); (yyval.func_fields)->next = (yyvsp[0].func_fields); } -#line 3077 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3074 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 94: -#line 761 "src/ast-parser.y" /* yacc.c:1646 */ +#line 758 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.func) = new_func(parser->allocator); + (yyval.func) = new_func(); WabtFuncField* field = (yyvsp[0].func_fields); while (field) { @@ -3095,8 +3092,8 @@ yyreduce: field->type == WABT_FUNC_FIELD_TYPE_PARAM_TYPES ? &(yyval.func)->decl.sig.param_types : &(yyval.func)->local_types; - wabt_extend_types(parser->allocator, types, &field->types); - wabt_destroy_type_vector(parser->allocator, &field->types); + wabt_extend_types(types, &field->types); + wabt_destroy_type_vector(&field->types); break; } @@ -3112,10 +3109,9 @@ yyreduce: bindings = &(yyval.func)->local_bindings; } - wabt_append_type_value(parser->allocator, types, - &field->bound_type.type); - WabtBinding* binding = wabt_insert_binding( - parser->allocator, bindings, &field->bound_type.name); + wabt_append_type_value(types, &field->bound_type.type); + WabtBinding* binding = + wabt_insert_binding(bindings, &field->bound_type.name); binding->loc = field->bound_type.loc; binding->index = types->size - 1; break; @@ -3127,15 +3123,15 @@ yyreduce: } /* we steal memory from the func field, but not the linked list nodes */ - wabt_free(parser->allocator, field); + wabt_free(field); field = next; } } -#line 3135 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3131 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 95: -#line 816 "src/ast-parser.y" /* yacc.c:1646 */ +#line 812 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.exported_func)); (yyval.exported_func).func = (yyvsp[-1].func); @@ -3144,11 +3140,11 @@ yyreduce: (yyval.exported_func).func->name = (yyvsp[-4].text); (yyval.exported_func).export_ = (yyvsp[-3].optional_export); } -#line 3148 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3144 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 96: -#line 825 "src/ast-parser.y" /* yacc.c:1646 */ +#line 821 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.exported_func)); (yyval.exported_func).func = (yyvsp[-1].func); @@ -3156,51 +3152,51 @@ yyreduce: (yyval.exported_func).func->decl.type_var = (yyvsp[-2].var); (yyval.exported_func).func->name = (yyvsp[-3].text); } -#line 3160 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3156 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 97: -#line 832 "src/ast-parser.y" /* yacc.c:1646 */ +#line 828 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.exported_func)); (yyval.exported_func).func = (yyvsp[-1].func); (yyval.exported_func).func->name = (yyvsp[-3].text); (yyval.exported_func).export_ = (yyvsp[-2].optional_export); } -#line 3171 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3167 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 98: -#line 839 "src/ast-parser.y" /* yacc.c:1646 */ +#line 835 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.exported_func)); (yyval.exported_func).func = (yyvsp[-1].func); (yyval.exported_func).func->name = (yyvsp[-2].text); } -#line 3181 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3177 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 99: -#line 849 "src/ast-parser.y" /* yacc.c:1646 */ +#line 845 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.expr_list) = (yyvsp[-1].expr_list); } -#line 3189 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3185 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 101: -#line 856 "src/ast-parser.y" /* yacc.c:1646 */ +#line 852 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.elem_segment)); (yyval.elem_segment).table_var = (yyvsp[-3].var); (yyval.elem_segment).offset = (yyvsp[-2].expr_list).first; (yyval.elem_segment).vars = (yyvsp[-1].vars); } -#line 3200 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3196 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 102: -#line 862 "src/ast-parser.y" /* yacc.c:1646 */ +#line 858 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.elem_segment)); (yyval.elem_segment).table_var.loc = (yylsp[-3]); @@ -3209,24 +3205,24 @@ yyreduce: (yyval.elem_segment).offset = (yyvsp[-2].expr_list).first; (yyval.elem_segment).vars = (yyvsp[-1].vars); } -#line 3213 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3209 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 103: -#line 873 "src/ast-parser.y" /* yacc.c:1646 */ +#line 869 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.exported_table).table = (yyvsp[-1].table); (yyval.exported_table).table.name = (yyvsp[-3].text); (yyval.exported_table).has_elem_segment = WABT_FALSE; (yyval.exported_table).export_ = (yyvsp[-2].optional_export); } -#line 3224 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3220 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 104: -#line 880 "src/ast-parser.y" /* yacc.c:1646 */ +#line 876 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_const_expr(parser->allocator); + WabtExpr* expr = wabt_new_const_expr(); expr->loc = (yylsp[-8]); expr->const_.type = WABT_TYPE_I32; expr->const_.u32 = 0; @@ -3241,37 +3237,37 @@ yyreduce: (yyval.exported_table).elem_segment.vars = (yyvsp[-2].vars); (yyval.exported_table).export_ = (yyvsp[-6].optional_export); } -#line 3245 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3241 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 105: -#line 899 "src/ast-parser.y" /* yacc.c:1646 */ +#line 895 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.data_segment)); (yyval.data_segment).memory_var = (yyvsp[-3].var); (yyval.data_segment).offset = (yyvsp[-2].expr_list).first; - dup_text_list(parser->allocator, &(yyvsp[-1].text_list), &(yyval.data_segment).data, &(yyval.data_segment).size); - wabt_destroy_text_list(parser->allocator, &(yyvsp[-1].text_list)); + dup_text_list(&(yyvsp[-1].text_list), &(yyval.data_segment).data, &(yyval.data_segment).size); + wabt_destroy_text_list(&(yyvsp[-1].text_list)); } -#line 3257 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3253 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 106: -#line 906 "src/ast-parser.y" /* yacc.c:1646 */ +#line 902 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.data_segment)); (yyval.data_segment).memory_var.loc = (yylsp[-3]); (yyval.data_segment).memory_var.type = WABT_VAR_TYPE_INDEX; (yyval.data_segment).memory_var.index = 0; (yyval.data_segment).offset = (yyvsp[-2].expr_list).first; - dup_text_list(parser->allocator, &(yyvsp[-1].text_list), &(yyval.data_segment).data, &(yyval.data_segment).size); - wabt_destroy_text_list(parser->allocator, &(yyvsp[-1].text_list)); + dup_text_list(&(yyvsp[-1].text_list), &(yyval.data_segment).data, &(yyval.data_segment).size); + wabt_destroy_text_list(&(yyvsp[-1].text_list)); } -#line 3271 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3267 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 107: -#line 918 "src/ast-parser.y" /* yacc.c:1646 */ +#line 914 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.exported_memory)); (yyval.exported_memory).memory = (yyvsp[-1].memory); @@ -3279,13 +3275,13 @@ yyreduce: (yyval.exported_memory).has_data_segment = WABT_FALSE; (yyval.exported_memory).export_ = (yyvsp[-2].optional_export); } -#line 3283 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3279 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 108: -#line 925 "src/ast-parser.y" /* yacc.c:1646 */ +#line 921 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_const_expr(parser->allocator); + WabtExpr* expr = wabt_new_const_expr(); expr->loc = (yylsp[-7]); expr->const_.type = WABT_TYPE_I32; expr->const_.u32 = 0; @@ -3293,9 +3289,8 @@ yyreduce: WABT_ZERO_MEMORY((yyval.exported_memory)); (yyval.exported_memory).has_data_segment = WABT_TRUE; (yyval.exported_memory).data_segment.offset = expr; - dup_text_list(parser->allocator, &(yyvsp[-2].text_list), &(yyval.exported_memory).data_segment.data, - &(yyval.exported_memory).data_segment.size); - wabt_destroy_text_list(parser->allocator, &(yyvsp[-2].text_list)); + dup_text_list(&(yyvsp[-2].text_list), &(yyval.exported_memory).data_segment.data, &(yyval.exported_memory).data_segment.size); + wabt_destroy_text_list(&(yyvsp[-2].text_list)); uint32_t byte_size = WABT_ALIGN_UP_TO_PAGE((yyval.exported_memory).data_segment.size); uint32_t page_size = WABT_BYTES_TO_PAGES(byte_size); (yyval.exported_memory).memory.name = (yyvsp[-6].text); @@ -3304,13 +3299,13 @@ yyreduce: (yyval.exported_memory).memory.page_limits.has_max = WABT_TRUE; (yyval.exported_memory).export_ = (yyvsp[-5].optional_export); } -#line 3308 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3303 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 109: -#line 946 "src/ast-parser.y" /* yacc.c:1646 */ +#line 941 "src/ast-parser.y" /* yacc.c:1646 */ { - WabtExpr* expr = wabt_new_const_expr(parser->allocator); + WabtExpr* expr = wabt_new_const_expr(); expr->loc = (yylsp[-6]); expr->const_.type = WABT_TYPE_I32; expr->const_.u32 = 0; @@ -3318,9 +3313,8 @@ yyreduce: WABT_ZERO_MEMORY((yyval.exported_memory)); (yyval.exported_memory).has_data_segment = WABT_TRUE; (yyval.exported_memory).data_segment.offset = expr; - dup_text_list(parser->allocator, &(yyvsp[-2].text_list), &(yyval.exported_memory).data_segment.data, - &(yyval.exported_memory).data_segment.size); - wabt_destroy_text_list(parser->allocator, &(yyvsp[-2].text_list)); + dup_text_list(&(yyvsp[-2].text_list), &(yyval.exported_memory).data_segment.data, &(yyval.exported_memory).data_segment.size); + wabt_destroy_text_list(&(yyvsp[-2].text_list)); uint32_t byte_size = WABT_ALIGN_UP_TO_PAGE((yyval.exported_memory).data_segment.size); uint32_t page_size = WABT_BYTES_TO_PAGES(byte_size); (yyval.exported_memory).memory.name = (yyvsp[-5].text); @@ -3329,11 +3323,11 @@ yyreduce: (yyval.exported_memory).memory.page_limits.has_max = WABT_TRUE; (yyval.exported_memory).export_.has_export = WABT_FALSE; } -#line 3333 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3327 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 110: -#line 969 "src/ast-parser.y" /* yacc.c:1646 */ +#line 963 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.exported_global)); (yyval.exported_global).global = (yyvsp[-2].global); @@ -3341,11 +3335,11 @@ yyreduce: (yyval.exported_global).global.init_expr = (yyvsp[-1].expr_list).first; (yyval.exported_global).export_ = (yyvsp[-3].optional_export); } -#line 3345 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3339 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 111: -#line 976 "src/ast-parser.y" /* yacc.c:1646 */ +#line 970 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.exported_global)); (yyval.exported_global).global = (yyvsp[-2].global); @@ -3353,77 +3347,77 @@ yyreduce: (yyval.exported_global).global.init_expr = (yyvsp[-1].expr_list).first; (yyval.exported_global).export_.has_export = WABT_FALSE; } -#line 3357 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3351 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 112: -#line 989 "src/ast-parser.y" /* yacc.c:1646 */ +#line 983 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.import) = new_import(parser->allocator); + (yyval.import) = new_import(); (yyval.import)->kind = WABT_EXTERNAL_KIND_FUNC; (yyval.import)->func.name = (yyvsp[-2].text); (yyval.import)->func.decl.flags = WABT_FUNC_DECLARATION_FLAG_HAS_FUNC_TYPE; (yyval.import)->func.decl.type_var = (yyvsp[-1].var); } -#line 3369 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3363 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 113: -#line 996 "src/ast-parser.y" /* yacc.c:1646 */ +#line 990 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.import) = new_import(parser->allocator); + (yyval.import) = new_import(); (yyval.import)->kind = WABT_EXTERNAL_KIND_FUNC; (yyval.import)->func.name = (yyvsp[-2].text); (yyval.import)->func.decl.sig = (yyvsp[-1].func_sig); } -#line 3380 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3374 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 114: -#line 1002 "src/ast-parser.y" /* yacc.c:1646 */ +#line 996 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.import) = new_import(parser->allocator); + (yyval.import) = new_import(); (yyval.import)->kind = WABT_EXTERNAL_KIND_TABLE; (yyval.import)->table = (yyvsp[-1].table); (yyval.import)->table.name = (yyvsp[-2].text); } -#line 3391 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3385 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 115: -#line 1008 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1002 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.import) = new_import(parser->allocator); + (yyval.import) = new_import(); (yyval.import)->kind = WABT_EXTERNAL_KIND_MEMORY; (yyval.import)->memory = (yyvsp[-1].memory); (yyval.import)->memory.name = (yyvsp[-2].text); } -#line 3402 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3396 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 116: -#line 1014 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1008 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.import) = new_import(parser->allocator); + (yyval.import) = new_import(); (yyval.import)->kind = WABT_EXTERNAL_KIND_GLOBAL; (yyval.import)->global = (yyvsp[-1].global); (yyval.import)->global.name = (yyvsp[-2].text); } -#line 3413 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3407 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 117: -#line 1022 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1016 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-1].import); (yyval.import)->module_name = (yyvsp[-3].text); (yyval.import)->field_name = (yyvsp[-2].text); } -#line 3423 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3417 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 118: -#line 1027 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1021 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-2].import); (yyval.import)->kind = WABT_EXTERNAL_KIND_FUNC; @@ -3431,165 +3425,165 @@ yyreduce: (yyval.import)->func.decl.flags = WABT_FUNC_DECLARATION_FLAG_HAS_FUNC_TYPE; (yyval.import)->func.decl.type_var = (yyvsp[-1].var); } -#line 3435 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3429 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 119: -#line 1034 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1028 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-2].import); (yyval.import)->kind = WABT_EXTERNAL_KIND_FUNC; (yyval.import)->func.name = (yyvsp[-3].text); (yyval.import)->func.decl.sig = (yyvsp[-1].func_sig); } -#line 3446 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3440 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 120: -#line 1040 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1034 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-2].import); (yyval.import)->kind = WABT_EXTERNAL_KIND_TABLE; (yyval.import)->table = (yyvsp[-1].table); (yyval.import)->table.name = (yyvsp[-3].text); } -#line 3457 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3451 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 121: -#line 1046 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1040 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-2].import); (yyval.import)->kind = WABT_EXTERNAL_KIND_MEMORY; (yyval.import)->memory = (yyvsp[-1].memory); (yyval.import)->memory.name = (yyvsp[-3].text); } -#line 3468 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3462 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 122: -#line 1052 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1046 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.import) = (yyvsp[-2].import); (yyval.import)->kind = WABT_EXTERNAL_KIND_GLOBAL; (yyval.import)->global = (yyvsp[-1].global); (yyval.import)->global.name = (yyvsp[-3].text); } -#line 3479 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3473 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 123: -#line 1061 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1055 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.import) = new_import(parser->allocator); + (yyval.import) = new_import(); (yyval.import)->module_name = (yyvsp[-2].text); (yyval.import)->field_name = (yyvsp[-1].text); } -#line 3489 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3483 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 124: -#line 1069 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1063 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.export_)); (yyval.export_).kind = WABT_EXTERNAL_KIND_FUNC; (yyval.export_).var = (yyvsp[-1].var); } -#line 3499 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3493 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 125: -#line 1074 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1068 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.export_)); (yyval.export_).kind = WABT_EXTERNAL_KIND_TABLE; (yyval.export_).var = (yyvsp[-1].var); } -#line 3509 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3503 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 126: -#line 1079 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1073 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.export_)); (yyval.export_).kind = WABT_EXTERNAL_KIND_MEMORY; (yyval.export_).var = (yyvsp[-1].var); } -#line 3519 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3513 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 127: -#line 1084 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1078 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.export_)); (yyval.export_).kind = WABT_EXTERNAL_KIND_GLOBAL; (yyval.export_).var = (yyvsp[-1].var); } -#line 3529 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3523 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 128: -#line 1091 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1085 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.export_) = (yyvsp[-1].export_); (yyval.export_).name = (yyvsp[-2].text); } -#line 3538 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3532 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 129: -#line 1098 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1092 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.optional_export)); (yyval.optional_export).has_export = WABT_FALSE; } -#line 3547 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3541 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 131: -#line 1105 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1099 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.optional_export)); (yyval.optional_export).has_export = WABT_TRUE; (yyval.optional_export).export_.name = (yyvsp[-1].text); } -#line 3557 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3551 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 132: -#line 1116 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1110 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.func_type)); (yyval.func_type).sig = (yyvsp[-1].func_sig); } -#line 3566 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3560 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 133: -#line 1120 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1114 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.func_type).name = (yyvsp[-2].text); (yyval.func_type).sig = (yyvsp[-1].func_sig); } -#line 3575 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3569 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 134: -#line 1127 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1121 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.var) = (yyvsp[-1].var); } -#line 3581 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3575 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 135: -#line 1131 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1125 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.module) = new_module(parser->allocator); + (yyval.module) = new_module(); } -#line 3589 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3583 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 136: -#line 1134 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1128 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); WabtModuleField* field; @@ -3598,11 +3592,11 @@ yyreduce: &field->func_type); INSERT_BINDING((yyval.module), func_type, func_types, (yylsp[0]), (yyvsp[0].func_type).name); } -#line 3602 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3596 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 137: -#line 1142 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1136 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); WabtModuleField* field; @@ -3611,11 +3605,11 @@ yyreduce: INSERT_BINDING((yyval.module), global, globals, (yylsp[0]), (yyvsp[0].exported_global).global.name); APPEND_INLINE_EXPORT((yyval.module), GLOBAL, (yylsp[0]), (yyvsp[0].exported_global), (yyval.module)->globals.size - 1); } -#line 3615 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3609 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 138: -#line 1150 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1144 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); WabtModuleField* field; @@ -3633,11 +3627,11 @@ yyreduce: } } -#line 3637 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3631 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 139: -#line 1167 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1161 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); WabtModuleField* field; @@ -3654,27 +3648,26 @@ yyreduce: &data_segment_field->data_segment); } } -#line 3658 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3652 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 140: -#line 1183 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1177 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); WabtModuleField* field; APPEND_FIELD_TO_LIST((yyval.module), field, FUNC, func, (yylsp[0]), *(yyvsp[0].exported_func).func); - append_implicit_func_declaration(parser->allocator, &(yylsp[0]), (yyval.module), - &field->func.decl); + append_implicit_func_declaration(&(yylsp[0]), (yyval.module), &field->func.decl); APPEND_ITEM_TO_VECTOR((yyval.module), Func, func, funcs, &field->func); INSERT_BINDING((yyval.module), func, funcs, (yylsp[0]), (yyvsp[0].exported_func).func->name); APPEND_INLINE_EXPORT((yyval.module), FUNC, (yylsp[0]), (yyvsp[0].exported_func), (yyval.module)->funcs.size - 1); - wabt_free(parser->allocator, (yyvsp[0].exported_func).func); + wabt_free((yyvsp[0].exported_func).func); } -#line 3674 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3667 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 141: -#line 1194 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1187 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); WabtModuleField* field; @@ -3682,11 +3675,11 @@ yyreduce: APPEND_ITEM_TO_VECTOR((yyval.module), ElemSegment, elem_segment, elem_segments, &field->elem_segment); } -#line 3686 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3679 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 142: -#line 1201 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1194 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); WabtModuleField* field; @@ -3694,22 +3687,22 @@ yyreduce: APPEND_ITEM_TO_VECTOR((yyval.module), DataSegment, data_segment, data_segments, &field->data_segment); } -#line 3698 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3691 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 143: -#line 1208 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1201 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); WabtModuleField* field; APPEND_FIELD_TO_LIST((yyval.module), field, START, start, (yylsp[0]), (yyvsp[0].var)); (yyval.module)->start = &field->start; } -#line 3709 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3702 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 144: -#line 1214 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1207 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); WabtModuleField* field; @@ -3720,8 +3713,7 @@ yyreduce: CHECK_IMPORT_ORDERING((yyval.module), global, globals, (yylsp[0])); switch ((yyvsp[0].import)->kind) { case WABT_EXTERNAL_KIND_FUNC: - append_implicit_func_declaration(parser->allocator, &(yylsp[0]), (yyval.module), - &field->import.func.decl); + append_implicit_func_declaration(&(yylsp[0]), (yyval.module), &field->import.func.decl); APPEND_ITEM_TO_VECTOR((yyval.module), Func, func, funcs, &field->import.func); INSERT_BINDING((yyval.module), func, funcs, (yylsp[0]), field->import.func.name); (yyval.module)->num_func_imports++; @@ -3747,26 +3739,26 @@ yyreduce: assert(0); break; } - wabt_free(parser->allocator, (yyvsp[0].import)); + wabt_free((yyvsp[0].import)); APPEND_ITEM_TO_VECTOR((yyval.module), Import, import, imports, &field->import); } -#line 3754 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3746 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 145: -#line 1254 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1246 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.module) = (yyvsp[-1].module); - WabtModuleField* field = wabt_append_module_field(parser->allocator, (yyval.module)); + WabtModuleField* field = wabt_append_module_field((yyval.module)); APPEND_FIELD_TO_LIST((yyval.module), field, EXPORT, export_, (yylsp[0]), (yyvsp[0].export_)); APPEND_ITEM_TO_VECTOR((yyval.module), Export, export, exports, &field->export_); INSERT_BINDING((yyval.module), export, exports, (yylsp[0]), (yyvsp[0].export_).name); } -#line 3766 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3758 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 146: -#line 1264 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1256 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.raw_module).type = WABT_RAW_MODULE_TYPE_TEXT; (yyval.raw_module).text = (yyvsp[-1].module); @@ -3789,29 +3781,29 @@ yyreduce: } } } -#line 3793 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3785 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 147: -#line 1286 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1278 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.raw_module).type = WABT_RAW_MODULE_TYPE_BINARY; (yyval.raw_module).binary.name = (yyvsp[-2].text); (yyval.raw_module).binary.loc = (yylsp[-3]); - dup_text_list(parser->allocator, &(yyvsp[-1].text_list), &(yyval.raw_module).binary.data, &(yyval.raw_module).binary.size); - wabt_destroy_text_list(parser->allocator, &(yyvsp[-1].text_list)); + dup_text_list(&(yyvsp[-1].text_list), &(yyval.raw_module).binary.data, &(yyval.raw_module).binary.size); + wabt_destroy_text_list(&(yyvsp[-1].text_list)); } -#line 3805 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3797 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 148: -#line 1296 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1288 "src/ast-parser.y" /* yacc.c:1646 */ { if ((yyvsp[0].raw_module).type == WABT_RAW_MODULE_TYPE_TEXT) { (yyval.module) = (yyvsp[0].raw_module).text; } else { assert((yyvsp[0].raw_module).type == WABT_RAW_MODULE_TYPE_BINARY); - (yyval.module) = new_module(parser->allocator); + (yyval.module) = new_module(); WabtReadBinaryOptions options = WABT_READ_BINARY_OPTIONS_DEFAULT; BinaryErrorCallbackData user_data; user_data.loc = &(yyvsp[0].raw_module).binary.loc; @@ -3820,38 +3812,38 @@ yyreduce: WabtBinaryErrorHandler error_handler; error_handler.on_error = on_read_binary_error; error_handler.user_data = &user_data; - wabt_read_binary_ast(parser->allocator, (yyvsp[0].raw_module).binary.data, (yyvsp[0].raw_module).binary.size, - &options, &error_handler, (yyval.module)); - wabt_free(parser->allocator, (yyvsp[0].raw_module).binary.data); + wabt_read_binary_ast((yyvsp[0].raw_module).binary.data, (yyvsp[0].raw_module).binary.size, &options, + &error_handler, (yyval.module)); + wabt_free((yyvsp[0].raw_module).binary.data); (yyval.module)->name = (yyvsp[0].raw_module).binary.name; (yyval.module)->loc = (yyvsp[0].raw_module).binary.loc; } } -#line 3831 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3823 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 149: -#line 1322 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1314 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.var)); (yyval.var).type = WABT_VAR_TYPE_INDEX; (yyval.var).index = INVALID_VAR_INDEX; } -#line 3841 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3833 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 150: -#line 1327 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1319 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.var)); (yyval.var).type = WABT_VAR_TYPE_NAME; DUPTEXT((yyval.var).name, (yyvsp[0].text)); } -#line 3851 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3843 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 151: -#line 1335 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1327 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.action)); (yyval.action).loc = (yylsp[-4]); @@ -3860,11 +3852,11 @@ yyreduce: (yyval.action).invoke.name = (yyvsp[-2].text); (yyval.action).invoke.args = (yyvsp[-1].consts); } -#line 3864 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3856 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 152: -#line 1343 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1335 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.action)); (yyval.action).loc = (yylsp[-3]); @@ -3872,147 +3864,147 @@ yyreduce: (yyval.action).type = WABT_ACTION_TYPE_GET; (yyval.action).invoke.name = (yyvsp[-1].text); } -#line 3876 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3868 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 153: -#line 1353 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1345 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_ASSERT_MALFORMED; (yyval.command)->assert_malformed.module = (yyvsp[-2].raw_module); (yyval.command)->assert_malformed.text = (yyvsp[-1].text); } -#line 3887 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3879 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 154: -#line 1359 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1351 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_ASSERT_INVALID; (yyval.command)->assert_invalid.module = (yyvsp[-2].raw_module); (yyval.command)->assert_invalid.text = (yyvsp[-1].text); } -#line 3898 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3890 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 155: -#line 1365 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1357 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_ASSERT_UNLINKABLE; (yyval.command)->assert_unlinkable.module = (yyvsp[-2].raw_module); (yyval.command)->assert_unlinkable.text = (yyvsp[-1].text); } -#line 3909 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3901 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 156: -#line 1371 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1363 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_ASSERT_UNINSTANTIABLE; (yyval.command)->assert_uninstantiable.module = (yyvsp[-2].raw_module); (yyval.command)->assert_uninstantiable.text = (yyvsp[-1].text); } -#line 3920 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3912 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 157: -#line 1377 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1369 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_ASSERT_RETURN; (yyval.command)->assert_return.action = (yyvsp[-2].action); (yyval.command)->assert_return.expected = (yyvsp[-1].consts); } -#line 3931 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3923 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 158: -#line 1383 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1375 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_ASSERT_RETURN_NAN; (yyval.command)->assert_return_nan.action = (yyvsp[-1].action); } -#line 3941 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3933 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 159: -#line 1388 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1380 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_ASSERT_TRAP; (yyval.command)->assert_trap.action = (yyvsp[-2].action); (yyval.command)->assert_trap.text = (yyvsp[-1].text); } -#line 3952 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3944 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 160: -#line 1394 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1386 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_ASSERT_EXHAUSTION; (yyval.command)->assert_trap.action = (yyvsp[-2].action); (yyval.command)->assert_trap.text = (yyvsp[-1].text); } -#line 3963 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3955 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 161: -#line 1403 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1395 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_ACTION; (yyval.command)->action = (yyvsp[0].action); } -#line 3973 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3965 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 163: -#line 1409 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1401 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_MODULE; (yyval.command)->module = *(yyvsp[0].module); - wabt_free(parser->allocator, (yyvsp[0].module)); + wabt_free((yyvsp[0].module)); } -#line 3984 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3976 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 164: -#line 1415 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1407 "src/ast-parser.y" /* yacc.c:1646 */ { - (yyval.command) = new_command(parser->allocator); + (yyval.command) = new_command(); (yyval.command)->type = WABT_COMMAND_TYPE_REGISTER; (yyval.command)->register_.module_name = (yyvsp[-2].text); (yyval.command)->register_.var = (yyvsp[-1].var); (yyval.command)->register_.var.loc = (yylsp[-1]); } -#line 3996 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3988 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 165: -#line 1424 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1416 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.commands)); } -#line 4002 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 3994 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 166: -#line 1425 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1417 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.commands) = (yyvsp[-1].commands); - wabt_append_command_value(parser->allocator, &(yyval.commands), (yyvsp[0].command)); - wabt_free(parser->allocator, (yyvsp[0].command)); + wabt_append_command_value(&(yyval.commands), (yyvsp[0].command)); + wabt_free((yyvsp[0].command)); } -#line 4012 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 4004 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 167: -#line 1433 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1425 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.const_).loc = (yylsp[-2]); if (WABT_FAILED(parse_const((yyvsp[-2].type), (yyvsp[-1].literal).type, (yyvsp[-1].literal).text.start, @@ -4021,31 +4013,30 @@ yyreduce: "invalid literal \"" PRIstringslice "\"", WABT_PRINTF_STRING_SLICE_ARG((yyvsp[-1].literal).text)); } - wabt_free(parser->allocator, (char*)(yyvsp[-1].literal).text.start); + wabt_free((char*)(yyvsp[-1].literal).text.start); } -#line 4027 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 4019 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 168: -#line 1445 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1437 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.consts)); } -#line 4033 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 4025 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 169: -#line 1446 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1438 "src/ast-parser.y" /* yacc.c:1646 */ { (yyval.consts) = (yyvsp[-1].consts); - wabt_append_const_value(parser->allocator, &(yyval.consts), &(yyvsp[0].const_)); + wabt_append_const_value(&(yyval.consts), &(yyvsp[0].const_)); } -#line 4042 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 4034 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; case 170: -#line 1453 "src/ast-parser.y" /* yacc.c:1646 */ +#line 1445 "src/ast-parser.y" /* yacc.c:1646 */ { WABT_ZERO_MEMORY((yyval.script)); - (yyval.script).allocator = parser->allocator; (yyval.script).commands = (yyvsp[0].commands); int last_module_index = -1; @@ -4062,10 +4053,9 @@ yyreduce: if (module->name.length == 0) continue; - WabtStringSlice module_name = - wabt_dup_string_slice(parser->allocator, module->name); - WabtBinding* binding = wabt_insert_binding( - parser->allocator, &(yyval.script).module_bindings, &module_name); + WabtStringSlice module_name = wabt_dup_string_slice(module->name); + WabtBinding* binding = + wabt_insert_binding(&(yyval.script).module_bindings, &module_name); binding->loc = module->loc; binding->index = i; break; @@ -4104,11 +4094,11 @@ yyreduce: } parser->script = (yyval.script); } -#line 4108 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 4098 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ break; -#line 4112 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ +#line 4102 "src/prebuilt/ast-parser-gen.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -4343,7 +4333,7 @@ yyreturn: #endif return yyresult; } -#line 1522 "src/ast-parser.y" /* yacc.c:1906 */ +#line 1512 "src/ast-parser.y" /* yacc.c:1906 */ static void append_expr_list(WabtExprList* expr_list, WabtExprList* expr) { @@ -4457,8 +4447,7 @@ static size_t copy_string_contents(WabtStringSlice* text, char* dest) { return dest - dest_start; } -static void dup_text_list(WabtAllocator* allocator, - WabtTextList* text_list, +static void dup_text_list(WabtTextList* text_list, void** out_data, size_t* out_size) { /* walk the linked list to see how much total space is needed */ @@ -4473,7 +4462,7 @@ static void dup_text_list(WabtAllocator* allocator, size_t size = (end > src) ? (end - src) : 0; total_size += size; } - char* result = wabt_alloc(allocator, total_size, 1); + char* result = wabt_alloc(total_size); char* dest = result; for (node = text_list->first; node; node = node->next) { size_t actual_size = copy_string_contents(&node->text, dest); @@ -4487,8 +4476,7 @@ static WabtBool is_empty_signature(WabtFuncSignature* sig) { return sig->result_types.size == 0 && sig->param_types.size == 0; } -static void append_implicit_func_declaration(WabtAllocator* allocator, - WabtLocation* loc, +static void append_implicit_func_declaration(WabtLocation* loc, WabtModule* module, WabtFuncDeclaration* decl) { if (wabt_decl_has_func_type(decl)) @@ -4496,10 +4484,10 @@ static void append_implicit_func_declaration(WabtAllocator* allocator, int sig_index = wabt_get_func_type_index_by_decl(module, decl); if (sig_index == -1) { - wabt_append_implicit_func_type(allocator, loc, module, &decl->sig); + wabt_append_implicit_func_type(loc, module, &decl->sig); } else { /* signature already exists, share that one and destroy this one */ - wabt_destroy_func_signature(allocator, &decl->sig); + wabt_destroy_func_signature(&decl->sig); WabtFuncSignature* sig = &module->func_types.data[sig_index]->sig; decl->sig = *sig; } @@ -4512,9 +4500,6 @@ WabtResult wabt_parse_ast(WabtAstLexer* lexer, WabtSourceErrorHandler* error_handler) { WabtAstParser parser; WABT_ZERO_MEMORY(parser); - WabtAllocator* allocator = wabt_ast_lexer_get_allocator(lexer); - parser.allocator = allocator; - parser.script.allocator = allocator; parser.error_handler = error_handler; int result = wabt_ast_parser_parse(lexer, &parser); *out_script = parser.script; |