diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-21 11:22:18 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-21 11:22:18 +0000 |
commit | 6a1101f23ea403a8825c2f361508eeb85878b011 (patch) | |
tree | 89d04376f051f7aa2062fb9c1a46313b2ed22b49 /ChangeLog | |
parent | c54a1abde3753fe94176ef959342a5972eae0e73 (diff) | |
download | ruby-6a1101f23ea403a8825c2f361508eeb85878b011.tar.gz |
* include/ruby/ruby.h: support write barrier protection for T_STRUCT.
Introduce the following C APIs:
* RSTRUCT_RAWPTR(st) returns pointer (do WB on your risk).
The type of returned pointer is (const VALUE *).
* RSTRUCT_GET(st, idx) returns idx-th value of struct.
* RSTRUCT_SET(st, idx, v) set idx-th value by v with WB.
And
* RSTRUCT_PTR(st) returns pointer with shady operation.
The type of returned pointer is (VALUE *).
* struct.c, re.c, gc.c, marshal.c: rewrite with above APIs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -1,3 +1,17 @@ +Fri Jun 21 20:15:49 2013 Koichi Sasada <ko1@atdot.net> + + * include/ruby/ruby.h: support write barrier protection for T_STRUCT. + Introduce the following C APIs: + * RSTRUCT_RAWPTR(st) returns pointer (do WB on your risk). + The type of returned pointer is (const VALUE *). + * RSTRUCT_GET(st, idx) returns idx-th value of struct. + * RSTRUCT_SET(st, idx, v) set idx-th value by v with WB. + And + * RSTRUCT_PTR(st) returns pointer with shady operation. + The type of returned pointer is (VALUE *). + + * struct.c, re.c, gc.c, marshal.c: rewrite with above APIs. + Fri Jun 21 19:38:37 2013 Tanaka Akira <akr@fsij.org> * bignum.c (BDIGMAX): Use BIGRAD. |