summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml22
-rw-r--r--mjit.c6
-rw-r--r--test/ruby/test_jit.rb6
3 files changed, 28 insertions, 6 deletions
diff --git a/.travis.yml b/.travis.yml
index 9bc3b7836e..9ec09a221e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -291,7 +291,25 @@ env:
matrix:
include:
# to reduce time for finishing all jobs, run the slowest osx build first.
+ - <<: *x86_64-darwin17
+ - <<: *x86_64-linux
- <<: *i686-linux
+ - <<: *jemalloc
+ - <<: *pedanticism
+ - <<: *ASAN
+ - <<: *MSAN
+ - <<: *UBSAN
+ - <<: *VM_CHECK_MODE
+ - <<: *FIBER_USE_sjlj
+ - <<: *TOKEN_THREADED_CODE
+ - <<: *CALL_THREADED_CODE
+ - <<: *NO_THREADED_CODE
+ - <<: *rubyspec
+ allow_failures:
+ - name: uinversal.x86_64h-darwin17
+ - name: -fsanitize=address
+ - name: -fsanitize=memory
+ - name: -fsanitize=undefined
fast_finish: true
before_script:
@@ -359,7 +377,9 @@ before_script:
$RUBY_PREFIX/bin/gem install --no-document $GEMS_FOR_TEST
script:
- - $SETARCH make -s test-all -o exts TESTOPTS="-n 'TestJIT#test_compile_insn_opt_aref' -n 'TestJIT#test_inlined_undefined_ivar'"
+ - $SETARCH make -s test TESTOPTS="${TESTOPTS=$JOBS -q --tty=no}"
+ - travis_wait 40 $SETARCH make -s test-all -o exts TESTOPTS="${TEST_ALL_OPTS=$TESTOPTS}" RUBYOPT="-w"
+ - $SETARCH make -s test-spec MSPECOPT=-ff # not using `-j` because sometimes `mspec -j` silently dies
# Branch matrix. Not all branches are Travis-ready so we limit branches here.
branches:
diff --git a/mjit.c b/mjit.c
index ebe7f9e767..4fa9c82468 100644
--- a/mjit.c
+++ b/mjit.c
@@ -307,12 +307,8 @@ mjit_add_iseq_to_process(const rb_iseq_t *iseq, const struct rb_mjit_compile_inf
iseq->body->jit_func = (mjit_func_t)NOT_READY_JIT_ISEQ_FUNC;
create_unit(iseq);
- if (compile_info != NULL) {
+ if (compile_info != NULL)
iseq->body->jit_unit->compile_info = *compile_info;
- } else {
- iseq->body->jit_unit->compile_info.disable_ivar_cache = false;
- iseq->body->jit_unit->compile_info.disable_send_cache = false;
- }
if (iseq->body->jit_unit == NULL)
// Failure in creating the unit.
return;
diff --git a/test/ruby/test_jit.rb b/test/ruby/test_jit.rb
index 50bfcefac7..700497c497 100644
--- a/test/ruby/test_jit.rb
+++ b/test/ruby/test_jit.rb
@@ -529,6 +529,9 @@ class TestJIT < Test::Unit::TestCase
print block.call(obj)
end;
+ if RUBY_PLATFORM =~ /i686/
+ skip 'recompilation is not happening on i686'
+ end
# send call -> optimized call (send JIT) -> optimized call
assert_eval_with_jit("#{<<~"begin;"}\n#{<<~"end;"}", stdout: '122', success_count: 2, min_calls: 2)
begin;
@@ -705,6 +708,9 @@ class TestJIT < Test::Unit::TestCase
end
def test_inlined_undefined_ivar
+ if RUBY_PLATFORM =~ /i686/
+ skip 'recompilation is not happening on i686'
+ end
assert_eval_with_jit("#{<<~"begin;"}\n#{<<~"end;"}", stdout: "bbb", success_count: 3, min_calls: 3)
begin;
class Foo