why did you change it do_alloca() to potentially less efficient emalloc()?