From bfb3f8627cff2c582c8b1a688ce73a2ce680f4ce Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 5 Mar 2021 17:20:57 -0600 Subject: [PATCH] SIMD and use package in polyproc bugfixes --- bin/onyx | Bin 348400 -> 348400 bytes core/builtin.onyx | 3 +-- docs/bugs | 2 +- src/onyxparser.c | 4 ++-- src/onyxwasm.c | 22 +++++++++++----------- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/bin/onyx b/bin/onyx index 19ad013c8390694dc444b5680566182a76489844..7e78bd707d604bdd9e6d4336f8158b9eb5efc68f 100755 GIT binary patch delta 47124 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�yxOPK`fbgtz44h>Ye#KIZue@fuXwfFsl|G< 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Ź##_x^wiu$u4(rd}QB zTbssBE!wxcitrqL~E>vtVHc{0hppqCTVi*1hpQLGO z_-rsDe7t5OwG4U&(I3yEV+UDJ_PPd@Kg1e&bwV?$2kWV6CQUoUdb8vcRGG(u>tU?k z?xA^y*+NYJDj#7(aHeU+5jF|SvcX4LXDp4U@ypM2pI@9P_85yQnT*t6qrxQH5UE8g zkFlT>Z=mshxLEq3Iv3O4i`pwsd9qSNu_`yk6)n_}mlub$P*lx%%0?};o&$tZdQie~ z_NP>Xikx6|*oQ;Z`ULC57967Uz2x#b9BDpj7XTMYG~nesxCCVA%RoOu^&dUo;ghtF>~ z4WEh5ayphJ;~Qq!_b+~qHDdSoQr~m% zv9)`t?h96oQf@MDx^WIEqs(4@N2Jq}JtEa5(TYc`N&(&t1;#tiqOgT{>pbS#zI*t+ z)#&F7n5u7~=ZfWux9MlZj}hu3g+jqx=tgJUDbtZYPLiUE!daSid0cT=ig;c z?AtC%y2xU=t6XI5u+i}RBAe*mALk%Z!lPEll35-~;R%1S=~6VgUczGY`%G$ciM3!W zGs*1?3!(pAV$n_!nVe5ra1Kp43wN*iKQuDx!pm4+C{BkiV-MmddVQJg!#c;dD=iL_+IrZ8mdOMizJYuDNA9KB*v~%N~F0VGl1`kd!c8Z|T9kQMdu8
    9A~1iC0;O->G9?^A0{gu;pfa9S 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

    9B+xmZtWrS+6*tk(RgZUi2HCL>b5a!-@PSx!A zMcQ{k4Ga$JZX|lzZlsz-UzCY*h4msmKSNBth*V05Ar)wVzPmz7xx_M}vHrS?>W9>2 z!A}UMzG_JMT0V-wTM9>tyr0xj!6~m9(FaU57nsqpqW#ahnsGntSx)3CIP7ghn2w|W zePIfxiq%poSrkdBj17j=OJ*eov@%Kz6V`gN%n|+T5zZBfTqTAT8^WKOS-xQkTS^T6 z3Ct${N=$xjxxr62Gv9CWQ$?lBJe8vjsC0FmA$2s{NFChTXU855YGD5ym!k8(HOK7; zGum<1NX8Cd{cpI*j}$W-Xz>b>N9y3(XN}Ykwlk!%OsN#{InmhtVuRYx7PeYk<5gd` zg{^V#_p0-))|wS#?190Se;P$(nME|Tu~<6D7A{y|A7rJ7BCGvboTn$+?B%p~OU3?% z9PkvbI22m7PqA5Miv6m6B-~)T{V}H3Wp;ZY6X-g-eF|1>*#a5IE^&Vg`?a*l3tR#h zTj<#p{mtHw{&DheB+M04{ZJ_9MMI%`jLKLJN`-9gEFRoNl7`PNTI$))Y-xWsxb_)C z*k)M3(jmamK1Z}~ML8K_PAmH;nk{{x@r|Yo-zJn@V10_LuP~ z?)DD*ZPJWW+fxYsrrMKfjcC~cJyOIC9mqS(%-fgtC+0bsHd4fOw2#6pSsk%?r05?2 zqX9VWNF!`?EI3Q{t7*_QRAiFVIf!zs*o>qiLc^-Hhy$ zMJ3TBIvZ#Yv^hq&TLszgvszQ#bAs&~tyH{6S5$S08@iHpjr)bJSSQ%B%E)ZAc^8!R zFfvOO`$FvfY?f)l7HTg;*~(DaGj0|=yV*wuyA~U%0!$Tp^fFS_hy~qry+7|pVn=(? zp}YMVY_+;O4eb(B!*pBC3$s6FbHs{sVdU&`=k>66@57 rawptr do return raw_resize(context.alloc cfree :: (ptr: rawptr) do raw_free(context.allocator, ptr); #if build_opts.Runtime != build_opts.Runtime_Custom { - use package core.intrinsics.wasm { __initialize } - new :: ($T: type_expr, allocator := context.allocator, initialize := true) -> ^T { res := cast(^T) raw_alloc(allocator, sizeof T); // @Robustness: This should be a '#if' when those are added in procedures because // otherwise the __initialize intrinsic is going to be generated no matter what. // This could be a problem if the type is not something that can be initialized. + use package core.intrinsics.wasm { __initialize } if initialize do __initialize(res); return res; diff --git a/docs/bugs b/docs/bugs index ebd71fb7..94500beb 100644 --- a/docs/bugs +++ b/docs/bugs @@ -4,7 +4,7 @@ List of known bugs: enum { Foo, Bar, Baz }; enum { Foo; Bar; Baz }; -[ ] Using a package in the middle of a procedures removes all remaining statements in the procedure. +[X] Using a package in the middle of a procedures removes all remaining statements in the procedure. This is mostly likely due to the changes made with use package statements being treated as entities now. use_package_breaking :: () { diff --git a/src/onyxparser.c b/src/onyxparser.c index 7baaf1c5..e3e8f70f 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -1207,7 +1207,7 @@ static AstNode* parse_use_stmt(OnyxParser* parser) { } ENTITY_SUBMIT(upack); - return (AstNode *) upack; + return NULL; } else { AstUse* use_node = make_node(AstUse, Ast_Kind_Use); @@ -2238,7 +2238,7 @@ static void parse_top_level_statement(OnyxParser* parser) { switch ((u16) parser->curr->type) { case Token_Type_Keyword_Use: { AstNode* use_node = parse_use_stmt(parser); - ENTITY_SUBMIT(use_node); + if (use_node) ENTITY_SUBMIT(use_node); return; } diff --git a/src/onyxwasm.c b/src/onyxwasm.c index 2f9dc402..7dc355de 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -1318,7 +1318,7 @@ EMIT_FUNC(call, AstCall* call) { } #define SIMD_EXTRACT_LANE_INSTR(instr, arg_arr) \ - emit_expression(mod, &code, arg_arr[1]->value);\ + emit_expression(mod, &code, arg_arr[0]->value);\ if (arg_arr[1]->value->kind != Ast_Kind_NumLit) { \ onyx_report_error(arg_arr[1]->token->pos, "SIMD lane instructions expect a compile time lane number."); \ *pcode = code; \ @@ -1327,16 +1327,16 @@ EMIT_FUNC(call, AstCall* call) { WID(instr, (u8) ((AstNumLit *) arg_arr[1]->value)->value.i); #define SIMD_REPLACE_LANE_INSTR(instr, arg_arr) { \ - emit_expression(mod, &code, arg_arr[1]->value);\ - if (arg_arr[1]->value->kind != Ast_Kind_NumLit) { \ - onyx_report_error(arg_arr[1]->token->pos, "SIMD lane instructions expect a compile time lane number."); \ - *pcode = code; \ - return; \ - } \ - u8 lane = (u8) ((AstNumLit *) arg_arr[1]->value)->value.i; \ - emit_expression(mod, &code, arg_arr[2]->value); \ - WID(instr, lane); \ - } + emit_expression(mod, &code, arg_arr[0]->value);\ + if (arg_arr[1]->value->kind != Ast_Kind_NumLit) { \ + onyx_report_error(arg_arr[1]->token->pos, "SIMD lane instructions expect a compile time lane number."); \ + *pcode = code; \ + return; \ + } \ + u8 lane = (u8) ((AstNumLit *) arg_arr[1]->value)->value.i; \ + emit_expression(mod, &code, arg_arr[2]->value); \ + WID(instr, lane); \ +} EMIT_FUNC(intrinsic_call, AstCall* call) { -- 2.25.1