#include "xsh/caps.h"
#include "xsh/util.h"
+#include "xsh/mem.h"
#include "xsh/ops.h"
#include "xsh/peep.h"
/* ... op => info map ...................................................... */
#define PTABLE_NAME ptable_map
-#define PTABLE_VAL_FREE(V) PerlMemShared_free(V)
+#define PTABLE_VAL_FREE(V) XSH_SHARED_FREE((V), 0, char)
#define PTABLE_VAL_NEED_CONTEXT 0
#define PTABLE_NEED_DELETE 1
#define PTABLE_NEED_WALK 0
XSH_LOCK(<_op_map_mutex);
if (!(oi = ptable_fetch(lt_op_padxv_map, o))) {
- oi = PerlMemShared_malloc(sizeof *oi);
+ XSH_SHARED_ALLOC(oi, 1, lt_op_padxv_info);
ptable_map_store(lt_op_padxv_map, o, oi);
#ifdef MULTIPLICITY
oi->buf = NULL;
STRLEN new_buf_size = op_len + tp_len + tm_len;
char *buf;
if (new_buf_size > oi->buf_size) {
- PerlMemShared_free(oi->buf);
- oi->buf = PerlMemShared_malloc(new_buf_size);
+ XSH_SHARED_REALLOC(oi->buf, oi->buf_size, new_buf_size, char);
oi->buf_size = new_buf_size;
}
buf = oi->buf;
XSH_LOCK(<_op_map_mutex);
if (!(oi = ptable_fetch(lt_op_padrange_map, o))) {
- oi = PerlMemShared_malloc(sizeof *oi);
+ XSH_SHARED_ALLOC(oi, 1, lt_op_padrange_info);
ptable_map_store(lt_op_padrange_map, o, oi);
}
count = PL_op->op_private & OPpPADRANGE_COUNTMASK;
for (i = 0, p = roi.padxv_start; i < count && p; ++i, p = p->op_next) {
+ lt_op_padxv_info oi;
while (p->op_type == OP_NULL)
p = p->op_next;
- lt_op_padxv_info oi;
if (p->op_type == OP_PADSV && lt_padxv_map_fetch(p, &oi))
lt_op_padxv_info_call(&oi, PAD_SV(base + i));
}