Commit 4c01f002 authored by Yukihiro Matsumoto's avatar Yukihiro Matsumoto

mruby/array.h: rename buf to ptr

parent e3d17e54
...@@ -13,7 +13,7 @@ extern "C" { ...@@ -13,7 +13,7 @@ extern "C" {
struct mrb_shared_array { struct mrb_shared_array {
int refcnt; int refcnt;
mrb_value *buf; mrb_value *ptr;
int len; int len;
}; };
...@@ -24,7 +24,7 @@ struct RArray { ...@@ -24,7 +24,7 @@ struct RArray {
int capa; int capa;
struct mrb_shared_array *shared; struct mrb_shared_array *shared;
} aux; } aux;
mrb_value *buf; mrb_value *ptr;
}; };
#define mrb_ary_ptr(v) ((struct RArray*)((v).value.p)) #define mrb_ary_ptr(v) ((struct RArray*)((v).value.p))
...@@ -32,7 +32,7 @@ struct RArray { ...@@ -32,7 +32,7 @@ struct RArray {
#define RARRAY(v) ((struct RArray*)((v).value.p)) #define RARRAY(v) ((struct RArray*)((v).value.p))
#define RARRAY_LEN(a) (RARRAY(a)->len) #define RARRAY_LEN(a) (RARRAY(a)->len)
#define RARRAY_PTR(a) (RARRAY(a)->buf) #define RARRAY_PTR(a) (RARRAY(a)->ptr)
#define MRB_ARY_SHARED 256 #define MRB_ARY_SHARED 256
void mrb_ary_decref(mrb_state*, struct mrb_shared_array*); void mrb_ary_decref(mrb_state*, struct mrb_shared_array*);
......
This diff is collapsed.
...@@ -389,7 +389,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) ...@@ -389,7 +389,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
struct RArray *a = mrb_ary_ptr(mrb->stack[1]); struct RArray *a = mrb_ary_ptr(mrb->stack[1]);
argc = a->len; argc = a->len;
sp = a->buf; sp = a->ptr;
} }
while ((c = *format++)) { while ((c = *format++)) {
switch (c) { switch (c) {
...@@ -481,7 +481,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) ...@@ -481,7 +481,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
aa = to_ary(mrb, *sp); aa = to_ary(mrb, *sp);
a = mrb_ary_ptr(aa); a = mrb_ary_ptr(aa);
pb = va_arg(ap, mrb_value**); pb = va_arg(ap, mrb_value**);
*pb = a->buf; *pb = a->ptr;
pl = va_arg(ap, int*); pl = va_arg(ap, int*);
*pl = a->len; *pl = a->len;
i++; sp++; i++; sp++;
......
...@@ -367,7 +367,7 @@ gc_mark_children(mrb_state *mrb, struct RBasic *obj) ...@@ -367,7 +367,7 @@ gc_mark_children(mrb_state *mrb, struct RBasic *obj)
size_t i, e; size_t i, e;
for (i=0,e=a->len; i<e; i++) { for (i=0,e=a->len; i<e; i++) {
mrb_gc_mark_value(mrb, a->buf[i]); mrb_gc_mark_value(mrb, a->ptr[i]);
} }
} }
break; break;
...@@ -460,7 +460,7 @@ obj_free(mrb_state *mrb, struct RBasic *obj) ...@@ -460,7 +460,7 @@ obj_free(mrb_state *mrb, struct RBasic *obj)
if (obj->flags & MRB_ARY_SHARED) if (obj->flags & MRB_ARY_SHARED)
mrb_ary_decref(mrb, ((struct RArray*)obj)->aux.shared); mrb_ary_decref(mrb, ((struct RArray*)obj)->aux.shared);
else else
mrb_free(mrb, ((struct RArray*)obj)->buf); mrb_free(mrb, ((struct RArray*)obj)->ptr);
break; break;
case MRB_TT_HASH: case MRB_TT_HASH:
......
...@@ -899,17 +899,17 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ...@@ -899,17 +899,17 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
if (stack[m1].tt == MRB_TT_ARRAY) { if (stack[m1].tt == MRB_TT_ARRAY) {
struct RArray *ary = mrb_ary_ptr(stack[m1]); struct RArray *ary = mrb_ary_ptr(stack[m1]);
pp = ary->buf; pp = ary->ptr;
len = ary->len; len = ary->len;
} }
regs[a] = mrb_ary_new_capa(mrb, m1+len+m2); regs[a] = mrb_ary_new_capa(mrb, m1+len+m2);
rest = mrb_ary_ptr(regs[a]); rest = mrb_ary_ptr(regs[a]);
memcpy(rest->buf, stack, sizeof(mrb_value)*m1); memcpy(rest->ptr, stack, sizeof(mrb_value)*m1);
if (len > 0) { if (len > 0) {
memcpy(rest->buf+m1, pp, sizeof(mrb_value)*len); memcpy(rest->ptr+m1, pp, sizeof(mrb_value)*len);
} }
if (m2 > 0) { if (m2 > 0) {
memcpy(rest->buf+m1+len, stack+m1+1, sizeof(mrb_value)*m2); memcpy(rest->ptr+m1+len, stack+m1+1, sizeof(mrb_value)*m2);
} }
rest->len = m1+len+m2; rest->len = m1+len+m2;
} }
...@@ -936,7 +936,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ...@@ -936,7 +936,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
if (argc < 0) { if (argc < 0) {
struct RArray *ary = mrb_ary_ptr(regs[1]); struct RArray *ary = mrb_ary_ptr(regs[1]);
argv = ary->buf; argv = ary->ptr;
argc = ary->len; argc = ary->len;
regs[len+2] = regs[1]; /* save argary in register */ regs[len+2] = regs[1]; /* save argary in register */
} }
...@@ -950,7 +950,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ...@@ -950,7 +950,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
} }
else if (len > 1 && argc == 1 && argv[0].tt == MRB_TT_ARRAY) { else if (len > 1 && argc == 1 && argv[0].tt == MRB_TT_ARRAY) {
argc = mrb_ary_ptr(argv[0])->len; argc = mrb_ary_ptr(argv[0])->len;
argv = mrb_ary_ptr(argv[0])->buf; argv = mrb_ary_ptr(argv[0])->ptr;
} }
mrb->ci->argc = len; mrb->ci->argc = len;
if (argc < len) { if (argc < len) {
...@@ -1398,15 +1398,15 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) ...@@ -1398,15 +1398,15 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
int i; int i;
if (len > pre + post) { if (len > pre + post) {
regs[a++] = mrb_ary_new_elts(mrb, len - pre - post, ary->buf+pre); regs[a++] = mrb_ary_new_elts(mrb, len - pre - post, ary->ptr+pre);
while (post--) { while (post--) {
regs[a++] = ary->buf[len-post-1]; regs[a++] = ary->ptr[len-post-1];
} }
} }
else { else {
regs[a++] = mrb_ary_new_capa(mrb, 0); regs[a++] = mrb_ary_new_capa(mrb, 0);
for (i=0; i+pre<len; i++) { for (i=0; i+pre<len; i++) {
regs[a+i] = ary->buf[pre+i]; regs[a+i] = ary->ptr[pre+i];
} }
while (i < post) { while (i < post) {
SET_NIL_VALUE(regs[a+i]); SET_NIL_VALUE(regs[a+i]);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment