ruby/defs
charliesome 07ac58747f * compile.c (iseq_compile_each): emit opt_str_freeze if the #freeze
method is called on a static string literal with no arguments.

* defs/id.def (firstline): add freeze so idFreeze is available

* insns.def (opt_str_freeze): add opt_str_freeze instruction which
  pushes a frozen string literal without allocating a new object if
  String#freeze is not overriden

* string.c (Init_String): define String#freeze

* vm.c (vm_init_redefined_flag): define BOP_FREEZE on String class as
  a basic operation

* vm_insnhelper.h: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-09 21:17:06 +00:00
..
default_gems * re-added r38053 that is reverted by r38061. Problems by r38053 2012-12-01 03:35:36 +00:00
gmake.mk Set mode for GNU Makefile. 2013-06-20 10:19:02 +00:00
id.def * compile.c (iseq_compile_each): emit opt_str_freeze if the #freeze 2013-11-09 21:17:06 +00:00
keywords * defs/keywords (reserved_word): made inline function static. 2009-05-16 00:30:16 +00:00
known_errors.def * defs/known_errors.def: more errors. 2009-11-24 11:06:53 +00:00
lex.c.src * defs/keywords (reserved_word): made inline function static. 2009-05-16 00:30:16 +00:00
opt_insn_unif.def * keywords, lex.c.src, opt_insn_unif.def, opt_operand.def: moved rarely changed 2008-10-18 22:30:13 +00:00
opt_operand.def * vm_opts.h: enable optimization - operand unifications. 2012-12-04 04:57:50 +00:00