mruby master changes

mruby masterの変更履歴

mruby master changes a9ac721 - aa4f3c7

mruby master changes

Stringクラスのデータ保持方法が変更されました

2014-03-06 19:57 mattn commit a9ac721

mruby-timeについて、mingw32でのビルドを修正しています。 mingw32はGNU ツールチェーンのWindows移植版です

2014-03-02 11:04 ksss commit 4070b59

Stringクラスのデータ保持方法が変更され、charポインタからcharポインタと短い文字用の固定長のchar配列(embed string)に変更されました。 データ内のflags 4がembed stringのフラグ, flags 8〜64がembed stringの文字列の長さです。 メモリ使用量が減るそうです。

2014-03-05 15:06 ksss commit 54132e4

リテラル文字列のときはembed stringを生成します

2014-03-06 14:00 ksss commit 4bc19d5

emeded stringのテストコードを追加しています

2014-03-07 11:08 ksss commit cab1f73

Hash#eql?の振る舞いを修正しています 修正前:

 1.eql?(1.0)
 => false
> [1].eql?([1.0])
 => false
> {a:1}.eql?({a:1.0})
 => true

修正後:

1.eql?(1.0)
 => false
[1].eql?([1.0])
 => false
{a:1}.eql?({a:1.0})
 => false

ちなみに{a:1}のハッシュは{:a => 1}のシンタックスシュガーです

2014-03-07 12:11 unak commit 8ee5b01

.PHONY はallの後ろに置くべきだそうです

2014-03-07 18:40 matz commit fe1b4ce

Hash#==とeql?メソッドはfixnumを返すのではなくmrb_boolを返すように修正しています

2014-03-07 20:30 matz commit aa4f3c7

int/size_t/uint32_tをuint32_tにまとめたことにより、uint32_tに整数の複雑さを減らしたのことです。

Mac OS Xでビルドしたのですが、 ワーニングが3つ表示され、mrubyが動作しなくなりました

$ bin/mruby -e "puts 'hello world'"

hello worldと表示されませんでした。 一つ前のコミットでは表示されました