Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-02-28 | [PRISM] Handle implicit flip-flop bounds checking against $. | Kevin Newton | |
2024-02-28 | [PRISM] Only look up encoding once per file | Kevin Newton | |
2024-02-28 | [PRISM] Do not load -r until we check if main script can be read | Kevin Newton | |
2024-02-22 | [PRISM] Integrate new number parsing | Kevin Newton | |
2024-02-21 | [PRISM] Support it local variable | Kevin Newton | |
2024-02-21 | [PRISM] Remove more dummy line usage | Kevin Newton | |
* or * optional parameter * parentheses * pre execution * post execution * range * rational * redo | |||
2024-02-21 | [PRISM] Remove more dummy line usage | Kevin Newton | |
* if * unless | |||
2024-02-21 | [PRISM] Remove more dummy line usage | Kevin Newton | |
* regular expressions * rescue * rescue modifier | |||
2024-02-21 | [PRISM] Remove more dummy line usage | Kevin Newton | |
* returns * retry * self * singleton class | |||
2024-02-21 | [PRISM] Remove more dummy line usage | Kevin Newton | |
* source files * source encodings * source lines | |||
2024-02-21 | [PRISM] Remove more dummy line usage | Kevin Newton | |
* yields * xstrings * while * until * undef * true * symbol * super * string * statements * splat | |||
2024-02-16 | [PRISM] GC guard strings | Peter Zhu | |
Using RSTRING_PTR can cause the string object to not exist on the stack, which could cause it to be GC'd or be moved by GC compaction. This can cause RSTRING_PTR to point to the incorrect location if the string is embedded and moved by GC compaction. Fixes ruby/prism#2442. | |||
2024-02-14 | [PRISM] Correctly hook up line numbers for eval | Kevin Newton | |
2024-02-14 | [PRISM] Set eval encoding based on string encoding | Kevin Newton | |
2024-02-13 | [PRISM] yield is invalid inside eval | Matt Valentine-House | |
2024-02-13 | [PRISM] Don't rb_bug if redo/break/next used during eval | Matt Valentine-House | |
2024-02-13 | [PRISM] Replace assert with RUBY_ASSERT | Peter Zhu | |
assert does not print the bug report, only the file and line number of the assertion that failed. RUBY_ASSERT prints the full bug report, which makes it much easier to debug. | |||
2024-02-13 | [PRISM] Replace assert with rb_bug | Peter Zhu | |
2024-02-13 | [PRISM] Refactors to use more locations | Kevin Newton | |
2024-02-13 | [PRISM] Stop passing parser around so much | Kevin Newton | |
2024-02-13 | [PRISM] Switch to locations for PM_ALIAS_GLOBAL_VARIABLE_NODE, ↵ | Kevin Newton | |
PM_ALIAS_METHOD_NODE, and PM_AND_NODE | |||
2024-02-13 | [PRISM] Brace style in prism_compile.c | Kevin Newton | |
2024-02-13 | [PRISM] Fix lambda start column number | Nikita Vasilevsky | |
Co-Authored-By: Kevin Newton <[email protected]> | |||
2024-02-13 | [PRISM] Combine hash compilation between hashes and keywords | Kevin Newton | |
2024-02-13 | [PRISM] Fix compilation of hash with multiple merges | Kevin Newton | |
2024-02-12 | [PRISM] Check full lines for invalid UTF-8 | Kevin Newton | |
2024-02-11 | [PRISM] Fix error handling in `pm_parse_prism` | eileencodes | |
Following changes made in ruby/prism#2365 this implements error handling for when `pm_string_mapped_init` returns `false`. Related: ruby/prism#2207 | |||
2024-02-09 | Split line_no and node_id before new_insn_body | Kevin Newton | |
Before this commit, there were many places where we had to generate dummy line nodes to hold both the line number and the node id that would then immediately get pulled out from the created node. Now we pass them explicitly so that we don't have to generate these nodes. This makes a clearer line between the parser and compiler, and also makes it easier to generate instructions when we don't have a specific node to tie them to. As such, it removes almost every single place where we needed to previously generate dummy nodes. This also makes it easier for the prism compiler, because now we can pass in line number and node id instead of trying to generate dummy nodes for every instruction that we compile. | |||
2024-02-09 | [PRISM] Fix flaky memory in scope nodes | Kevin Newton | |
2024-02-09 | [PRISM] Implement opt_case_dispatch | Kevin Newton | |
2024-02-09 | [PRISM] Refactor case nodes for only one pass through when | Kevin Newton | |
2024-02-08 | [PRISM] Compile constant paths with optimizations | Kevin Newton | |
2024-02-08 | [PRISM] Compile constant reads using opt_getconstant_path | Kevin Newton | |
2024-02-08 | [PRISM] Refactor call opts to only check for specific ids | Kevin Newton | |
2024-02-06 | [PRISM] Use block node location when building block iseq | Nikita Vasilevsky | |
Co-Authored-By: Kevin Newton <[email protected]> | |||
2024-02-06 | [PRISM] Do not show source snippets if non-UTF-8 | Kevin Newton | |
2024-02-06 | [PRISM] Fix fsl coming from file | Kevin Newton | |
2024-02-06 | [PRISM] Fix deconstruct index for posts | Kevin Newton | |
2024-02-06 | [PRISM] Set correct call target flags | Kevin Newton | |
2024-02-06 | [PRISM] Handle match write popped | Kevin Newton | |
2024-02-06 | [PRISM] Correctly handle popped attr write | Kevin Newton | |
2024-02-06 | [PRISM] Handle empty interpolated statements at start of string | Kevin Newton | |
2024-02-06 | [PRISM] Correct spec for defined? parentheses | Kevin Newton | |
2024-02-05 | [PRISM] Raise ArgumentError for invalid encoding | Kevin Newton | |
2024-02-05 | [PRISM] Fix method return line | Kevin Newton | |
2024-02-05 | [PRISM] Fix pattern matching array with implicit rest | Kevin Newton | |
2024-02-05 | [PRISM] Fix up idUMinus optimization | Kevin Newton | |
2024-02-05 | [PRISM] Fix encoding of interpolated strings | Peter Zhu | |
Fixes ruby/prism#2313. | |||
2024-02-05 | [PRISM] Implement opt_aset_with | Jenny Shen | |
Part of ruby/prism#2231 Co-authored-by: Adrianna Chang <[email protected]> Co-authored-by: Peter Zhu <[email protected]> | |||
2024-02-05 | [PRISM] Refactor PM_CALL_NODE conditional | Jenny Shen | |
Co-authored-by: Peter Zhu <[email protected]> |