Skip to content
  • Charlie Somerville's avatar
    07ac5874
    * compile.c (iseq_compile_each): emit opt_str_freeze if the #freeze · 07ac5874
    Charlie Somerville authored
      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
    07ac5874
    * compile.c (iseq_compile_each): emit opt_str_freeze if the #freeze
    Charlie Somerville authored
      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
Loading