| Geth | rakudo: ugexe++ created pull request #6618: RakuAST: only decide a compile-time dispatch for a Routine |
00:19 | |
| rakudo/main: 75b29a1de7 | (Nick Logan)++ | 2 files Assert lexical lowering by the sentinel value in the QAST shape tests Previously the lex2local shape tests told a lowered declaration from a kept one by its decl alone: static meant lowered away, contvar meant kept. A static declaration also carries a real container when a frame declares its containers without cloning, so the decl alone cannot say which of the two it is. This makes the helpers look at the declared value, and a lowered declaration is the one whose value is the Rakudo::Internals::LoweredAwayLexical sentinel. |
00:25 | ||
| rakudo/main: 00ccf31f60 | (Nick Logan)++ | 7 files Share unit lexicals between BEGIN code and the mainline Previously a closure created by code run at BEGIN time, such as the phaser a variable trait adds through Variable.willdo, resolved a unit lexical to the serialized master container, while the unit frame cloned that master on first read. What the mainline saw depended on who touched the container first: a read in the mainline before the traited routine ... (20 more lines) |
|||
| rakudo/main: 99be3abe19 | (Nick Logan)++ (committed using GitHub Web editor) | 9 files Merge pull request #6616 from ugexe/ugexe/unit-lexicals-static Share unit lexicals between BEGIN code and the mainline |
|||
| rakudo/main: 4 commits pushed by (Nick Logan)++ | 00:34 | ||
| rakudo/main: aaa7d4c83c | (Nick Logan)++ (committed using GitHub Web editor) | 2 files RakuAST: only decide a compile-time dispatch for a Routine (#6618) Previously the compile-time dispatch analysis accepted any Code object bound once to the callee's lexical. The QAST stage then read the inline info attribute, which only a Routine carries, so calling a constant bound to a pointy block died with a missing attribute error. This gates the analysis on Routine, so a block callee compiles as an ordinary call. |
01:26 | ||
|
04:52
kjp left
04:56
kjp joined
12:16
Pixi` joined
12:19
Pixi left
|
|||
| Geth | rakudo/lizmat-35: 1bb6f23e75 | (Elizabeth Mattijsen)++ | src/core.c/Process.rakumod Simplify initialization of $*REPO Did not find a reason why CALLERS:: should be inspected. Commit 081e4ba0666a7900b44276f2 could not tell me either. So Remove that and prepare the code to get rid of the legacy backend handling. |
14:12 | |
| rakudo: lizmat++ created pull request #6619: Simplify initialization of $*REPO |
|||
|
14:30
timo left
15:20
timo joined
|
|||
| Geth | nqp: ugexe++ created pull request #863: Give a block reference the frame of its own compilation |
20:15 | |
| rakudo: ugexe++ created pull request #6620: RakuAST: bind a BEGIN-called routine to the running compilation |
20:17 | ||
| rakudo: ugexe++ created pull request #6621: RakuAST: gate flatten candidates on the runtime binder flag |
20:43 | ||
|
21:17
finanalyst joined
22:20
coleman left,
summerisle left,
ugexe left
22:24
coleman joined,
summerisle joined,
ugexe joined
|
|||
| Geth | rakudo: ugexe++ created pull request #6622: RakuAST: Compile the block without modifier via the without op |
22:27 | |
| nqp/main: 64400a5c44 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files Give a block reference the frame of its own compilation (#863) Previously a QAST::BVal took whatever frame the shared frame table held for the block's cuid. A compilation nested in another writes its frames into that table too, so a reference compiled ahead of the block in the outer unit resolved to the nested compilation's frame, whose index names an unrelated frame of the outer unit. A reference ahead of a ... (7 more lines) |
22:28 | ||
| rakudo: ugexe++ created pull request #6623: Bump NQP to give a block reference the frame of its own compilation |
22:30 | ||
|
23:18
sivoais left
23:19
sivoais joined
23:42
finanalyst left
|
|||
| Geth | rakudo/main: 5354259569 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/var-lowering.rakumod RakuAST: gate flatten candidates on the runtime binder flag (#6621) Previously the shape gate for a flatten candidate did not consider whether the body's code needs the runtime binder. That was safe only because every parameter shape that sets custom-args is also rejected by IMPL-FLATTEN-ARG-PARAMETER. This adds the flag to the shape gate so such a body takes the general walk instead, where the existing rule already poisons any custom-args frame, rather than depending on that overlap. |
23:50 | |