1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/ruby
ko1 312b105d0e introduce TransientHeap. [Bug #14858]
* transient_heap.c, transient_heap.h: implement TransientHeap (theap).
  theap is designed for Ruby's object system. theap is like Eden heap
  on generational GC terminology. theap allocation is very fast because
  it only needs to bump up pointer and deallocation is also fast because
  we don't do anything. However we need to evacuate (Copy GC terminology)
  if theap memory is long-lived. Evacuation logic is needed for each type.

  See [Bug #14858] for details.

* array.c: Now, theap for T_ARRAY is supported.

  ary_heap_alloc() tries to allocate memory area from theap. If this trial
  sccesses, this array has theap ptr and RARRAY_TRANSIENT_FLAG is turned on.
  We don't need to free theap ptr.

* ruby.h: RARRAY_CONST_PTR() returns malloc'ed memory area. It menas that
  if ary is allocated at theap, force evacuation to malloc'ed memory.
  It makes programs slow, but very compatible with current code because
  theap memory can be evacuated (theap memory will be recycled).

  If you want to get transient heap ptr, use RARRAY_CONST_PTR_TRANSIENT()
  instead of RARRAY_CONST_PTR(). If you can't understand when evacuation
  will occur, use RARRAY_CONST_PTR().

(re-commit of r65444)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-30 21:53:56 +00:00
..
enc fix unicode data directory 2017-12-23 00:30:33 +00:00
allpairs.rb
beginmainend.rb
bug-11928.rb
bug-13526.rb
lbtest.rb
marshaltestlib.rb marshaltestlib.rb: use clean object for exception 2018-04-12 03:40:16 +00:00
sentence.rb
test_alias.rb
test_argf.rb Fix error when Encoding.default_external is Encoding::IBM437 2018-08-09 09:36:03 +00:00
test_arithmetic_sequence.rb enumerator.c: Fix ArithmeticSequence for complex step 2018-09-12 07:35:42 +00:00
test_arity.rb
test_array.rb Add difference method to Array 2018-10-05 06:23:34 +00:00
test_assignment.rb Enable the assertions that had been disabled for historical reason 2018-04-17 08:26:20 +00:00
test_ast.rb test/ruby/test_ast.rb: assert error messages too 2018-09-07 03:42:51 +00:00
test_autoload.rb try to remove some test skips for MJIT 2018-10-21 15:54:50 +00:00
test_backtrace.rb Revert "Add test for cause on pty" 2018-10-28 17:03:36 +00:00
test_basicinstructions.rb Remove the old disabled assertions for 1.8/1.9 2018-04-17 08:47:56 +00:00
test_beginendblock.rb
test_bignum.rb use Queue for inter-thread synchronization. 2018-04-04 05:00:52 +00:00
test_call.rb
test_case.rb
test_class.rb
test_clone.rb Don't copy FL_USER* on Kernel#clone. [Bug #14847] 2018-07-09 08:07:26 +00:00
test_comparable.rb
test_complex.rb complex.c: small optimization of Complex#** 2018-10-20 02:49:18 +00:00
test_complex2.rb
test_complexrational.rb
test_condition.rb
test_const.rb
test_continuation.rb
test_default_gems.rb Fixed wrong variable name. 2018-06-02 13:55:54 +00:00
test_defined.rb defined? returns nil for toplevel constant lookup 2018-01-27 06:12:09 +00:00
test_dir.rb dir.c: fix directory glob 2018-07-09 01:20:20 +00:00
test_dir_m17n.rb
test_econv.rb
test_encoding.rb
test_enum.rb introduce TransientHeap. [Bug #14858] 2018-10-30 21:53:56 +00:00
test_enumerator.rb Set the size of a new enumerator created by Enumerator#each with arguments to nil 2018-10-22 11:23:56 +00:00
test_env.rb Removed Windows version condition 2018-10-01 07:50:08 +00:00
test_eval.rb Remove the old disabled assertions for 1.8/1.9 2018-04-17 08:47:56 +00:00
test_exception.rb test for wrong order: option 2018-07-17 01:26:22 +00:00
test_fiber.rb fiber: fix crash on GC after forking 2018-09-12 20:49:24 +00:00
test_file.rb file.c: realpath on special symlink 2018-02-28 05:43:53 +00:00
test_file_exhaustive.rb Document File.{setuid?,setgid?,sticky?} support for IO objects [Bug #13972] 2018-10-20 11:47:45 +00:00
test_fixnum.rb
test_flip.rb Remove warnings of flip-flop deprecation from tests and specs 2018-06-15 08:53:16 +00:00
test_float.rb object.c: raise on long invalid float string 2018-05-04 06:12:12 +00:00
test_fnmatch.rb
test_gc.rb
test_hash.rb hash.c: aset deduplicates un-tainted string 2018-10-26 05:32:47 +00:00
test_ifunless.rb Rename test classes to allow stable test count when running test-all -j 2018-03-13 06:29:02 +00:00
test_integer.rb Fix Rational of Float 2018-10-02 16:42:21 +00:00
test_integer_comb.rb
test_io.rb test_io.rb: skip busy wait test again 2018-10-27 05:14:46 +00:00
test_io_m17n.rb trick ruby-mode.el by heredocs 2018-01-31 04:02:17 +00:00
test_iseq.rb check trace flags at loading [Bug #14702] 2018-08-23 04:12:14 +00:00
test_iterator.rb compile.c: try to convert in massign for 2018-01-27 10:41:43 +00:00
test_jit.rb _mjit_compile_ivar.erb: cancel on undefined ivar 2018-10-24 15:41:14 +00:00
test_key_error.rb error.c: KeyError missing keyword arguments 2018-01-26 06:41:13 +00:00
test_keyword.rb parse.y: fix block passing with empty kwargs 2018-09-20 01:43:35 +00:00
test_lambda.rb
test_lazy_enumerator.rb Bug Fix Enumerator::Lazy#uniq state for multiple call 2018-03-13 01:00:08 +00:00
test_literal.rb parse.y: extra error message after no digits 2018-04-09 11:09:30 +00:00
test_m17n.rb string.c: fix dumped suffix 2018-04-16 07:12:06 +00:00
test_m17n_comb.rb
test_marshal.rb marshal.c: allow marshalling keyword_init struct 2018-01-05 11:44:31 +00:00
test_math.rb math.c: adjust cbrt 2018-06-06 14:01:43 +00:00
test_metaclass.rb
test_method.rb proc.c: fix segfault when no singleton class 2018-04-03 06:57:44 +00:00
test_mixed_unicode_escapes.rb parse.y (new_regexp): Fix SEGV of /#{"\u3042"}#{'い'}/ in non UTF-8 2018-01-16 01:43:25 +00:00
test_module.rb Fix problem about notimplemented case 2018-08-13 13:48:27 +00:00
test_not.rb Rename test classes to allow stable test count when running test-all -j 2018-03-13 06:29:02 +00:00
test_notimp.rb
test_numeric.rb enumerator.c: Introduce Enumerator::ArithmeticSequence 2018-08-06 09:08:28 +00:00
test_object.rb
test_objectspace.rb
test_optimization.rb compile.c: fix peephole optimization 2018-10-24 10:38:39 +00:00
test_pack.rb infect taint flag on Array#pack and String#unpack 2018-10-17 15:03:10 +00:00
test_parse.rb parse.y: remove "shadowing outer local variable" warning 2018-10-26 03:10:02 +00:00
test_path.rb
test_pipe.rb win32.c: EPIPE for ERROR_NO_DATA 2018-02-01 02:56:28 +00:00
test_primitive.rb
test_proc.rb remove VM_ENV_DATA_INDEX_ENV_PROC. 2018-05-23 06:56:08 +00:00
test_process.rb revisit more MJIT test skips 2018-10-22 15:49:22 +00:00
test_rand.rb random.c: endless range random 2018-08-03 06:31:22 +00:00
test_range.rb range.c: Add Range#% 2018-09-28 02:18:58 +00:00
test_rational.rb bignum.c: Bignum#fdiv avoids double division when divisor is bignum 2018-04-04 14:02:59 +00:00
test_rational2.rb
test_readpartial.rb
test_refinement.rb vm_args.c: to_proc refinements 2018-01-24 06:25:02 +00:00
test_regexp.rb regparse.c: Suppress duplicated range warning by mere \X 2018-10-15 12:31:25 +00:00
test_require.rb $SAFE as a process global state. [Feature #14250] 2017-12-28 20:09:24 +00:00
test_rubyoptions.rb parse.y: remove "shadowing outer local variable" warning 2018-10-26 03:10:02 +00:00
test_rubyvm.rb
test_rubyvm_mjit.rb skip tests if --disable-mjit-support. 2018-10-20 08:06:50 +00:00
test_settracefunc.rb give up insn attr handles_frame 2018-06-27 09:28:09 +00:00
test_signal.rb thread_pthread.c: main thread always gets hit by signals 2018-08-25 21:59:30 +00:00
test_sleep.rb
test_sprintf.rb test_sprintf.rb: test for %p 2018-09-15 08:39:07 +00:00
test_sprintf_comb.rb
test_string.rb test/lib/test/unit/assertions.rb: skip memory leak check 2018-10-23 01:13:38 +00:00
test_stringchar.rb
test_struct.rb Enumerable#to_h with block and so on 2018-09-20 15:06:56 +00:00
test_super.rb test/ruby/test_super.rb: Remove unused assertions 2018-04-17 08:52:25 +00:00
test_symbol.rb
test_syntax.rb parse.y: Deprecate flip-flops 2018-06-15 08:53:15 +00:00
test_system.rb test/ruby/test_system.rb: suppress prompt and echo on Windows 2018-08-18 02:44:35 +00:00
test_thread.rb revert r65292 and r65297 2018-10-22 14:26:47 +00:00
test_thread_cv.rb revisit more MJIT test skips 2018-10-22 15:49:22 +00:00
test_thread_queue.rb appveyor.yml: give up running TestThreadQueue#test_queue_with_trap 2018-10-07 14:05:56 +00:00
test_threadgroup.rb
test_time.rb test/ruby (*no_hidden_garbage): disable GC and skip if multi-threaded 2018-07-08 07:27:29 +00:00
test_time_tz.rb time.c: added Time::TM#+ and Time::TM#- 2018-10-28 12:05:19 +00:00
test_trace.rb
test_transcode.rb
test_undef.rb
test_unicode_escape.rb
test_variable.rb
test_vm_dump.rb
test_weakmap.rb test_weakmap.rb: skip unstable assertion 2018-03-16 14:12:39 +00:00
test_whileuntil.rb
test_yield.rb
ut_eof.rb