cont.c (struct rb_fiber_struct): bitfields for trasnferred and status
On 32-bit x86, this reduces the struct from 836 to 832 bytes and brings us down to 13 (64-byte) cachelines (from 14). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
39c64117f6
commit
aba0929a5a
4
cont.c
4
cont.c
@ -175,12 +175,12 @@ struct rb_fiber_struct {
|
|||||||
rb_context_t cont;
|
rb_context_t cont;
|
||||||
VALUE first_proc;
|
VALUE first_proc;
|
||||||
struct rb_fiber_struct *prev;
|
struct rb_fiber_struct *prev;
|
||||||
enum fiber_status status;
|
BITFIELD(enum fiber_status status) : 2;
|
||||||
/* If a fiber invokes "transfer",
|
/* If a fiber invokes "transfer",
|
||||||
* then this fiber can't "resume" any more after that.
|
* then this fiber can't "resume" any more after that.
|
||||||
* You shouldn't mix "transfer" and "resume".
|
* You shouldn't mix "transfer" and "resume".
|
||||||
*/
|
*/
|
||||||
int transferred;
|
unsigned int transferred : 1;
|
||||||
|
|
||||||
#if FIBER_USE_NATIVE
|
#if FIBER_USE_NATIVE
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
Loading…
x
Reference in New Issue
Block a user