summaryrefslogtreecommitdiff
path: root/.gdbinit
Commit message (Collapse)AuthorAgeFilesLines
...
* .gdbinit: use st_numhashnobu2014-03-231-1/+1
| | | | | | * .gdbinit (rb_numtable_entry): use st_numhash() to follow r45384. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: super movednobu2014-03-191-2/+2
| | | | | | | * .gdbinit (rb_method_entry, rb_ancestors): `super` moved to RClass from rb_classext_t since r44294. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: initializenobu2013-12-131-2/+3
| | | | | | | | * .gdbinit (ruby_gdb_init): initialize enums. * .gdbinit (rb_id2name): initialize debug info too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h (struct RClass): Add wrapper struct aroundtmm12013-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): fix flag name.nobu2013-11-061-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * gc.c: add 3gen GC patch, but disabled as default.ko12013-11-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RGenGC is designed as 2 generational GC, young and old generation. Young objects will be promoted to old objects after one GC. Old objects are not collect until major (full) GC. The issue of this approach is some objects can promoted as old objects accidentally and not freed until major GC. Major GC is not frequently so short-lived but accidentally becoming old objects are not freed. For example, the program "loop{Array.new(1_000_000)}" consumes huge memories because short lived objects (an array which has 1M elements) are promoted while GC and they are not freed before major GC. To solve this problem, generational GC with more generations technique is known. This patch implements three generations gen GC. At first, newly created objects are "Infant" objects. After surviving one GC, "Infant" objects are promoted to "Young" objects. "Young" objects are promoted to "Old" objects after surviving next GC. "Infant" and "Young" objects are collected if it is not marked while minor GC. So that this technique solves this problem. Representation of generations: * Infant: !FL_PROMOTED and !oldgen_bitmap [00] * Young : FL_PROMOTED and !oldgen_bitmap [10] * Old : FL_PROMOTED and oldgen_bitmap [11] The macro "RGENGC_THREEGEN" enables/disables this feature, and turned off as default because there are several problems. (1) Failed sometimes (Heisenbugs). (2) Performance down. Especially on write barriers. We need to detect Young or Old object by oldgen_bitmap. It is slower than checking flags. To evaluate this feature on more applications, I commit this patch. Reports are very welcome. This patch includes some refactoring (renaming names, etc). * include/ruby/ruby.h: catch up 3gen GC. * .gdbinit: fix to show a prompt "[PROMOTED]" for promoted objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: insert a colonnobu2013-09-271-1/+1
| | | | | | * .gdbinit (rp): insert a colon between type "SYMBOL" and ID value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: show ID typenobu2013-09-201-0/+30
| | | | | | | | * .gdbinit (rp_id): show ID type. * template/id.h.tmpl (ruby_id_types): make enum for debugger. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: rp_stringnobu2013-09-201-34/+42
| | | | | | | | * .gdbinit (rp_string): extract from rp. * .gdbinit (rp_id): use rp_string to show the content. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: rp_idnobu2013-09-201-75/+86
| | | | | | * .gdbinit (rp_id): extract from rp and rb_id2name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: improve for displaying class/modulenobu2013-08-291-1/+2
| | | | | | | | * .gdbinit (rp_class): show class name, if possible. * .gdbinit (rb_ancestors): call rp_class directly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: follow classname() changenobu2013-08-291-3/+8
| | | | | | | * .gdbinit (rb_classname): follow classname() change at r36584, which hash second argument now. reported by 36584 via IRC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: initialize color sequencesnobu2013-03-071-0/+6
| | | | | | * .gdbinit (hook-run): initialize color sequences for each runs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): fix argument order.nobu2013-02-241-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39448 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: revert colored promptnobu2013-02-171-1/+1
| | | | | | | | * .gdbinit: revert colored prompt because incremental search does not work well with invisible sequence in prompt. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (iseq): rename dummy_gdb_enums to ruby_dummy_gdb_enums.ktsj2013-02-161-1/+1
| | | | | | This is follow up to changes in r24407. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: colorizenobu2013-02-161-93/+108
| | | | | | | * .gdbinit: colorize prompt and output headers, so boundaries get clearer. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39274 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: FLONUM supportnobu2012-09-061-1/+5
| | | | | | | | | * .gdbinit (rp): FLONUM support. * include/ruby/ruby.h (ruby_special_consts): define FLONUM constants always, so that they are available from gdb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* rp_class rb_ancestorsnobu2012-07-021-9/+27
| | | | | | | | * .gdbinit (rp_class): Print the content of a Class/Module. * .gdbinit (rb_ancestors): Print ancestors. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36267 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit: improve rp for classnobu2012-06-221-0/+6
| | | | | | | * .gdbinit (rp): improve for class/iclass/module so print content of RClass. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (SDR): add SDR function. It's only for VM debugging.ko12012-06-101-0/+4
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit: add function `trace_machine_instructions' to traceko12012-06-071-0/+13
| | | | | | | | | | in native machine assemble. See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/MachineInstructionsTraceWithGDB for more details. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rb_ps_vm): follow st_table's packing change.naruse2012-04-231-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rb_numtable_entry): update for recent refactoring ofnobu2012-03-081-7/+7
| | | | | | | st_table. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): show type name for RTypedData.akr2010-06-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): detect and show RTypedData.akr2010-06-051-2/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): mark singleton classes.nobu2010-05-301-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rb_method_entry): search method entry by class and id.nobu2009-10-191-1/+61
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rb_ps): dump all threads and their callstacks. basednobu2009-10-191-0/+38
| | | | | | | on [ruby-core:26155] by Joshua ben Jore <twists AT gmail.com>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * debug.c (ruby_dummy_gdb_enums): made public. [ruby-dev:39001]nobu2009-08-051-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp, iseq): load dummy_gdb_enums on demand.nobu2009-06-151-3/+4
| | | | | | | [ruby-dev:38606] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * template/id.h.tmpl, id.h (enum ruby_method_ids): added some IDs.nobu2009-05-211-116/+185
| | | | | | | | | * debug.c (dummy_gdb_enums): added enum ruby_method_ids. * .gdbinit (rp): improved output of Symbol. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* .gdbinit (rp): missing "else" after T_NODE block.nobu2009-05-211-0/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): show negative fixnum correctly.akr2009-03-301-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (iseq): added.nobu2009-02-131-3/+26
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (dummy_gdb_enums.special_consts): forces to load debugnobu2008-12-271-0/+7
| | | | | | | | | info on Mac OS X. * .gdbinit (rp): added T_ZOMBIE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): fixed typo for T_STRUCT.nobu2008-12-091-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): REGEXP handling fixed.matz2008-10-161-2/+8
| | | | | | | | | | * string.c (rb_str_rindex_m): need not to call rb_enc_check on regexp. * re.c (unescape_escaped_nonascii): try ASCII-8BIT encoding for broken strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/ruby.h: embeds the elements of an array into itsyugui2008-10-091-2/+27
| | | | | | | | | | | | | | | | | | struct RArray for # of elements <= 3. * array.c: ditto. * gc.c (gc_mark_children): following the change of struct RArray. * ext/tk/tcltklib.c (ip_ruby_cmp): ditto. * parse.y (coverage): ditto. * proc.c (curry): ditto. * .gdbinit: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): T_VALUES is no longer defined.nobu2008-05-231-5/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): removed RUBY_T_BLOCK.nobu2008-05-071-5/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16309 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * numeric.c (num_rdiv): should always return rational number.matz2008-04-021-2/+2
| | | | | | | | | | | * rational.c (nurat_add, nurat_sub, nurat_mul, nurat_fdiv, nurat_cmp): use rb_num_coerce_bin(). * rational.c (nurat_division): does / and rdiv. * .gdbinit (rp): no longer use rb_p(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * .gdbinit (rp): supports rational and complex numbers. it'smatz2008-04-011-0/+10
| | | | | | cheating since it uses rb_p(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* use %ld for VALUE in rp.akr2008-03-061-8/+8
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* follow RFloat member name change.akr2008-03-061-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * re.c (ARG_ENCODING_NONE): defined for /.../n option.akr2007-12-211-0/+3
| | | | | | | | | | (REG_ENCODING_NONE): ditto. (rb_char_to_option_kcode): return ARG_ENCODING_NONE for n. (rb_reg_prepare_re): warn /ascii/n =~ "non-ascii". (rb_reg_initialize): set REG_ENCODING_NONE from ARG_ENCODING_NONE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * debug.c (dummy_gdb_enums.various): added ENCODING and CODERANGEnobu2007-12-211-5/+5
| | | | | | | | | constants. * .gdbinit: use enum constants. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* show regexp flags and encoding.akr2007-12-171-3/+10
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* don't show shared and assoc for embed string.akr2007-12-131-6/+7
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * string.c (rb_str_shared_replace): make str noembed after free.akr2007-12-131-1/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e