summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dln.c17
-rw-r--r--ext/-test-/abi/abi.c11
-rw-r--r--ext/-test-/abi/extconf.rb3
-rw-r--r--include/ruby/internal/abi.h45
-rw-r--r--include/ruby/ruby.h1
-rw-r--r--test/-ext-/test_abi.rb43
-rwxr-xr-xtool/mkconfig.rb9
-rw-r--r--tool/transform_mjit_header.rb1
8 files changed, 130 insertions, 0 deletions
@@ -426,12 +426,29 @@ dln_sym(void *handle, const char *symbol)
}
#endif
void *
dln_load(const char *file)
{
#if defined(_WIN32) || defined(USE_DLN_DLOPEN)
void *handle = dln_open(file);
char *init_fct_name;
init_funcname(&init_fct_name, file);
void (*init_fct)(void) = (void(*)(void))dln_sym(handle, init_fct_name);
@@ -0,0 +1,11 @@
@@ -0,0 +1,3 @@
@@ -0,0 +1,45 @@
@@ -23,6 +23,7 @@
#include <stdarg.h>
#include "defines.h"
#include "ruby/internal/anyargs.h"
#include "ruby/internal/arithmetic.h"
#include "ruby/internal/core.h"
@@ -0,0 +1,43 @@
@@ -229,6 +229,15 @@ end
print " CONFIG[#{v.dump}] = #{(versions[v]||vars[v]).dump}\n"
end
dest = drive ? %r'= "(?!\$[\(\{])(?i:[a-z]:)' : %r'= "(?!\$[\(\{])'
v_disabled = {}
v_others.collect! do |x|
@@ -41,6 +41,7 @@ module MJITHeader
IGNORED_FUNCTIONS = [
'rb_vm_search_method_slowpath', # This increases the time to compile when inlined. So we use it as external function.
'rb_equal_opt', # Not used from VM and not compilable
]
ALWAYS_INLINED_FUNCTIONS = [