Skip to content

Commit

Permalink
* string.c (sym_equal): use rb_obj_equal().
Browse files Browse the repository at this point in the history
  rb_obj_equal() is specially optimized in
  opt_eq_func()@vm_insnhelper.c.
  This fix is made from this discussion:
  https://www.omniref.com/ruby/2.1.4/symbols/Symbol/%3D%3D#line=8361.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
ko1 committed Nov 11, 2014
1 parent d5b7a70 commit 495548a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
9 changes: 9 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
Tue Nov 11 10:37:09 2014 Koichi Sasada <ko1@atdot.net>

* string.c (sym_equal): use rb_obj_equal().
rb_obj_equal() is specially optimized in
opt_eq_func()@vm_insnhelper.c.

This fix is made from this discussion:
https://www.omniref.com/ruby/2.1.4/symbols/Symbol/%3D%3D#line=8361.

Tue Nov 11 09:38:55 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>

* lib/rdoc/known_classes.rb: reverted regression changes of
Expand Down
8 changes: 1 addition & 7 deletions string.c
Original file line number Diff line number Diff line change
Expand Up @@ -8484,13 +8484,7 @@ str_scrub_bang(int argc, VALUE *argv, VALUE str)
* symbol, returns <code>true</code>.
*/

static VALUE
sym_equal(VALUE sym1, VALUE sym2)
{
if (sym1 == sym2) return Qtrue;
return Qfalse;
}

#define sym_equal rb_obj_equal

static int
sym_printable(const char *s, const char *send, rb_encoding *enc)
Expand Down

0 comments on commit 495548a

Please sign in to comment.