cef6a377fcae99d062b2c7d9e0db2c07719c6975
|
2013-04-17 |
iseq.c: remove duplicated strings for file paths |
cbd8b099200d9cd19df770dbabeb698b08135800
|
2013-04-17 |
iseq: reduce array allocations for simple sequences |
aebb6889980a644ea4a14faaab692a5e2cbec3c1
|
2013-04-17 |
Oops, I forgot to use JST in the ChangeLog entry. |
5d85df5d761f73d805bf65ed7e1b546202107673
|
2013-04-22 |
fix minor code comment typos |
084df96eb1d76a41c0e1eb5c7cd9ed26eee43a23
|
2013-05-27 |
fix typo |
0a814e9b137bc280723a2ee5da3b0f6db8787d19
|
2013-05-28 |
fix typo |
a24705cfa52d14470354600832d129c5b8af64a1
|
2013-10-04 |
gc.c: add rb_objspace.limit |
907a03fee52b06760cec2d6fbd0dd2e693bef970
|
2013-10-04 |
gc.c: add objspace_free_num and make GC.stat[:heap_free_num] use it |
8d9e3cd9c6e8f22465bec76665ebe49d00eec883
|
2013-10-04 |
gc.c: rename heap.free_num to heap.swept_num |
2370e623c4931957b3397782f3eabf709d5f3391
|
2013-10-15 |
* gc.c (gc_mark_roots): rename roots to be categories instead of function names. |
3a90444c553176bac933d385fb27bda3195727a6
|
2013-10-19 |
* variable.c (rb_class2name): call rb_tmp_class_path() directly to avoid extra rb_str_dup() from rb_class_name(). |
dd117ea1182cfaa96fa84e60c25452cde075acc4
|
2013-10-23 |
* gc.c: Rename free_min to min_free_slots and free_min_page to max_free_slots. The algorithm for heap growth is: |
b906f0ed17f4824f12d7c939cfc21c7881f12dfd
|
2013-10-23 |
* gc.c: add new initial_growth_max tuning parameter. [ruby-core:57928] [Bug #9035] |
5b529e5a3df75df05f790ff18275ed9dacf5bdd4
|
2013-10-27 |
* vm_backtrace.c (rb_profile_frame_classpath): handle singleton methods defined directly on an object. |
910cee22e9d257b5a187b26b9ddfe74e63f45583
|
2013-10-27 |
* vm_backtrace.c (rb_profile_frame_classpath): do not use rb_inspect directly, since it might have a custom implementation or show ivars. |
29dbed183e78db090032ae6d854aa44e34652bba
|
2013-10-29 |
* gc.c (gc_profile_total_time): fix off-by-one error in GC::Profiler.total_time. * test/ruby/test_gc.rb (class TestGc): test for above. |
d0d6e2ecfaf1cbf0b6c6095a1118ad375b2a0659
|
2013-11-08 |
* ext/objspace/object_tracing.c: Add experimental methods to dump objectspace as json: ObjectSpace.dump_all and ObjectSpace.dump(obj). These methods are useful for debugging reference leaks and memory growth in large ruby applications. [Bug #9026] [ruby-core:57893] [Fixes GH-423] |
df86052a5d2170a2f693ad81781eea340e842e4d
|
2013-11-09 |
fix typo in my ChangeLog entry |
8f3934261ad4a7f486d2fffa9c961d7535675d8f
|
2013-11-11 |
* internal.h: move common string/hash flags to include file. * ext/objspace/objspace_dump.c: remove flags shared above. * hash.c: ditto. * string.c: ditto. |
cac4da9858b3cef6aab6561f32eaefe2c3b2e905
|
2013-11-22 |
* lib/set.rb (class SortedSet): Fix source_location for methods defined via eval. |
3d5bf44cd8af3ddb87d6d1c61279af46e22d3d8e
|
2013-11-22 |
* gc.c: Rename heap_pages_swept_num to heap_pages_swept_slots to clarify meaning (number of slots, not pages). |
65a564376e9e3a1a28120de1bb1b2ce89266e17b
|
2013-11-23 |
* marshal.c (w_object): Use HASH_PROC_DEFAULT directly from internal.h |
34176b023eb42478bad22481d90d6223b5a31d48
|
2013-11-24 |
* ext/objspace/objspace_dump.c: test fixes and win32 compatibility |
4ef2f0d2249171f8f0902d8c31e9411ec34561ce
|
2013-11-24 |
* NEWS: Add details about new debugging features and APIs. |
302743d3e7bed97f0f893f250e21dc74ba925284
|
2013-11-25 |
* NEWS: Add ObjectSpace.after_gc_{start,end}_hook= * ext/objspace/objspace_dump.c: [DOC] catch up dump/dump_all to r43679 |
adcd0174b97e09f3f1f1651f9d2399167ac313ee
|
2013-11-26 |
* ext/objspace/objspace_dump.c (dump_append_string_value): Escape control characters for strict json parsers. * ext/objspace/objspace_dump.c (objspace_dump): Document File/IO output option. |
cbb56e30a4bc3d0f1446bdd3fb41f14a362e94fb
|
2013-11-26 |
* compile.c: Use rb_fstring() to de-duplicate string literals in code. [ruby-core:58599] [Bug #9159] [ruby-core:54405] * iseq.c (prepare_iseq_build): De-duplicate iseq labels and source locations. * re.c (rb_reg_initialize): Use rb_fstring() for regex string. * string.c (rb_fstring): Handle non-string and already-fstr arguments. * vm_eval.c (eval_string_with_cref): De-duplicate eval source filename. |
5080a75621dcc14badec2436677da6000a6db44b
|
2013-11-27 |
* gc.c: Rename rb_heap_t members: used -> page_length limit -> total_slots |
0c3b3e9237e8fae4bdfd9e577b1f6275918e1abb
|
2013-11-27 |
* hash.c (hash_aset_str): Use rb_fstring() to de-duplicate hash string keys. Patch by Eric Wong. [Bug #8998] [ruby-core:57727] * test/ruby/test_hash.rb (class TestHash): test for above. |
fdcc476e217eac6143e7d1585900955c7ceda737
|
2013-11-27 |
* test/ruby/test_eval.rb (class TestEval): Add test for shared eval filenames via rb_fstring(). * test/ruby/test_iseq.rb (class TestISeq): Add test for shared iseq labels via rb_fstring(). [Bug #9159] |
53f3ddfefb4131c20baa7589d022f7ffb0859c6b
|
2013-11-27 |
* test/ruby/test_eval.rb (class TestEval): Use assert_same instead of assert_equal. * test/ruby/test_hash.rb (class TestHash): ditto. * test/ruby/test_iseq.rb (class TestISeq): ditto. |
23178d10444f256af67c15deb4a5e16811135723
|
2013-11-27 |
* gc.c (gc_page_sweep): Fix compile warning from last commit. * hash.c (hash_aset_str): Re-use existing variable to avoid unnecessary pointer dereferencing. |
0094b7bb6822fb230cc3475d49faff15674bb886
|
2013-11-27 |
* gc.c (Init_GC): Add new GC::INTERNAL_CONSTANTS for information about GC heap/page/slot sizing. * test/ruby/test_gc.rb (class TestGc): test for above. |
f8994603b3058e9514d84ea603e4efae3b5d6986
|
2013-11-27 |
* test/ruby/test_gc.rb (class TestGc): Fix warning in test_expand_heap. |
d7009f76ef8a7b96e73471561cf9c4863902e438
|
2013-11-28 |
* gc.c: Expose details about last garbage collection via GC.stat. * gc.c (gc_stat): Add :last_collection_flags for reason/trigger/type of last GC run. * gc.c (gc_prof_sweep_timer_stop): Record HAVE_FINALIZE GPR even without GC_PROFILE_MORE_DETAIL. * gc.c (gc_profile_flags): Add GC::Profiler.decode_flags to make sense of GC.stat[:last_collection_flags] * test/ruby/test_gc.rb (class TestGc): Test for above. |
b05721765ef08c56443221808f611b571f0de767
|
2013-11-30 |
* test/ruby/test_gc.rb (test_gc_reason): Force minor GC by consuming free slots to fix test. |
6edaf997e36f9d5b64f0e1349c987432c521f408
|
2013-12-03 |
* string.c (rb_fstring): Use st_update instead of st_lookup + st_insert. * string.c (fstr_update_callback): New callback for st_update. |
084b602d9a52b62a04d17f65ba1a9b8a767d1e3e
|
2013-12-03 |
* include/ruby/ruby.h (struct RClass): Add wrapper struct around RClass->m_tbl with serial. This prevents double marking method tables, since many classes/modules can share the same method table. This improves minor mark time in a large application by 30%. * internal.h (struct method_table_wrapper): Define new wrapper struct with additional serial. * internal.h (RCLASS_M_TBL_INIT): New macro for initializing method table wrapper and st_table. * method.h (void rb_sweep_method_entry): Rename rb_free_m_table to rb_free_m_tbl for consistentcy * .gdbinit (define rb_method_entry): Update rb_method_entry gdb helper for new method table structure. * class.c: Use RCLASS_M_TBL_WRAPPER and RCLASS_M_TBL_INIT macros. * class.c (rb_include_class_new): Share WRAPPER between module and iclass, so serial can prevent double marking. * eval.c (rb_prepend_module): ditto. * eval.c (rb_using_refinement): ditto. * gc.c: Mark and free new wrapper struct. * gc.c (obj_memsize_of): Count size of additional wrapper struct. |
42582358768c50a3e0aa9455218070b19ce7c489
|
2013-12-03 |
* load.c (features_index_add_single): Move loaded_features_index array values off the ruby heap. [Bug #9201] [ruby-core:58805] * load.c (loaded_features_index_clear_i): Clean up off-heap array structure. * vm.c (rb_vm_mark): Remove unnecessary mark_tbl for loaded_features_index. This improves minor GC time by 15% in a large application. |
753fe47175c0a4d5b8a88498ade2eaa521b91b8f
|
2013-12-04 |
* string.c (fstr_update_callback): Improve implementation in r43968 based on feedback from @nagachika. In the existing case, we can return ST_STOP to prevent any hash modification. In the !existing case, set both key and value to the fstr. |
348903a628c38a4334531ac5a20e23fa44e670f3
|
2013-12-04 |
* vm_trace.c (rb_suppress_tracing): Fix initialization of stack allocated rb_trace_arg_t structure. Without this patch, sometimes INTERNAL_EVENT_GC would be skipped accidentally inside rb_threadptr_exec_event_hooks_orig(). |
53e0d4666cbbc09abe459e99c6f94c46b58b94b9
|
2013-12-05 |
gc.c: Load GC tuning settings earlier during boot. |
393b9e65e91036743609e0d5ed899072b0f2d0a8
|
2013-12-05 |
gc.c: split GC_END event into GC_END_MARK and GC_END_SWEEP |
241c1a5459d986187ec42f166535d51b37202532
|
2013-12-05 |
gc.c: expose GC.stat() to C-api via rb_gc_stat() |
6692436b9fe206c130fbfa3fa7b41e18c1048f4a
|
2013-12-05 |
ext/objspace: remove OS.after_gc_start_hook= and move internal test |
4876dd3fb1715b4ea11051532ed3a3c2e6b0a628
|
2013-12-05 |
gc.c: add GC.latest_gc_info() |
941e36d3dbffe4fd1409f92dd72b0d00d6c367f4
|
2013-12-05 |
gc.c: [DOC] minor typo |
470c9d844b11f003d0118def80a08fb2437fd0d0
|
2013-12-06 |
gc.c: add minor marking and lazy sweeping options to GC.start |
e6237c824303c12270b1c234b1c542ecaf5ec3a1
|
2013-12-06 |
gc.c: add note about experimental nature of new GC.start flags |
98a74d4dd5fa9cd45121e8ebfc2f787d316e924f
|
2013-12-08 |
parse.y: use rb_fstring() for strings stored in the symbol table |
779ae78995977305aa5aec9cb5b562dcf54c22e7
|
2013-12-08 |
hash.c: revert r43870 and add alternative parser patch for literal keys |
8f77cfb308061ff49de0a47e82816c8dafa27963
|
2013-12-08 |
gc.c: promote long-lived NODE_CREF objects to oldgen |
3dd248f13d47d708b2e3dcf92ab46937c033f67b
|
2013-12-08 |
hash.c: fix WB miss issue in Hash#replace |
cc1063092b366a0a8449528ab6bf67a72f5ce027
|
2013-12-08 |
vm.c: add RubyVM.stat for accessing cache serials |
599dbf65a57ad7ce37a3dd23d3513ef2699eb9b2
|
2013-12-08 |
vm.c: fix compile issue on 32bit freebsd |
a1119230621d3ab26e93466a6838be42aaa83307
|
2013-12-09 |
hash.c: fix segv in Hash#replace |
4092574257645118e98224318b89cf80fd18a144
|
2013-12-09 |
vm_method.c: add new ruby::method-cache-clear dtrace probe |
7170baa878ac0223f26fcf8c8bf25492415e6eaa
|
2013-12-10 |
objspace_dump.c: include object's gc flags in dump |
332decb490d56025f7b24088aa7f5f1a6fcb03e5
|
2013-12-10 |
gc.c: fix typo in function name |
3705007e7a66e35725167871260d01065837e707
|
2013-12-10 |
gc.c: build complete object graph for RGENGC_CHECK_MODE |
40d7c9c18b024f234f5fdd5c51fb843d9c229efc
|
2013-12-10 |
gc.c: speed up RGENGC_CHECK_MODE by removing unncessary check |
bd892d05ed0565526c26b3e126a469e19865107b
|
2013-12-11 |
compile.c: add opt_aset instruction for faster Hash#[]= and Array#[]= |
3282b8d10e81ed4d3a80eaef3a163e5773d496a7
|
2013-12-12 |
gc.c: fix typo (RVALUE_OLDEGN_BITMAP -> RVALUE_OLDGEN_BITMAP) |
c2dcb947aaf60421ca4035298059a029a0a24c26
|
2013-12-12 |
object.c: use RCLASS_M_TBL_WRAPPER for equality checks |
3ba2006aa443b45aba41d4a6bc8fa82505def4d3
|
2013-12-13 |
gc.c: GC.latest_gc_info reports most interesting major_by flag |
99df7a1b5b34af3d059c0c2b10756fe64c6ead68
|
2013-12-16 |
gc.c: fix build with RGENGC_ESTIMATE_OLDMALLOC=0 |
d87de0851216cf0a104748b8e139b73f59758c60
|
2013-12-16 |
typo: wheb -> when |
7c51c8fd17ce5c602f8d08adefa6977ade9219f1
|
2013-12-17 |
configure.in: build probes with systemtap's dtrace wrapper |
3f8deb966cbfc42c91ae4be98dc82559c52baadb
|
2013-12-18 |
gc.c: remove redundant freelist assignment |
4cd675ea9edeaeee7a640dd10037b92318ad6844
|
2013-12-19 |
vm_insnhelper.c: optimize for loop |
4ece8eea114894bb4cff89255535daa4cd570998
|
2013-12-19 |
vm_dump.c: improve wording of apple crashlog messages |
3409690957ae57822ef18189c006068476c035ff
|
2013-12-20 |
ruby.h: swap iv_index_tbl and super for struct RClass |
6944b38f7fa9de655ff3d4de28ea449825c874c0
|
2013-12-20 |
fix typo: s/POWOR/POWER/ |
96225160f6bffb31dea5ab3c75746d415458d4b6
|
2013-12-20 |
vm_method.c: use RCLASS_SERIAL macro instead of direct access |
959a66249dea7c31d4e9cc996f1037f07facb6d8
|
2013-12-21 |
resolv/test_addr.rb: require tempfile for new test in r44312 |
5ac7c395c19426a9a92f0a918b03e0f493af6e2c
|
2014-01-03 |
test/net/imap/test_imap.rb: fix test failures due to expired certs |
3cf4fe47e80548011c5c136c7447f24b587c40e6
|
2014-01-06 |
array.c: return first unique element in Array#uniq |
738b8872ef871cbfd78730142049cd1fe94a95fa
|
2014-01-07 |
ext/json: objects depend on $(ruby_headers) |
9bfaeffd53d4e17b0a24281e244e2483f28f5827
|
2014-01-10 |
gc.c: fix doc typo |
58f800a278b8b70463f4afdbb23a918d8ab441ff
|
2014-01-10 |
insns.def: add opt path for Hash#[] and Hash#[]= used with str literal keys |
3ef5adb45b30bef4cb2b70a6f15bef0ee2eeca7d
|
2014-06-02 |
xmlrpc/client: fix documentation typo |
559a82757959f05fb752610af0adf5d03768569f
|
2014-06-13 |
add more test coverage for [ruby-core:63136] [Bug #9934] |
829fcdb2e8572d6c23173303b04959148b2e25e5
|
2015-02-02 |
gc.c: ensure GC state is consistent during VM shutdown |