20 bw_ctx->
p = p + curr_offset;
22 bw_ctx->
p_limit = p + new_length;
65 new_sz = curr_off + sz + add_sz;
66 if (new_sz < curr_off) {
72 new_sz = curr_off + sz;
81 DUK_DD(
DUK_DDPRINT(
"resize bufferwriter from %ld to %ld (add_sz=%ld)", (
long) curr_off, (
long) new_sz, (
long) add_sz));
113 (
const void *) (p_base + src_off),
141 buf_sz = bw->
p - p_base;
142 move_sz = buf_sz - dst_off;
146 (
const void *) (p_base + dst_off),
180 DUK_ASSERT(dst_off <= src_off || dst_off >= src_off + len);
182 if (dst_off <= src_off) {
189 buf_sz = bw->
p - p_base;
190 move_sz = buf_sz - dst_off;
194 (
const void *) (p_base + dst_off),
197 (
const void *) (p_base + src_off),
212 DUK_ASSERT(dst_off <= src_off || dst_off >= src_off + len);
219 duk_uint8_t *p_base, *p_dst, *p_src;
228 buf_sz = bw->
p - p_base;
229 move_sz = buf_sz - off;
230 p_dst = p_base + off + len;
231 p_src = p_base + off;
232 DUK_MEMMOVE((
void *) p_dst, (
const void *) p_src, (
size_t) move_sz);
261 p_dst = p_base + off;
265 (
const void *) p_src,
287 DUK_MEMCPY((
void *) u.b, (
const void *) (*p), (
size_t) 2);
288 u.x = DUK_NTOH16(u.x);
299 DUK_MEMCPY((
void *) u.b, (
const void *) (*p), (
size_t) 4);
300 u.x = DUK_NTOH32(u.x);
312 DUK_MEMCPY((
void *) u.b, (
const void *) (*p), (
size_t) 4);
313 u.x = DUK_NTOH32(u.x);
314 du.
ui[DUK_DBL_IDX_UI0] = u.x;
315 DUK_MEMCPY((
void *) u.b, (
const void *) (*p + 4), (
size_t) 4);
316 u.x = DUK_NTOH32(u.x);
317 du.
ui[DUK_DBL_IDX_UI1] = u.x;
329 u.x = DUK_HTON16(val);
330 DUK_MEMCPY((
void *) (*p), (
const void *) u.b, (
size_t) 2);
340 u.x = DUK_HTON32(val);
341 DUK_MEMCPY((
void *) (*p), (
const void *) u.b, (
size_t) 4);
353 u.x = du.
ui[DUK_DBL_IDX_UI0];
354 u.x = DUK_HTON32(u.x);
355 DUK_MEMCPY((
void *) (*p), (
const void *) u.b, (
size_t) 4);
356 u.x = du.
ui[DUK_DBL_IDX_UI1];
357 u.x = DUK_HTON32(u.x);
358 DUK_MEMCPY((
void *) (*p + 4), (
const void *) u.b, (
size_t) 4);
#define DUK_ALWAYS_INLINE
#define DUK_HBUFFER_DYNAMIC_GET_DATA_PTR(heap, x)
#define DUK_ERROR_RANGE(thr, msg)
DUK_INTERNAL_DECL void duk_hbuffer_resize(duk_hthread *thr, duk_hbuffer_dynamic *buf, duk_size_t new_size)
#define DUK_HBUFFER_DYNAMIC_GET_SIZE(x)
#define DUK_BW_ENSURE(thr, bw_ctx, sz)
#define DUK_STR_BUFFER_TOO_LONG
#define DUK_BW_SPARE_SHIFT
#define DUK_BW_GET_SIZE(thr, bw_ctx)
DUK_INTERNAL_DECL duk_hbuffer * duk_get_hbuffer(duk_context *ctx, duk_idx_t index)
#define duk_push_dynamic_buffer(ctx, size)
DUK_INTERNAL DUK_ALWAYS_INLINE void duk_raw_write_u32_be(duk_uint8_t **p, duk_uint32_t val)
DUK_INTERNAL DUK_ALWAYS_INLINE duk_double_t duk_raw_read_double_be(duk_uint8_t **p)
DUK_INTERNAL duk_uint8_t * duk_bw_resize(duk_hthread *thr, duk_bufwriter_ctx *bw_ctx, duk_size_t sz)
DUK_INTERNAL void duk_bw_insert_ensure_slice(duk_hthread *thr, duk_bufwriter_ctx *bw, duk_size_t dst_off, duk_size_t src_off, duk_size_t len)
DUK_LOCAL void duk__bw_update_ptrs(duk_hthread *thr, duk_bufwriter_ctx *bw_ctx, duk_size_t curr_offset, duk_size_t new_length)
DUK_INTERNAL void duk_bw_init(duk_hthread *thr, duk_bufwriter_ctx *bw_ctx, duk_hbuffer_dynamic *h_buf)
DUK_INTERNAL DUK_ALWAYS_INLINE duk_uint16_t duk_raw_read_u16_be(duk_uint8_t **p)
DUK_INTERNAL void duk_bw_write_ensure_slice(duk_hthread *thr, duk_bufwriter_ctx *bw, duk_size_t src_off, duk_size_t len)
DUK_INTERNAL void duk_bw_insert_ensure_bytes(duk_hthread *thr, duk_bufwriter_ctx *bw, duk_size_t dst_off, const duk_uint8_t *buf, duk_size_t len)
DUK_INTERNAL void duk_bw_remove_raw_slice(duk_hthread *thr, duk_bufwriter_ctx *bw, duk_size_t off, duk_size_t len)
DUK_INTERNAL void duk_bw_compact(duk_hthread *thr, duk_bufwriter_ctx *bw_ctx)
DUK_INTERNAL void duk_bw_insert_raw_slice(duk_hthread *thr, duk_bufwriter_ctx *bw, duk_size_t dst_off, duk_size_t src_off, duk_size_t len)
DUK_INTERNAL DUK_ALWAYS_INLINE duk_uint32_t duk_raw_read_u32_be(duk_uint8_t **p)
DUK_INTERNAL duk_uint8_t * duk_bw_insert_raw_area(duk_hthread *thr, duk_bufwriter_ctx *bw, duk_size_t off, duk_size_t len)
DUK_INTERNAL DUK_ALWAYS_INLINE void duk_raw_write_double_be(duk_uint8_t **p, duk_double_t val)
DUK_INTERNAL void duk_bw_insert_raw_bytes(duk_hthread *thr, duk_bufwriter_ctx *bw, duk_size_t dst_off, const duk_uint8_t *buf, duk_size_t len)
DUK_INTERNAL duk_uint8_t * duk_bw_insert_ensure_area(duk_hthread *thr, duk_bufwriter_ctx *bw, duk_size_t off, duk_size_t len)
DUK_INTERNAL void duk_bw_init_pushbuf(duk_hthread *thr, duk_bufwriter_ctx *bw_ctx, duk_size_t buf_size)
DUK_INTERNAL DUK_ALWAYS_INLINE void duk_raw_write_u16_be(duk_uint8_t **p, duk_uint16_t val)
DUK_INTERNAL void duk_bw_write_raw_slice(duk_hthread *thr, duk_bufwriter_ctx *bw, duk_size_t src_off, duk_size_t len)
duk_hbuffer_dynamic * buf