1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

13 commits

Author SHA1 Message Date
normal
fcf6fa8781 compile.c: skip opt_* insns for fstr args with block given
* compile.c (iseq_compile_each): only emit opt_str_freeze,
  opt_aref_with, and opt_aset_with insn when no block is given
  [Bug #10557] [ruby-core:66595]
* test/ruby/test_optimization.rb (test_block_given_aset_aref):
  new test for bug thanks to Bartosz Kopinski.
  (test_string_freeze): additional assertion for object_id

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-12-17 00:54:13 +00:00
normal
d63a88c0b5 test/ruby/test_optimization.rb (test_string_size): new test
String#size may be overridden, so test for it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-14 22:01:54 +00:00
normal
a1ad7b51f5 test/ruby/test_optimization.rb: redefinition tests for String
* test/ruby/test_optimization.rb (test_string_eq_neq): new test
  (test_string_ltlt): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-14 21:52:56 +00:00
normal
5733a57455 test/ruby/test_optimization.rb (test_hash_aset_with): assert assignment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-14 21:52:45 +00:00
normal
18828191d4 test new optimizations for redefines
* test/ruby/test_optimization.rb (test_string_freeze): new test
  (test_hash_aref_with): ditto
  (test_hash_aset_with): ditto

Our new (in 2.2) optimizations must not trigger when redefined.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-14 01:21:48 +00:00
nobu
edbe0c305a test_optimization.rb: redefine separately
* test/ruby/test_optimization.rb (assert_redefine_method):
  redefine optimized methods in separate processes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-20 02:47:14 +00:00
usa
9194b220a5 * test/ruby: get rid of warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-03-05 13:27:22 +00:00
marcandre
af4e6084d0 * insns.def: Fix optimization bug of Float#/ [Bug #9238]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-10 18:18:31 +00:00
ko1
1bebb22ce1 * insns.def: add new instruction opt_empty_p' for optimize empty?'
method.  Apply a patch proposed at [ruby-dev:46120]
  [ruby-trunk - Feature #6972] by Glass_saga (Masaki Matsushita).
* compile.c (iseq_specialized_instruction), vm.c, vm_insnhelper.h:
  ditto.
* id.c, template/id.h.tmpl: ditto.
* test/ruby/test_optimization.rb: test for this changes.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-09-26 09:34:46 +00:00
shugo
bf797ed9b0 * vm_insnhelper.c (vm_setup_method): should not enable tail call
optimization for frames with VM_FRAME_FLAG_FINISH.
  [ruby-dev:46065] [Bug #6901]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-08-22 02:25:16 +00:00
nobu
3c575a15c2 * vm.c (rb_thread_mark): should mark self in conrol
frames.  [ruby-core:33289]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-11-23 09:54:07 +00:00
aamine
c2d5527bff * test/ruby/test_optimization.rb: restore method before calling assert_equal.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-26 15:45:52 +00:00
aamine
bcd3345136 * test/ruby/test_optimization.rb: new test (merges test_opts.rb).
* yarvtest/test_opts.rb: removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 09:13:49 +00:00