summaryrefslogtreecommitdiff
path: root/prism_compile.c
AgeCommit message (Collapse)Author
2024-05-17[PRISM] Emit END event for modulesKevin Newton
2024-05-17[PRISM] Enable TestSyntax#test_error_message_encodingKevin Newton
2024-05-10[PRISM] Handle operator->binary_operator renameKevin Newton
2024-05-08[PRISM] Use correct warning encodingKevin Newton
2024-05-06[PRISM] Support for compiling ractor constant path writesKevin Newton
2024-05-06[PRISM] Support for compiling ractor constant writesKevin Newton
2024-05-03[PRISM] Use new constant path structureKevin Newton
2024-05-02Mark the first string element of a regexp as binary if US-ASCIIKevin Newton
2024-05-02[PRISM] Disallow redundant returns from being line eventsKevin Newton
2024-05-02[PRISM] Fix param names for repeated splatsKevin Newton
2024-05-02Fixed missing support for ↵jinroq
https://github.com/ruby/ruby/commit/d75bbba255e086d625429d5a1311cc4b4396c296.
2024-05-01[PRISM] Correct encoding for interpolated string literals in regexpKevin Newton
2024-05-01[PRISM] Properly precheck regexp for encoding issuesKevin Newton
2024-05-01[PRISM] Support interpolated regexp with encoding modifiersKevin Newton
2024-05-01Fix xfreeNobuyoshi Nakada
Pointers allocated with `ruby_xmalloc` (`ALLOC` macro) must be freed with `ruby_xfree`.
2024-04-29[PRISM] Remove false positive compile warnings for branch coverageKevin Newton
2024-04-26[PRISM] Use redundant return flagKevin Newton
2024-04-26[PRISM] Fix up if condition branch coverage locationKevin Newton
2024-04-26[PRISM] Fix up branch coverage for &. with blockKevin Newton
2024-04-26[PRISM] Enable branch coverage for if/unless conditionalsKevin Newton
2024-04-26[PRISM] Enable branch coverage for while/until loopsKevin Newton
2024-04-26[PRISM] Enable branch coverage for case pattern matchingKevin Newton
2024-04-26[PRISM] Enable branch coverage for caseKevin Newton
2024-04-26[PRISM] Enable branch coverage for &.Kevin Newton
2024-04-25[PRISM] Raise LoadError when file cannot be readKevin Newton
2024-04-12[PRISM] Emit parse warnings before raising syntax errorsKevin Newton
2024-04-11[PRISM] Suppress compiler warningsTakashi Kokubun
../prism_compile.c: In function ‘pm_compile_node’: ../compile.c:583:24: warning: ‘retry_end_l’ may be used uninitialized in this function [-Wmaybe-uninitialized] 583 | anchor->last->next = elem; | ~~~~~~~~~~~~~~~~~~~^~~~~~ In file included from ../compile.c:14256: ../prism_compile.c:5796:16: note: ‘retry_end_l’ was declared here 5796 | LABEL *retry_end_l; | ^~~~~~~~~~~ ../compile.c:255:42: warning: ‘retry_label’ may be used uninitialized in this function [-Wmaybe-uninitialized] 255 | #define LABEL_REF(label) ((label)->refcnt++) | ^~ In file included from ../compile.c:14256: ../prism_compile.c:5795:16: note: ‘retry_label’ was declared here 5795 | LABEL *retry_label; | ^~~~~~~~~~~ ../prism_compile.c:5919:52: warning: ‘previous_block’ may be used uninitialized in this function [-Wmaybe-uninitialized] 5919 | ISEQ_COMPILE_DATA(iseq)->current_block = previous_block; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
2024-04-11[PRISM] Enable more passing testsKevin Newton
2024-04-11[PRISM] Fix break in super blockKevin Newton
2024-04-11[PRISM] Fix flags on local variable operator write nodesKevin Newton
2024-04-11prism_compile.c: use rb_enc_interned_str to reduce allocationsJean Boussier
The `rb_fstring(rb_enc_str_new())` pattern is inefficient because: - It passes a mutable string to `rb_fstring` so if it has to be interned it will first be duped. - It an equivalent interned string already exists, we allocated the string for nothing. With `rb_enc_interned_str` we either directly get the pre-existing string with 0 allocations, or efficiently directly intern the one we create without first duping it.
2024-04-11prism_compile.c: X_STRING should be frozenJean Boussier
The backtick method recieves a frozen string unless it is interpolated. Otherwise the string held in the ISeq could be mutated by a custom backtick method.
2024-04-04[PRISM] Ensure unfrozen when interpolation is present in string literalKevin Newton
2024-04-04[PRISM] Add CLASS and END tracepoint eventsKevin Newton
2024-04-04[PRISM] Fix location of ensure iseqsKevin Newton
2024-04-04[PRISM] Remove trailing spacesKevin Newton
2024-04-04[PRISM] Consistent style in prism_compile.cKevin Newton
2024-04-04[PRISM] Remove pm_line_node_t, consolidate all line number handlingKevin Newton
2024-04-04[PRISM] Finish removing dummy_line_node usage in pm_compile_nodeKevin Newton
2024-04-04[PRISM] Remove dummy_line_node creation in pm_compile_nodeKevin Newton
2024-04-04[PRISM] Remove specialized macros that used dummy_line_nodeKevin Newton
2024-04-04[PRISM] Remove dummy_line_node usage from get/set local instructionsKevin Newton
2024-04-04[PRISM] Remove dummy_line_node usage from remaining nodesKevin Newton
2024-04-04[PRISM] Remove dummy_line_node usage from ensure and flip flop nodesKevin Newton
2024-04-04[PRISM] Remove dummy_line_node usage from false and else nodeKevin Newton
2024-04-04[PRISM] Remove dummy_line_node usage from embedded nodesKevin Newton
2024-04-04[PRISM] Remove dummy_line_node usage from class nodesKevin Newton
2024-04-04[PRISM] Remove dummy_line_node usage from case nodesKevin Newton
2024-04-04[PRISM] Remove dummy_line_node usage from defined expressionsKevin Newton
2024-04-04[PRISM] Remove dummy_line_node usage from constant nodesKevin Newton