mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Fix JIT link failures
forgotten in https://github.com/ruby/ruby/pull/4018
This commit is contained in:
parent
e812b36205
commit
9d1475c621
3 changed files with 17 additions and 9 deletions
10
numeric.c
10
numeric.c
|
@ -1030,7 +1030,7 @@ flo_coerce(VALUE x, VALUE y)
|
||||||
return rb_assoc_new(rb_Float(y), x);
|
return rb_assoc_new(rb_Float(y), x);
|
||||||
}
|
}
|
||||||
|
|
||||||
VALUE
|
MJIT_FUNC_EXPORTED VALUE
|
||||||
rb_float_uminus(VALUE flt)
|
rb_float_uminus(VALUE flt)
|
||||||
{
|
{
|
||||||
return DBL2NUM(-RFLOAT_VALUE(flt));
|
return DBL2NUM(-RFLOAT_VALUE(flt));
|
||||||
|
@ -1108,12 +1108,6 @@ rb_float_mul(VALUE x, VALUE y)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
|
||||||
flo_iszero(VALUE f)
|
|
||||||
{
|
|
||||||
return FLOAT_ZERO_P(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
static double
|
static double
|
||||||
double_div_double(double x, double y)
|
double_div_double(double x, double y)
|
||||||
{
|
{
|
||||||
|
@ -1694,7 +1688,7 @@ rb_float_eql(VALUE x, VALUE y)
|
||||||
|
|
||||||
#define flo_eql rb_float_eql
|
#define flo_eql rb_float_eql
|
||||||
|
|
||||||
VALUE
|
MJIT_FUNC_EXPORTED VALUE
|
||||||
rb_float_abs(VALUE flt)
|
rb_float_abs(VALUE flt)
|
||||||
{
|
{
|
||||||
double val = fabs(RFLOAT_VALUE(flt));
|
double val = fabs(RFLOAT_VALUE(flt));
|
||||||
|
|
|
@ -202,6 +202,6 @@ class Float
|
||||||
#
|
#
|
||||||
def zero?
|
def zero?
|
||||||
Primitive.attr! 'inline'
|
Primitive.attr! 'inline'
|
||||||
Primitive.cexpr! 'flo_iszero(self) ? Qtrue : Qfalse'
|
Primitive.cexpr! 'FLOAT_ZERO_P(self) ? Qtrue : Qfalse'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -777,6 +777,20 @@ class TestJIT < Test::Unit::TestCase
|
||||||
end;
|
end;
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_inlined_builtin_methods
|
||||||
|
assert_eval_with_jit("#{<<~"begin;"}\n#{<<~"end;"}", stdout: '', success_count: 1, min_calls: 2)
|
||||||
|
begin;
|
||||||
|
def test
|
||||||
|
float = 0.0
|
||||||
|
float.abs
|
||||||
|
-float
|
||||||
|
float.zero?
|
||||||
|
end
|
||||||
|
test
|
||||||
|
test
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
|
||||||
def test_inlined_c_method
|
def test_inlined_c_method
|
||||||
assert_eval_with_jit("#{<<~"begin;"}\n#{<<~"end;"}", stdout: "aaa", success_count: 2, recompile_count: 1, min_calls: 2)
|
assert_eval_with_jit("#{<<~"begin;"}\n#{<<~"end;"}", stdout: "aaa", success_count: 2, recompile_count: 1, min_calls: 2)
|
||||||
begin;
|
begin;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue