From 097d58a594984674475cd271fb206ca940e90552 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 4 Sep 2010 01:41:04 +0000 Subject: * load.c (ruby_init_ext): export for golfers. * vm_core.h (rb_iseq_eval, rb_iseq_compile_with_option): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ load.c | 2 +- vm_core.h | 13 +++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 61874afbb2..63701ae582 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Sat Sep 4 10:40:50 2010 Nobuyoshi Nakada + + * load.c (ruby_init_ext): export for golfers. + + * vm_core.h (rb_iseq_eval, rb_iseq_compile_with_option): ditto. + Sun May 23 17:29:41 2010 Yuki Sonoda (Yugui) * common.mk (capi): uses a timestamp file to get rid of diff --git a/load.c b/load.c index 11fcaa4023..f27dcb4446 100644 --- a/load.c +++ b/load.c @@ -644,7 +644,7 @@ init_ext_call(VALUE arg) return Qnil; } -void +RUBY_FUNC_EXPORTED void ruby_init_ext(const char *name, void (*init)(void)) { if (load_lock(name)) { diff --git a/vm_core.h b/vm_core.h index 7676b2ff82..1d242b5c49 100644 --- a/vm_core.h +++ b/vm_core.h @@ -483,12 +483,16 @@ typedef struct rb_thread_struct } rb_thread_t; /* iseq.c */ +#if defined __GNUC__ && __GNUC__ >= 4 +#pragma GCC visibility push(default) +#endif VALUE rb_iseq_new(NODE*, VALUE, VALUE, VALUE, VALUE, VALUE); VALUE rb_iseq_new_top(NODE *node, VALUE name, VALUE filename, VALUE filepath, VALUE parent); VALUE rb_iseq_new_main(NODE *node, VALUE filename, VALUE filepath); VALUE rb_iseq_new_with_bopt(NODE*, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE); VALUE rb_iseq_new_with_opt(NODE*, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE, const rb_compile_option_t*); VALUE rb_iseq_compile(VALUE src, VALUE file, VALUE line); +VALUE rb_iseq_compile_with_option(VALUE src, VALUE file, VALUE filepath, VALUE line, VALUE opt); VALUE rb_iseq_disasm(VALUE self); int rb_iseq_disasm_insn(VALUE str, VALUE *iseqval, size_t pos, rb_iseq_t *iseq, VALUE child); const char *ruby_node_name(int node); @@ -498,6 +502,9 @@ RUBY_EXTERN VALUE rb_cISeq; RUBY_EXTERN VALUE rb_cRubyVM; RUBY_EXTERN VALUE rb_cEnv; RUBY_EXTERN VALUE rb_mRubyVMFrozenCore; +#if defined __GNUC__ && __GNUC__ >= 4 +#pragma GCC visibility pop +#endif /* each thread has this size stack : 128KB */ #define RUBY_VM_THREAD_STACK_SIZE (128 * 1024) @@ -621,10 +628,16 @@ extern void rb_vmdebug_stack_dump_raw(rb_thread_t *, rb_control_frame_t *); void rb_vm_bugreport(void); /* functions about thread/vm execution */ +#if defined __GNUC__ && __GNUC__ >= 4 +#pragma GCC visibility push(default) +#endif VALUE rb_iseq_eval(VALUE iseqval); VALUE rb_iseq_eval_main(VALUE iseqval); void rb_enable_interrupt(void); void rb_disable_interrupt(void); +#if defined __GNUC__ && __GNUC__ >= 4 +#pragma GCC visibility pop +#endif int rb_thread_method_id_and_class(rb_thread_t *th, ID *idp, VALUE *klassp); VALUE rb_vm_invoke_proc(rb_thread_t *th, rb_proc_t *proc, VALUE self, -- cgit v1.2.3