update alloc_cb use libuv pattern
keep parameter style same with libuv