1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test
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
..
-ext- revisit more MJIT test skips 2018-10-22 15:49:22 +00:00
base64
benchmark
bigdecimal
cgi Revert "ext/cgi/escape: preserve String subclass in result" 2018-05-03 01:24:09 +00:00
coverage ext/coverage/: add the oneshot mode 2018-10-20 05:33:04 +00:00
csv Merge csv-3.0.0 from ruby/csv repository. 2018-09-05 13:33:21 +00:00
date Support old versions of Ruby with FrozenError. 2018-08-07 12:47:11 +00:00
dbm Support old versions of Ruby with FrozenError. 2018-08-07 12:47:11 +00:00
digest
drb Skip BUGs on Solaris 2018-10-23 15:05:09 +00:00
dtrace test/dtrace/helper.rb: support systemtap in dtrace tests 2018-06-05 21:19:50 +00:00
erb
etc
excludes _mjit_compile_ivar.erb: cancel on undefined ivar 2018-10-24 15:41:14 +00:00
fiddle test_function.rb: try running test_nogvl_poll again 2018-08-18 02:15:41 +00:00
fileutils Retry to merge fileutils-1.1.0. 2018-05-15 05:53:18 +00:00
gdbm Support old versions of Ruby with FrozenError. 2018-08-07 12:47:11 +00:00
io test/io/wait/test_io_wait_uncommon.rb: relax /dev/random check 2018-08-25 22:32:35 +00:00
irb Suppress read of ~/.irbrc 2018-08-18 04:09:48 +00:00
json
lib parse.y: remove "shadowing outer local variable" warning 2018-10-26 03:10:02 +00:00
logger Remove unused variables 2018-03-17 06:41:35 +00:00
matrix lib/matrix: Fix potential bug of Vector#angle_with 2018-09-16 04:18:50 +00:00
minitest use https:// instead of http:// 2018-07-28 10:00:27 +00:00
misc
mkmf
monitor
net Exclude CI platform specific failures by --excludes option 2018-10-21 03:38:52 +00:00
nkf
objspace ext/objspace/objspace_dump.c: print addresses consistently 2018-10-09 03:21:57 +00:00
open-uri
openssl openssl: sync with upstream repository 2018-10-18 00:24:49 +00:00
optparse optparse: Suppress warnings 2018-05-06 09:53:33 +00:00
ostruct Support old versions of Ruby with FrozenError. 2018-08-07 12:47:11 +00:00
pathname
psych Merge Pysch-3.1.0.pre2 from ruby/psych. 2018-10-20 04:25:04 +00:00
rdoc Mark up code inside link text as <code> 2018-10-29 06:23:21 +00:00
readline Readline: expose rl_completion_quote_character variable 2018-09-02 23:27:08 +00:00
resolv
rexml rexml: disable XPath 1.0 compatible "#{ELEMENT_NAME}" processing by default 2018-04-28 01:36:18 +00:00
rinda Skip EHOSTUNREACH by host issues 2018-09-18 12:55:05 +00:00
ripper parse.y: remove "shadowing outer local variable" warning 2018-10-26 03:10:02 +00:00
rss rss: Add option Hash support to RSS::Parser.parse 2018-05-12 09:06:00 +00:00
ruby introduce TransientHeap. [Bug #14858] 2018-10-30 21:53:56 +00:00
rubygems revisit more MJIT test skips 2018-10-22 15:49:22 +00:00
scanf
sdbm
shell Promote Shell library to default gems. 2018-07-20 02:24:59 +00:00
socket tests: support Linux kernels with CONFIG_IPV6=n 2018-10-13 05:18:49 +00:00
stringio Support old versions of Ruby with FrozenError. 2018-08-07 12:47:11 +00:00
strscan
syslog
testunit test/unit.rb: fixed wrong method name 2018-10-23 14:17:16 +00:00
uri http_proxy setting should respect both parent domain and subdomain 2018-05-17 07:40:01 +00:00
webrick Use binread because webrick also uses binread 2018-10-05 10:36:24 +00:00
win32ole Merge branch 'modify_test_win32ole' into trunk 2018-10-20 14:34:30 +00:00
yaml
zlib test/zlib/test_zlib.rb (test_path): enable the accidentally-disabled assertion 2018-04-17 06:38:08 +00:00
colors
runner.rb
test_abbrev.rb
test_cmath.rb Add test for coverage. 2018-08-07 09:52:53 +00:00
test_delegate.rb
test_extlibs.rb
test_find.rb
test_forwardable.rb
test_ipaddr.rb
test_mutex_m.rb
test_observer.rb
test_open3.rb Remove needless closed? 2018-06-17 15:42:35 +00:00
test_pp.rb
test_prettyprint.rb
test_prime.rb test/test_prime.rb: add testcases of prime library 2018-06-24 09:31:06 +00:00
test_pstore.rb
test_pty.rb Remove needless lines 2018-06-12 14:36:32 +00:00
test_rbconfig.rb
test_securerandom.rb
test_set.rb
test_shellwords.rb
test_singleton.rb
test_sync.rb Move obsoleted test/thread/test_*.rb with the current implementation. 2018-07-31 03:49:38 +00:00
test_syslog.rb
test_tempfile.rb Failed to unlink before close on mswin 2018-07-11 13:00:56 +00:00
test_time.rb Time.parse based from non-Time object 2018-10-09 05:55:29 +00:00
test_timeout.rb
test_tmpdir.rb test/test_{tempfile,tmpdir}: get rid of leftover files 2018-07-11 08:33:37 +00:00
test_tracer.rb
test_tsort.rb
test_unicode_normalize.rb fix range check for Hangul jamo trailers in Unicode normalization 2018-07-28 09:44:33 +00:00
test_weakref.rb
test_win32api.rb test_win32api.rb: suppress a warning 2018-09-23 12:40:46 +00:00