mruby master changes

mruby masterの変更履歴

mruby master changs ac0addd - 3402798

2014-06-18 15:49 matz commit ac0addd

mrb_open_core()関数をリファクタリングして、ローカル変数を減らしています

2014-06-23 21:24 take_cheeze commit ae15f26

C APIsのドキュメントを始めました

2014-06-23 22:12 take_cheeze commit 6336dbb

メモリープールの設定に関するドキュメントを追加しています

2014-06-23 22:19 take_cheeze commit 2ec79c6

state atexitの設定に関するドキュメントを追加しています

2014-06-24 21:44 take_cheeze commit 257725c

Symbol#internを追加しています

2014-06-25 02:36 matz commit 5b590d9

#2395のため #2344を元に戻しています

2014-06-24 15:16 santazhang commit 8d5f67e

定数にconstキーワードを追加しています

2014-06-25 04:32 ksss commit 14767a5

scope_newではローカル変数を生成しないようにしています

以下のようなときにローカル変数用にmallocが減るそうです

# '|' opt_bv_decl '|'
3.times do|
|end
# tOROP
Proc.new{||}

2014-06-25 08:38 ksss commit 19b8294

opcodeがOP_ENTERではないときProc#arityが0を返すように修正しています これは変数がないときに変数の数を1と返す不具合を修正しています

p Proc.new{ {} }.arity #=> 1

2014-06-25 13:50 ksss commit b0edba4

proc.hでMRB_ASPEC_RESTマクロが1または0を返すようにしています MRB_ASPEC_RESTは真または偽のみを返します。真のときはrest引数があります

rest引数はメソッド中に1つだけ取ることができ*のあとの引数になり、可変長の配列がわたされます

def foo(a, *as) 
  puts "#{a} #{as}"
end

> foo("a", "b", "c")
a ["b", "c"]
 => nil

2014-06-25 13:51 ksss commit f092ef6

OP_ENTERでaspecの分割をマクロを使用して修正しています。aspecは引数に関する情報のようです

2014-06-25 15:55 ksss commit 9cafc5e

Proc#parametersを実装しています。Procの引数情報を返すメソッドです

2014-06-25 21:34 take_cheeze commit 090a888

mrb_valueの設定に関するドキュメントを追加しています

2014-06-25 21:41 take_cheeze commit 3402798

DISABLE_STDIOの制限に関する注意書きを追加しています