gc.c: disable AddressSanitizer

* gc.c (mark_locations_array): disable AddressSanitizer.  based on a
  patch by halfie (Ruby Guy) at [ruby-core:57372].
  [ruby-core:56155] [Bug #8680]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fix compilation on gcc 4.6

if __has_feature is not defined, it can't compile

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43048 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (vm_xrealloc): use TRY_WITH_GC().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def (opt_regexpmatch1): check Regexp#=~ is not defined before
  calling rb_reg_match()

* test/ruby/test_regexp.rb: add test

* vm.c (ruby_vm_redefined_flag): change type to short[]

* vm.c (vm_redefinition_check_flag): return REGEXP_REDEFINED_OP_FLAG if
  klass == rb_cRegexp

* vm.c (vm_init_redefined_flag): setup BOP flag for Regexp#=~

* vm_insnhelper.h: add REGEXP_REDEFINED_OP_FLAG

[ruby-core:57385] [Bug #8953]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* misc/ruby-electric.el: Avoid use of the interactive function
  `self-insert-command` which fires `post-self-insert-hook` and
  `post-command-hook`, to make the ruby-electric commands work
  nicely with those minor modes that make use of them to do
  similar input assistance, such as electric-pair-mode,
  autopair-mode and smartparens-mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def (opt_regexpmatch2): Check String#=~ hasn't overridden
  before calling rb_reg_match().

* test/ruby/test_string.rb: Test for above.

* vm.c (vm_init_redefined_flag): Add BOP flag for String#=~

[ruby-core:57385] [Bug #8953]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* misc/ruby-electric.el (ruby-electric-delete-backward-char): Add
  support for smartparen-mode.

* misc/ruby-electric.el (ruby-electric-cua-replace-region-maybe)
  (ruby-electric-cua-delete-region-maybe): New functions that
  combine `ruby-electric-cua-*-region` with
  `ruby-electric-cua-*-region-p`, using a slightly better way to
  detect if it is in cua-mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/ossl.c: [DOC] typo in example by @zoranzaric
  [Fixes GH-401] https://github.com/ruby/ruby/pull/401


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/digest/digest.c: [DOC] typo in overview by @chastell
  [Fixes GH-399] https://github.com/ruby/ruby/pull/399


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/observer.rb: [DOC] syntax improvement in example by @chastell
  [Fixes GH-400] https://github.com/ruby/ruby/pull/400


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/bigdecimal/bigdecimal.c: [DOC] several fixes by @chastell
  This includes fixing the capitalization of Infinity, return value of
  example "BigDecimal.new('NaN') == 0.0", and code style in example.
  [Fixes GH-398] https://github.com/ruby/ruby/pull/398


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct.c: [DOC] grammar of ArgumentError in Struct.new [Bug #8936]
  Patch by Prathamesh Sonpatki


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2013-09-27

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re.c: [DOC] arguments of Regexp::union receive #to_regexp [Bug #8205]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove trailing spaces.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
.gdbinit: insert a colon

* .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
* gc.c: simplify threshold of GC caused by malloc_increase.
  Now, malloc_limit is increased/decreased by mysterious logic.
  This fix simplify malloc_limit increase/decrease logic such as:
  if (malloc_increase > malloc_limit) /* so many malloc */
  malloc_limit += malloc_limit * (GC_MALLOC_LIMIT_FACTOR-1);
  else
  malloc_limit -= malloc_limit * (GC_MALLOC_LIMIT_FACTOR-1)/4;
  Default value of GC_MALLOC_LIMIT_FACTOR is 1.8.
  malloc_limit is bounded by GC_MALLOC_LIMIT_MAX (256MB by default).
  This logic runs at before_sweeep(). So there are no effect from
  caused by lazy sweep. And we can remove malloc_increase2.
* gc.c (HEAP_MIN_SLOTS, FREE_MIN, HEAP_GROWTH_FACTOR): rename to
  GC_HEAP_MIN_SLOTS, GC_FREE_MIN, GC_HEAP_GROWTH_FACTOR respectively.
  Check them by `#ifndef' so you can specify these values outside gc.c.
* gc.c (ruby_gc_params_t): add initial_malloc_limit_factor and
  initial_malloc_limit_max.
* gc.c (vm_malloc_prepare, vm_xrealloc): use vm_malloc_increase to
  add and check malloc_increase.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c: add some fine-grained profiling codes to tuning marking phase.
  If you enable RGENGC_PRINT_TICK to 1, then profiling results by RDTSC
  (on x86/amd64 environment) are printed at last.
  Thanks Yoshii-san.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove trailing spaces.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (gc_before_sweep): cast to size_t to suppress warnings.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e