static DCCallVM* dc_callvm_new_mips_eabi(DCCallVM_vt* vt, DCsize size) { /* Store at least 16 bytes (4 words) for internal spill area. Assembly code depends on it. */ DCCallVM_mips_eabi* self = (DCCallVM_mips_eabi*)dcAllocMem(sizeof(DCCallVM_mips_eabi)+size+16); dc_callvm_base_init(&self->mInterface, vt); dcVecInit(&self->mVecHead, size); dc_callvm_reset_mips_eabi( (DCCallVM*) self ); return (DCCallVM*)self; }
/* Public API. */ DCCallVM* dcNewCallVM(DCsize size) { /* Store at least 16 bytes (4 words) for internal spill area. Assembly code depends on it. */ DCCallVM_mips_eabi* p = (DCCallVM_mips_eabi*)dcAllocMem(sizeof(DCCallVM_mips_eabi)+size+16); dc_callvm_mode_mips_eabi((DCCallVM*)p, DC_CALL_C_DEFAULT); dcVecInit(&p->mVecHead, size); dc_callvm_reset_mips_eabi((DCCallVM*)p); return (DCCallVM*)p; }