mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Use RBasic padding for embedded string on 64-bit CPU
On 64-bit CPU, there is padding in `RBasic`, so reorder the fields and use it as buffer of embedded string. This change allows 4 more bytes to be embedded on 64-bit CPU. However, an incompatibility will occur if `RString::as::ary` is accessed directly because `RString` structure has changed.
This commit is contained in:
@@ -8,11 +8,11 @@
|
||||
#define MRUBY_OBJECT_H
|
||||
|
||||
#define MRB_OBJECT_HEADER \
|
||||
struct RClass *c; \
|
||||
struct RBasic *gcnext; \
|
||||
enum mrb_vtype tt:8; \
|
||||
uint32_t color:3; \
|
||||
uint32_t flags:21; \
|
||||
struct RClass *c; \
|
||||
struct RBasic *gcnext
|
||||
uint32_t flags:21
|
||||
|
||||
#define MRB_FLAG_TEST(obj, flag) ((obj)->flags & (flag))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user