mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Export some missing symbols for MJIT
tool/ruby_vm/views/_insn_name_info.erb: on Linux, rb_vm_insn_name_offset was needed to compile with --jit-debug (Usually --jit-debug requires more symbols than the situation without --jit-debug because -O2 skips some functions to compile). vm.c: when running transform_mjit_header.rb with --jit-wait, rb_source_location_cstr was repoted to be missing. string.c: ditto, for rb_str_eql numeric.c: ditto, for rb_float_eql git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7c3887408a
commit
288b44328d
5 changed files with 8 additions and 4 deletions
|
@ -270,9 +270,11 @@ void xfree(void*);
|
||||||
#define RUBY_FUNC_EXPORTED
|
#define RUBY_FUNC_EXPORTED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* MJIT_FUNC_EXPORTED is used for functions which are exported only for MJIT
|
/* These macros are used for functions which are exported only for MJIT
|
||||||
and NOT ensured to be exported in future versions. */
|
and NOT ensured to be exported in future versions. */
|
||||||
#define MJIT_FUNC_EXPORTED RUBY_FUNC_EXPORTED
|
#define MJIT_FUNC_EXPORTED RUBY_FUNC_EXPORTED
|
||||||
|
#define MJIT_SYMBOL_EXPORT_BEGIN RUBY_SYMBOL_EXPORT_BEGIN
|
||||||
|
#define MJIT_SYMBOL_EXPORT_END RUBY_SYMBOL_EXPORT_END
|
||||||
|
|
||||||
#ifndef RUBY_EXTERN
|
#ifndef RUBY_EXTERN
|
||||||
#define RUBY_EXTERN extern
|
#define RUBY_EXTERN extern
|
||||||
|
|
|
@ -1603,7 +1603,7 @@ flo_le(VALUE x, VALUE y)
|
||||||
* so an implementation-dependent value is returned.
|
* so an implementation-dependent value is returned.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
VALUE
|
MJIT_FUNC_EXPORTED VALUE
|
||||||
rb_float_eql(VALUE x, VALUE y)
|
rb_float_eql(VALUE x, VALUE y)
|
||||||
{
|
{
|
||||||
if (RB_TYPE_P(y, T_FLOAT)) {
|
if (RB_TYPE_P(y, T_FLOAT)) {
|
||||||
|
|
2
string.c
2
string.c
|
@ -3263,7 +3263,7 @@ rb_str_equal(VALUE str1, VALUE str2)
|
||||||
* Two strings are equal if they have the same length and content.
|
* Two strings are equal if they have the same length and content.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
VALUE
|
MJIT_FUNC_EXPORTED VALUE
|
||||||
rb_str_eql(VALUE str1, VALUE str2)
|
rb_str_eql(VALUE str1, VALUE str2)
|
||||||
{
|
{
|
||||||
if (str1 == str2) return Qtrue;
|
if (str1 == str2) return Qtrue;
|
||||||
|
|
|
@ -13,7 +13,9 @@
|
||||||
%
|
%
|
||||||
CONSTFUNC(MAYBE_UNUSED(static const char *insn_name(VALUE insn)));
|
CONSTFUNC(MAYBE_UNUSED(static const char *insn_name(VALUE insn)));
|
||||||
extern const char *rb_vm_insn_name_info;
|
extern const char *rb_vm_insn_name_info;
|
||||||
|
MJIT_SYMBOL_EXPORT_BEGIN
|
||||||
extern const unsigned short rb_vm_insn_name_offset[];
|
extern const unsigned short rb_vm_insn_name_offset[];
|
||||||
|
MJIT_SYMBOL_EXPORT_END
|
||||||
|
|
||||||
#ifdef RUBY_VM_INSNS_INFO
|
#ifdef RUBY_VM_INSNS_INFO
|
||||||
const unsigned short rb_vm_insn_name_offset[] = {
|
const unsigned short rb_vm_insn_name_offset[] = {
|
||||||
|
|
2
vm.c
2
vm.c
|
@ -1302,7 +1302,7 @@ rb_source_location(int *pline)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *
|
MJIT_FUNC_EXPORTED const char *
|
||||||
rb_source_location_cstr(int *pline)
|
rb_source_location_cstr(int *pline)
|
||||||
{
|
{
|
||||||
VALUE path = rb_source_location(pline);
|
VALUE path = rb_source_location(pline);
|
||||||
|
|
Loading…
Reference in a new issue