[前][次][番号順一覧][スレッド一覧]

ruby-changes:68688

From: Alan <ko1@a...>
Date: Thu, 21 Oct 2021 08:12:25 +0900 (JST)
Subject: [ruby-changes:68688] 68b0f69a0d (master): Make a bunch of functions compilation unit local

https://git.ruby-lang.org/ruby.git/commit/?id=68b0f69a0d

From 68b0f69a0db99bad754d5d0387922830b6bd40b9 Mon Sep 17 00:00:00 2001
From: Alan Wu <XrXr@u...>
Date: Thu, 29 Oct 2020 17:40:58 -0400
Subject: Make a bunch of functions compilation unit local

---
 ujit_compile.c | 44 +++++++++++++++++++++++++-------------------
 1 file changed, 25 insertions(+), 19 deletions(-)

diff --git a/ujit_compile.c b/ujit_compile.c
index 4d5224e61f..6a2863c1c8 100644
--- a/ujit_compile.c
+++ b/ujit_compile.c
@@ -241,14 +241,16 @@ opcode_at_pc(const rb_iseq_t *iseq, const VALUE *pc) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L241
 }
 
 // Get the current instruction opcode from the context object
-int ctx_get_opcode(ctx_t *ctx)
+static int
+ctx_get_opcode(ctx_t *ctx)
 {
     return opcode_at_pc(ctx->iseq, ctx->pc);
 }
 
 
 // Get an instruction argument from the context object
-VALUE ctx_get_arg(ctx_t* ctx, size_t arg_idx)
+static VALUE
+ctx_get_arg(ctx_t* ctx, size_t arg_idx)
 {
     assert (arg_idx + 1 < insn_len(ctx_get_opcode(ctx)));
     return *(ctx->pc + arg_idx + 1);
@@ -257,7 +259,8 @@ VALUE ctx_get_arg(ctx_t* ctx, size_t arg_idx) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L259
 /*
 Get an operand for the adjusted stack pointer address
 */
-x86opnd_t ctx_sp_opnd(ctx_t* ctx, int32_t offset_bytes)
+static x86opnd_t
+ctx_sp_opnd(ctx_t* ctx, int32_t offset_bytes)
 {
     int32_t offset = (ctx->stack_diff) * 8 + offset_bytes;
     return mem_opnd(64, REG_SP, offset);
@@ -267,7 +270,8 @@ x86opnd_t ctx_sp_opnd(ctx_t* ctx, int32_t offset_bytes) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L270
 Make space on the stack for N values
 Return a pointer to the new stack top
 */
-x86opnd_t ctx_stack_push(ctx_t* ctx, size_t n)
+static x86opnd_t
+ctx_stack_push(ctx_t* ctx, size_t n)
 {
     ctx->stack_diff += n;
 
@@ -280,7 +284,8 @@ x86opnd_t ctx_stack_push(ctx_t* ctx, size_t n) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L284
 Pop N values off the stack
 Return a pointer to the stack top before the pop operation
 */
-x86opnd_t ctx_stack_pop(ctx_t* ctx, size_t n)
+static x86opnd_t
+ctx_stack_pop(ctx_t* ctx, size_t n)
 {
     // SP points just above the topmost value
     int32_t offset = (ctx->stack_diff - 1) * 8;
@@ -291,7 +296,8 @@ x86opnd_t ctx_stack_pop(ctx_t* ctx, size_t n) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L296
     return top;
 }
 
-x86opnd_t ctx_stack_opnd(ctx_t* ctx, int32_t idx)
+static x86opnd_t
+ctx_stack_opnd(ctx_t* ctx, int32_t idx)
 {
     // SP points just above the topmost value
     int32_t offset = (ctx->stack_diff - 1 - idx) * 8;
@@ -334,7 +340,7 @@ ujit_gen_exit(codeblock_t* cb, ctx_t* ctx, VALUE* exit_pc) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L340
 /**
 Generate an out-of-line exit to return to the interpreter
 */
-uint8_t*
+static uint8_t *
 ujit_side_exit(codeblock_t* cb, ctx_t* ctx, VALUE* exit_pc)
 {
     uint8_t* code_ptr = cb_get_ptr(cb, cb->write_pos);
@@ -465,7 +471,7 @@ ujit_compile_insn(const rb_iseq_t *iseq, unsigned int insn_idx, unsigned int *ne https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L471
     return code_ptr;
 }
 
-bool
+static bool
 gen_dup(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     x86opnd_t dup_val = ctx_stack_pop(ctx, 1);
@@ -477,14 +483,14 @@ gen_dup(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L483
     return true;
 }
 
-bool
+static bool
 gen_nop(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     // Do nothing
     return true;
 }
 
-bool
+static bool
 gen_pop(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     // Decrement SP
@@ -492,7 +498,7 @@ gen_pop(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L498
     return true;
 }
 
-bool
+static bool
 gen_putnil(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     // Write constant at SP
@@ -501,7 +507,7 @@ gen_putnil(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L507
     return true;
 }
 
-bool
+static bool
 gen_putobject(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     // Load the argument from the bytecode sequence.
@@ -517,7 +523,7 @@ gen_putobject(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L523
     return true;
 }
 
-bool
+static bool
 gen_putobject_int2fix(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     int opcode = ctx_get_opcode(ctx);
@@ -530,7 +536,7 @@ gen_putobject_int2fix(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L536
     return true;
 }
 
-bool
+static bool
 gen_putself(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     // Load self from CFP
@@ -543,7 +549,7 @@ gen_putself(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L549
     return true;
 }
 
-bool
+static bool
 gen_getlocal_wc0(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     // Load environment pointer EP from CFP
@@ -563,7 +569,7 @@ gen_getlocal_wc0(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L569
     return true;
 }
 
-bool
+static bool
 gen_setlocal_wc0(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     /*
@@ -604,7 +610,7 @@ gen_setlocal_wc0(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L610
     return true;
 }
 
-bool
+static bool
 gen_opt_minus(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     // Create a size-exit to fall back to the interpreter
@@ -667,7 +673,7 @@ check_cfunc_dispatch(VALUE receiver, struct rb_call_data *cd, void *callee, rb_c https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L673
 
 MJIT_FUNC_EXPORTED VALUE rb_hash_has_key(VALUE hash, VALUE key);
 
-bool
+static bool
 cfunc_needs_frame(const rb_method_cfunc_t *cfunc)
 {
     void* fptr = (void*)cfunc->func;
@@ -680,7 +686,7 @@ cfunc_needs_frame(const rb_method_cfunc_t *cfunc) https://github.com/ruby/ruby/blob/trunk/ujit_compile.c#L686
     );
 }
 
-bool
+static bool
 gen_opt_send_without_block(codeblock_t* cb, codeblock_t* ocb, ctx_t* ctx)
 {
     // Relevant definitions:
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]