It should be better something like:
typedef union UnionVal {
INTVAL int_val; /* PMC unionval members */
FLOATVAL num_val;
struct parrot_string_t * string_val;
struct {
DPOINTER* struct_val;
PMC* pmc_val;
} ptrs;
struct { /* Buffers structure */
void * bufstart;
size_t buflen;
} b;
} UnionVal;
This would give us one additional pointer. PMCs that currently use e.g.
struct_val + data could use this, so that the PMC_EXT with the data
pointer hasn't to be allocated.
We could also move {bufstart, buflen} in front, so that we could
approach the constant STRING issue.
Comments welcome
leo
> This would give us one additional pointer.
>
> Comments welcome
Go for it. This won't increase the size of the struct, so I can't think of
a good reason to not do it.
Dan
Done (modulo jit_debug stabs)
> Dan
leo