<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/compile.c, branch v2_1_5</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 48288: [Backport #9681]</title>
<updated>2014-11-06T13:46:46+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-11-06T13:46:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5218027786a3a521f73edab3a96dca65a8da5241'/>
<id>5218027786a3a521f73edab3a96dca65a8da5241</id>
<content type='text'>
	* compile.c (compile_data_alloc): add padding when strict alignment
	  is required for memory access. Currently, the padding is enabled
	  only when the CPU is 32-bit SPARC and the compiler is GCC.
	  [Bug #9681] [ruby-core:61715]

	* compile.c (STRICT_ALIGNMENT): defined if strict alignment is required

	* compile.c (ALIGNMENT_SIZE, ALIGNMENT_SIZE_MASK, PADDING_SIZE_MAX):
	  new macros for alignemnt word size, bit mask, max size of padding.

	* compile.c (calc_padding): new function to calculate padding size.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@48302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* compile.c (compile_data_alloc): add padding when strict alignment
	  is required for memory access. Currently, the padding is enabled
	  only when the CPU is 32-bit SPARC and the compiler is GCC.
	  [Bug #9681] [ruby-core:61715]

	* compile.c (STRICT_ALIGNMENT): defined if strict alignment is required

	* compile.c (ALIGNMENT_SIZE, ALIGNMENT_SIZE_MASK, PADDING_SIZE_MAX):
	  new macros for alignemnt word size, bit mask, max size of padding.

	* compile.c (calc_padding): new function to calculate padding size.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@48302 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r46471: [Backport #9964]</title>
<updated>2014-07-30T17:05:55+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-07-30T17:05:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=d2c896e07f0c779bb9fe96b61e363929940ab7c1'/>
<id>d2c896e07f0c779bb9fe96b61e363929940ab7c1</id>
<content type='text'>
	* compile.c (rb_iseq_compile_node): put start label of block after
	  trace (b_call).
	  [Bug #9964]

	* test/ruby/test_settracefunc.rb: add a test.
	  added assert_consistent_call_return() method check call/return
	  consistency.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* compile.c (rb_iseq_compile_node): put start label of block after
	  trace (b_call).
	  [Bug #9964]

	* test/ruby/test_settracefunc.rb: add a test.
	  added assert_consistent_call_return() method check call/return
	  consistency.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r45724: [Backport #9776]</title>
<updated>2014-06-16T15:59:16+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-06-16T15:59:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5a2f6a4af8a4b1082207979e2913c681ad6ea1bb'/>
<id>5a2f6a4af8a4b1082207979e2913c681ad6ea1bb</id>
<content type='text'>
	* compile.c (compile_array_): make copy a first hash not to modify
	  the argument itself.  keyword splat should be non-destructive.
	  [ruby-core:62161] [Bug #9776]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* compile.c (compile_array_): make copy a first hash not to modify
	  the argument itself.  keyword splat should be non-destructive.
	  [ruby-core:62161] [Bug #9776]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 44412,44413,44414,44420,44421: [Backport #9298]</title>
<updated>2014-02-22T13:13:24+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-22T13:13:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=be2101a641bcb320521ebcd498c147b81ea96b19'/>
<id>be2101a641bcb320521ebcd498c147b81ea96b19</id>
<content type='text'>
	test_method.rb, test_proc.rb: suppress warnings

	* test/ruby/test_method.rb: suppress warnings in verbose mode.

	* test/ruby/test_proc.rb: ditto.
	* proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if
	  having rest keywords argument.  [ruby-core:53298] [Bug #8072]

	* iseq.c (rb_iseq_parameters): push argument type symbol only for
	  unnamed rest keywords argument.

	* compile.c (iseq_set_arguments): set arg_keyword_check from
	  nd_cflag, which is set by parser.  internal ID is used for
	  unnamed keyword rest argument, which should be separated from no
	  keyword check.

	* iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is
	  present.

	* parse.y (new_args_tail_gen): set keywords check to nd_cflag, which
	  equals to that keyword rest is not present.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	test_method.rb, test_proc.rb: suppress warnings

	* test/ruby/test_method.rb: suppress warnings in verbose mode.

	* test/ruby/test_proc.rb: ditto.
	* proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if
	  having rest keywords argument.  [ruby-core:53298] [Bug #8072]

	* iseq.c (rb_iseq_parameters): push argument type symbol only for
	  unnamed rest keywords argument.

	* compile.c (iseq_set_arguments): set arg_keyword_check from
	  nd_cflag, which is set by parser.  internal ID is used for
	  unnamed keyword rest argument, which should be separated from no
	  keyword check.

	* iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is
	  present.

	* parse.y (new_args_tail_gen): set keywords check to nd_cflag, which
	  equals to that keyword rest is not present.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 44720: [Backport #9455]</title>
<updated>2014-02-21T05:52:00+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-21T05:52:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4423b56753be681b4ddd4541c48044ce289d122e'/>
<id>4423b56753be681b4ddd4541c48044ce289d122e</id>
<content type='text'>
	* compile.c (iseq_build_from_ary_body): Use :blockptr instead of :block
	  as hash key when loading serialized instruction sequences from arrays.
	  [Bug #9455] [ruby-core:60146]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* compile.c (iseq_build_from_ary_body): Use :blockptr instead of :block
	  as hash key when loading serialized instruction sequences from arrays.
	  [Bug #9455] [ruby-core:60146]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* include/ruby/ruby.h: rename OBJ_WRITE and OBJ_WRITTEN into</title>
<updated>2013-12-20T08:07:47+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-20T08:07:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c702005a7bbb807cab666537b5ef1877c14c40ba'/>
<id>c702005a7bbb807cab666537b5ef1877c14c40ba</id>
<content type='text'>
  RB_OBJ_WRITE and RB_OBJ_WRITTEN.
* array.c, class.c, compile.c, hash.c, internal.h, iseq.c,
  proc.c, process.c, re.c, string.c, variable.c, vm.c,
  vm_eval.c, vm_insnhelper.c, vm_insnhelper.h,
  vm_method.c: catch up this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  RB_OBJ_WRITE and RB_OBJ_WRITTEN.
* array.c, class.c, compile.c, hash.c, internal.h, iseq.c,
  proc.c, process.c, re.c, string.c, variable.c, vm.c,
  vm_eval.c, vm_insnhelper.c, vm_insnhelper.h,
  vm_method.c: catch up this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>compile.c: add opt_aset instruction for faster Hash#[]= and Array#[]=</title>
<updated>2013-12-11T06:38:42+00:00</updated>
<author>
<name>tmm1</name>
<email>tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-11T06:38:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=bd892d05ed0565526c26b3e126a469e19865107b'/>
<id>bd892d05ed0565526c26b3e126a469e19865107b</id>
<content type='text'>
* compile.c (iseq_specialized_instruction): emit opt_aset instruction
  to optimize Hash#[]= and Array#[]= when called with Fixnum argument.
  [Bug #9227] [ruby-core:58956]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* compile.c (iseq_specialized_instruction): emit opt_aset instruction
  to optimize Hash#[]= and Array#[]= when called with Fixnum argument.
  [Bug #9227] [ruby-core:58956]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* compile.c, insns.def, test/ruby/test_rubyvm.rb, vm.c, vm_core.h,</title>
<updated>2013-12-09T10:51:02+00:00</updated>
<author>
<name>charliesome</name>
<email>charliesome@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-09T10:51:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=7df979812699f153791b95e9c37f6c61b0cfb599'/>
<id>7df979812699f153791b95e9c37f6c61b0cfb599</id>
<content type='text'>
  vm_insnhelper.c, vm_insnhelper.h, vm_method.c: Rename method_serial
  to global_method_state and constant_serial to global_constant_state
  after discussion with ko1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  vm_insnhelper.c, vm_insnhelper.h, vm_method.c: Rename method_serial
  to global_method_state and constant_serial to global_constant_state
  after discussion with ko1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>	* compile.c : Bugsfix for dump_disasm_list.</title>
<updated>2013-11-29T11:45:40+00:00</updated>
<author>
<name>tarui</name>
<email>tarui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-11-29T11:45:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=511cc1db8cb9b4ed2a01758e04b71688f0c25443'/>
<id>511cc1db8cb9b4ed2a01758e04b71688f0c25443</id>
<content type='text'>
	  rb_inspect denies a hidden object. So, insert rapper that creates
	  the unhidden one.
	  adjust-&gt;label is null sometimes.
	  insn_data_line_no makes no sense at all.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	  rb_inspect denies a hidden object. So, insert rapper that creates
	  the unhidden one.
	  adjust-&gt;label is null sometimes.
	  insn_data_line_no makes no sense at all.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* compile.c: Use rb_fstring() to de-duplicate string literals in code.  [ruby-core:58599] [Bug #9159] [ruby-core:54405]</title>
<updated>2013-11-26T23:30:25+00:00</updated>
<author>
<name>tmm1</name>
<email>tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-11-26T23:30:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=cbb56e30a4bc3d0f1446bdd3fb41f14a362e94fb'/>
<id>cbb56e30a4bc3d0f1446bdd3fb41f14a362e94fb</id>
<content type='text'>
* iseq.c (prepare_iseq_build): De-duplicate iseq labels and source locations.
* re.c (rb_reg_initialize): Use rb_fstring() for regex string.
* string.c (rb_fstring): Handle non-string and already-fstr arguments.
* vm_eval.c (eval_string_with_cref): De-duplicate eval source filename.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* iseq.c (prepare_iseq_build): De-duplicate iseq labels and source locations.
* re.c (rb_reg_initialize): Use rb_fstring() for regex string.
* string.c (rb_fstring): Handle non-string and already-fstr arguments.
* vm_eval.c (eval_string_with_cref): De-duplicate eval source filename.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
