Project

General

Profile

« Previous | Next » 

Revision 6a1101f2

Added by ko1 (Koichi Sasada) about 12 years ago

  • 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