void set_lineno(IR * ir, UINT lineno, Region * ru) { DbxAttachInfo * da; ASSERT0(ru); if (IR_ai(ir) == NULL) { IR_ai(ir) = ru->allocAIContainer(); da = (DbxAttachInfo*)smpoolMalloc( sizeof(DbxAttachInfo), ru->get_pool()); ASSERT0(da); da->init(); IR_ai(ir)->set((BaseAttachInfo*)da); } else { IR_ai(ir)->init(); da = (DbxAttachInfo*)IR_ai(ir)->get(AI_DBX); if (da == NULL) { da = (DbxAttachInfo*)smpoolMalloc( sizeof(DbxAttachInfo), ru->get_pool()); ASSERT0(da); da->init(); ASSERT0(da); IR_ai(ir)->set((BaseAttachInfo*)da); } } DBX_lineno(&da->dbx) = lineno; }
LabelInfo * allocLabel(SMemPool * pool) { LabelInfo * p = (LabelInfo*)smpoolMalloc(sizeof(LabelInfo), pool); ASSERT0(p); ::memset(p, 0, sizeof(LabelInfo)); return p; }
void * IR_EXPR_TAB::xmalloc(INT size) { void * p = smpoolMalloc(size, m_pool); ASSERT0(p); memset(p, 0, size); return p; }
//Copy dbx from 'src' to 'tgt'. void copyDbx(IR * tgt, IR const* src, Region * ru) { ASSERT0(ru); if (IR_ai(src) == NULL) { return; } DbxAttachInfo * src_da = (DbxAttachInfo*)IR_ai(src)->get(AI_DBX); if (IR_ai(tgt) == NULL) { if (src_da == NULL) { return; } IR_ai(tgt) = ru->allocAIContainer(); } ASSERT0(IR_ai(tgt)); if (src_da == NULL) { IR_ai(tgt)->clean(AI_DBX); return; } DbxAttachInfo * tgt_da = (DbxAttachInfo*)IR_ai(tgt)->get(AI_DBX); if (tgt_da == NULL) { tgt_da = (DbxAttachInfo*)smpoolMalloc( sizeof(DbxAttachInfo), ru->get_pool()); ASSERT0(tgt_da); tgt_da->init(); IR_ai(tgt)->set((BaseAttachInfo*)tgt_da); } tgt_da->dbx.copy(src_da->dbx); }
static void * xmalloc(size_t size) { void * p = smpoolMalloc(size, g_pool_general_used); if (p == NULL) return NULL; memset(p, 0, size); return p; }
//Malloc memory for tmp used. void * tlloc(LONG size) { if (size < 0 || size == 0) return NULL; if (g_pool_tmp_used == NULL) { g_pool_tmp_used = smpoolCreate(8, MEM_COMM); } void * p = smpoolMalloc(size, g_pool_tmp_used); if (p == NULL) return NULL; memset(p, 0, size); return p; }
void* drLinearAlloc(size_t size) { ASSERT0(g_d2d_used_pool); return smpoolMalloc(size, g_d2d_used_pool); }