Skip to content

Commit 99eae71

Browse files
committed
YJIT: fix leak, remove unused field on block_t
This field was never used and is now covered by jit_mov_gc_ptr.
1 parent 1cd68b9 commit 99eae71

File tree

4 files changed

+0
-6
lines changed

4 files changed

+0
-6
lines changed

ujit_codegen.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1399,8 +1399,6 @@ gen_oswb_iseq(jitstate_t* jit, ctx_t* ctx, struct rb_call_data * cd, const rb_ca
13991399
return UJIT_CANT_COMPILE;
14001400
}
14011401

1402-
rb_gc_register_mark_object((VALUE)iseq); // FIXME: intentional LEAK!
1403-
14041402
// Create a size-exit to fall back to the interpreter
14051403
uint8_t* side_exit = ujit_side_exit(jit, ctx);
14061404

ujit_core.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,6 @@ add_block_version(blockid_t blockid, block_t* block)
197197
{
198198
// By writing the new block to the iseq, the iseq now
199199
// contains new references to Ruby objects. Run write barriers.
200-
RB_OBJ_WRITTEN(iseq, Qundef, block->dependencies.iseq);
201200
RB_OBJ_WRITTEN(iseq, Qundef, block->dependencies.cc);
202201
RB_OBJ_WRITTEN(iseq, Qundef, block->dependencies.cme);
203202

ujit_core.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@ typedef struct ujit_block_version
131131
struct {
132132
VALUE cc;
133133
VALUE cme;
134-
VALUE iseq;
135134
} dependencies;
136135

137136
// Index one past the last instruction in the iseq

ujit_iface.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,6 @@ rb_ujit_iseq_mark(const struct rb_iseq_constant_body *body)
684684

685685
rb_gc_mark_movable(block->dependencies.cc);
686686
rb_gc_mark_movable(block->dependencies.cme);
687-
rb_gc_mark_movable(block->dependencies.iseq);
688687

689688
// Walk over references to objects in generated code.
690689
uint32_t *offset_element;
@@ -710,7 +709,6 @@ rb_ujit_iseq_update_references(const struct rb_iseq_constant_body *body)
710709

711710
block->dependencies.cc = rb_gc_location(block->dependencies.cc);
712711
block->dependencies.cme = rb_gc_location(block->dependencies.cme);
713-
block->dependencies.iseq = rb_gc_location(block->dependencies.iseq);
714712

715713
// Walk over references to objects in generated code.
716714
uint32_t *offset_element;

0 commit comments

Comments
 (0)