String buffer refactoring, part 4.

Add lua_State pointer to SBuf for buffer resizing.
This commit is contained in:
Mike Pall
2013-02-28 13:37:56 +01:00
parent 3c0157f426
commit 9ec869b362
11 changed files with 68 additions and 62 deletions

View File

@@ -13,8 +13,9 @@
#include "lj_err.h"
#include "lj_buf.h"
LJ_NOINLINE void lj_buf_grow(lua_State *L, SBuf *sb, char *en)
LJ_NOINLINE void LJ_FASTCALL lj_buf_grow(SBuf *sb, char *en)
{
lua_State *L = sbufL(sb);
char *b = sbufB(sb);
MSize sz = (MSize)(en - b);
MSize osz = (MSize)(sbufE(sb) - b), nsz = osz;
@@ -29,12 +30,14 @@ LJ_NOINLINE void lj_buf_grow(lua_State *L, SBuf *sb, char *en)
setmref(sb->e, b + nsz);
}
char *lj_buf_tmp(lua_State *L, MSize sz)
char * LJ_FASTCALL lj_buf_tmp(lua_State *L, MSize sz)
{
return lj_buf_need(L, &G(L)->tmpbuf, sz);
SBuf *sb = &G(L)->tmpbuf;
setmref(sb->L, L);
return lj_buf_need(sb, sz);
}
void lj_buf_shrink(lua_State *L, SBuf *sb)
void LJ_FASTCALL lj_buf_shrink(lua_State *L, SBuf *sb)
{
char *b = sbufB(sb);
MSize osz = (MSize)(sbufE(sb) - b);
@@ -54,14 +57,14 @@ char *lj_buf_wmem(char *p, const void *q, MSize len)
return p;
}
void lj_buf_putmem(lua_State *L, SBuf *sb, const void *q, MSize len)
void lj_buf_putmem(SBuf *sb, const void *q, MSize len)
{
char *p = lj_buf_more(L, sb, len);
char *p = lj_buf_more(sb, len);
p = lj_buf_wmem(p, q, len);
setsbufP(sb, p);
}
uint32_t lj_buf_ruleb128(const char **pp)
uint32_t LJ_FASTCALL lj_buf_ruleb128(const char **pp)
{
const uint8_t *p = (const uint8_t *)*pp;
uint32_t v = *p++;
@@ -74,7 +77,7 @@ uint32_t lj_buf_ruleb128(const char **pp)
return v;
}
char *lj_buf_wuleb128(char *p, uint32_t v)
char * LJ_FASTCALL lj_buf_wuleb128(char *p, uint32_t v)
{
for (; v >= 0x80; v >>= 7)
*p++ = (char)((v & 0x7f) | 0x80);