erb.rb: Use str_uplus instead of rb_str_dup
to skip unnecessary string allocation on frozen_string_literal: false. str_uplus can bypass calling rb_str_dup when OBJ_FROZEN is true. * Before erb_render 1.064 * Afete erb_render 0.909 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
697c82b691
commit
2e75043a49
@ -280,7 +280,7 @@ class ERB
|
|||||||
# ERB#src:
|
# ERB#src:
|
||||||
#
|
#
|
||||||
# compiler = ERB::Compiler.new('<>')
|
# compiler = ERB::Compiler.new('<>')
|
||||||
# compiler.pre_cmd = ["_erbout=''.dup"]
|
# compiler.pre_cmd = ["_erbout=+''"]
|
||||||
# compiler.put_cmd = "_erbout.<<"
|
# compiler.put_cmd = "_erbout.<<"
|
||||||
# compiler.insert_cmd = "_erbout.<<"
|
# compiler.insert_cmd = "_erbout.<<"
|
||||||
# compiler.post_cmd = ["_erbout"]
|
# compiler.post_cmd = ["_erbout"]
|
||||||
@ -291,7 +291,7 @@ class ERB
|
|||||||
# <i>Generates</i>:
|
# <i>Generates</i>:
|
||||||
#
|
#
|
||||||
# #coding:UTF-8
|
# #coding:UTF-8
|
||||||
# _erbout=''.dup; _erbout.<< -"Got "; _erbout.<<(( obj ).to_s); _erbout.<< -"!\n"; _erbout
|
# _erbout=+''; _erbout.<< -"Got "; _erbout.<<(( obj ).to_s); _erbout.<< -"!\n"; _erbout
|
||||||
#
|
#
|
||||||
# By default the output is sent to the print method. For example:
|
# By default the output is sent to the print method. For example:
|
||||||
#
|
#
|
||||||
@ -861,7 +861,7 @@ class ERB
|
|||||||
def set_eoutvar(compiler, eoutvar = '_erbout')
|
def set_eoutvar(compiler, eoutvar = '_erbout')
|
||||||
compiler.put_cmd = "#{eoutvar}.<<"
|
compiler.put_cmd = "#{eoutvar}.<<"
|
||||||
compiler.insert_cmd = "#{eoutvar}.<<"
|
compiler.insert_cmd = "#{eoutvar}.<<"
|
||||||
compiler.pre_cmd = ["#{eoutvar} = ''.dup"]
|
compiler.pre_cmd = ["#{eoutvar} = +''"]
|
||||||
compiler.post_cmd = [eoutvar]
|
compiler.post_cmd = [eoutvar]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user