| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2023-10-30 | More accurate functions documentation | Matt Valentine-House | |
| 2023-10-26 | Integrate new prism multi target names | Kevin Newton | |
| 2023-10-26 | [PRISM] Implement regex encoding flags | eileencodes | |
| Added the correct encoding to the allocated regex. This required making a new method to set the encoding and pass that to `rb_enc_reg_new` instead of `rb_reg_new`. The former `rb_reg_new` would set the encoding to ASCII8BIT regardless of encoding flag. | |||
| 2023-10-26 | [PRISM] Cleanup macro usage for common ADD_INSN | Jemma Issroff | |
| 2023-10-26 | teach prism define to compile basic types | HParker | |
| 2023-10-26 | [PRISM] Implement compilation for ConstantPathAndWriteNode | Jemma Issroff | |
| 2023-10-26 | [PRISM] Implement compilation for ConstantPathOrWriteNode | Jemma Issroff | |
| 2023-10-26 | [PRISM] Implemented ConstantPathOperatorWriteNode | Jemma Issroff | |
| 2023-10-26 | [PRISM] Implement compilation for CaseNode | Jemma Issroff | |
| 2023-10-26 | [PRISM] Implement CallOperatorWriteNode | Jemma Issroff | |
| 2023-10-26 | [PRISM] Implement compilation for CallOrWriteNode | Jemma Issroff | |
| 2023-10-26 | [PRISM] Extract helper to use for CallOrWriteNode | Jemma Issroff | |
| 2023-10-26 | [PRISM] Implemented compilation for CallAndWriteNode | Jemma Issroff | |
| 2023-10-25 | [PRISM] ScopeNode doesn't need void * anymore | Jemma Issroff | |
| 2023-10-25 | [PRISM] Move pm_scope_node_init to prism_compile.c | Jemma Issroff | |
| pm_scope_node_init is only used for CRuby, so should not live in the ruby/prism repo. We will merge the changes here first so they're not breaking, and will then remove from ruby/prism | |||
| 2023-10-25 | [PRISM] Add PM_POP macro, cleanup missing macro usage | Jemma Issroff | |
| 2023-10-25 | [PRISM] Toggled accepts_no_kwarg to true on NoKeywordsParameterNode | Jemma Issroff | |
| 2023-10-25 | [PRISM] Add tests for ParametersNode | Jemma Issroff | |
| 2023-10-25 | [PRISM] Implement NoKeywordsParameterNode | Jemma Issroff | |
| 2023-10-23 | [PRISM] Implement compilation for PreExecutionNodes | Jemma Issroff | |
| 2023-10-23 | [PRISM] Add PM_PUTNIL macro | Jemma Issroff | |
| 2023-10-23 | [PRISM] Fix AssocSplat node | Jemma Issroff | |
| This commit emits the correct instructions for hashes which have both AssocSplat and Assoc nodes contained within them | |||
| 2023-10-23 | [PRISM] Fix __LINE__ to be 1-indexed by default | Jemma Issroff | |
| 2023-10-23 | [PRISM] Fix compilation for IfNode, UnlessNode | Jemma Issroff | |
| This properly implements the branch condition for FlipFlopNodes on If / UnlessNodes, and also fixes the bug in UnlessNodes | |||
| 2023-10-20 | [PRISM] Setup encodings in prism compiler | Jemma Issroff | |
| 2023-10-20 | [PRISM] Fixed StringConcatNode, uncommented tests | Jemma Issroff | |
| 2023-10-20 | [Bug #19966] [PRISM] Fix singleton method definition | Nobuyoshi Nakada | |
| 2023-10-18 | Address PR comments | Jemma Issroff | |
| 2023-10-18 | Fixed mistyping | Jemma Issroff | |
| 2023-10-18 | Remove pm_compile_context_t, move the context onto ScopeNode | Jemma Issroff | |
| We changed ScopeNodes to point to their parent (previous) ScopeNodes. Accordingly, we can remove pm_compile_context_t, and store all necessary context in ScopeNodes, allowing us to access locals from outer scopes. | |||
| 2023-10-16 | [PRISM] Compile AliasGlobalVariableNode (#8675) | Jemma Issroff | |
| 2023-10-16 | [PRISM] Fix more bugs in the compiler (#8658) | Jemma Issroff | |
| * Fixed ConstantPathWriteNode * FIxed FlipFlopNode | |||
| 2023-10-16 | [PRISM] prevent underflow on popped splatarray (#8657) | Adam Hess | |
| prevent underflow on popped splatarray This only emits the splat array node when not popped | |||
| 2023-10-13 | [PRISM] Compile fixes (#8644) | Jemma Issroff | |
| * Fix compiling UndefNodes * Fix compiling super on ClassNode * Fix compile popped for ModuleNode * Add checks for NULL nodes * Only add newhash if not popped | |||
| 2023-10-04 | [Prism] Fix IfNode and ElseNode | Matt Valentine-House | |
| ElseNode looks to have been implemented at the same time as IfNode, but was resulting in a stack underflow error. The following is from the test code ``` if foo bar end ``` ``` ❯ make run compiling compile.c linking miniruby ./miniruby -I./lib -I. -I.ext/common -r./arm64-darwin22-fake ./test.rb CRUBY: ************************************************** == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(2,19)> 0000 putself ( 2)[Li] 0001 opt_send_without_block <calldata!mid:foo, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0003 branchunless 9 0005 putself 0006 opt_send_without_block <calldata!mid:bar, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0008 pop 0009 putobject_INT2FIX_1_ 0010 leave PRISM: ************************************************** -- raw disasm-------- 0000 putself ( 2) 0001 send <calldata:foo, 0>, nil ( 2) 0004 branchunless <L001> ( 2) 0006 jump <L000> ( 2) <L000> [sp: 0] * 0008 pop ( 1) 0009 putself ( 2) 0010 send <calldata:bar, 0>, nil ( 2) 0013 pop ( 2) 0014 jump <L002> ( 1) <L001> [sp: 0] <L002> [sp: -1] 0016 putobject 1 ( 2) 0018 leave ( 1) --------------------- <compiled>: <compiled>:1: argument stack underflow (-1) (SyntaxError) make: *** [run] Error 1 ``` This commit fixes the stack underflow error for both IfNode and ElseNode and introduces tests for them. | |||
| 2023-10-02 | Adopt prism CallNode#name changes | Benoit Daloze | |
| 2023-09-29 | Move more things through pm_static_literal_value | Kevin Newton | |
| 2023-09-29 | Handle static array nodes | Kevin Newton | |
| 2023-09-29 | Compile implicit nodes | Kevin Newton | |
| 2023-09-29 | Fix up static hash compilation | Kevin Newton | |
| 2023-09-28 | More documentation for pattern matching compilation | Kevin Newton | |
| 2023-09-28 | Support if and unless guards on patterns | Kevin Newton | |
| 2023-09-28 | Support local variable targeting in pattern matching | Kevin Newton | |
| 2023-09-28 | Support the AlternationPatternNode | Kevin Newton | |
| 2023-09-28 | Fill in other missing pattern matching expression types | Kevin Newton | |
| 2023-09-28 | Compile basic pattern matching expressions | Kevin Newton | |
| 2023-09-28 | Consolidate regexp options, interpolated match last line | Kevin Newton | |
| 2023-09-29 | Fix up indentation [ci skip] | Nobuyoshi Nakada | |
| 2023-09-28 | [YARP] Implement MatchWriteNode | Matt Valentine-House | |
| 2023-09-28 | Fix up indentation in prism_compile.c | Kevin Newton | |
