| 199 | |
| 200 | |
| 201 | void *luaM_malloc_ (lua_State *L, size_t size, int tag) { |
| 202 | if (size == 0) |
| 203 | return NULL; /* that's all */ |
| 204 | else { |
| 205 | global_State *g = G(L); |
| 206 | void *newblock = firsttry(g, NULL, tag, size); |
| 207 | if (l_unlikely(newblock == NULL)) { |
| 208 | newblock = tryagain(L, NULL, tag, size); |
| 209 | if (newblock == NULL) |
| 210 | luaM_error(L); |
| 211 | } |
| 212 | g->GCdebt += size; |
| 213 | return newblock; |
| 214 | } |
| 215 | } |