From 387b84bac5608e23da377f2064295121a68ef939 Mon Sep 17 00:00:00 2001 From: Peter Zhu Date: Fri, 8 Jan 2021 13:53:44 -0500 Subject: [PATCH] Fix rebase conflicts Co-Authored-By: Dylan Thacker-Smith --- ext/liquid_c/document_body.c | 10 +++++----- ext/liquid_c/serialize_parse_context.c | 7 ++----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/ext/liquid_c/document_body.c b/ext/liquid_c/document_body.c index 7fffb73a..e925bcc8 100644 --- a/ext/liquid_c/document_body.c +++ b/ext/liquid_c/document_body.c @@ -79,10 +79,10 @@ static void document_body_write_tag_markup(document_body_t *body, VALUE tag_mark uint32_t tag_name_len = (uint32_t)RSTRING_LEN(tag_markup->tag_name); uint32_t markup_len = (uint32_t)RSTRING_LEN(tag_markup->markup); uint32_t total_len = sizeof(tag_markup_header_t) + tag_name_len + markup_len; - assert(c_buffer_size(&body->buffer) % alignof(tag_markup_header_t) == 0); - tag_markup_header_t *header = c_buffer_extend_for_write(&body->buffer, total_len); + assert(c_buffer_size(&body->as.mutable.buffer) % alignof(tag_markup_header_t) == 0); + tag_markup_header_t *header = c_buffer_extend_for_write(&body->as.mutable.buffer, total_len); if (!last) { - total_len += (uint32_t)c_buffer_zero_pad_for_alignment(&body->buffer, alignof(tag_markup_header_t)); + total_len += (uint32_t)c_buffer_zero_pad_for_alignment(&body->as.mutable.buffer, alignof(tag_markup_header_t)); } char *name = (char *)&header[1]; @@ -118,7 +118,7 @@ void document_body_write_block_body(VALUE self, bool blank, uint32_t render_scor size_t instructions_byte_size = c_buffer_size(&code->instructions); size_t header_and_instructions_size = sizeof(block_body_header_t) + instructions_byte_size; - block_body_header_t *buf_block_body = c_buffer_extend_for_write(&body->buffer, header_and_instructions_size); + block_body_header_t *buf_block_body = c_buffer_extend_for_write(&body->as.mutable.buffer, header_and_instructions_size); uint8_t *instructions = (uint8_t *)&buf_block_body[1]; buf_block_body->flags = 0; @@ -140,7 +140,7 @@ void document_body_write_block_body(VALUE self, bool blank, uint32_t render_scor uint32_t tags_len = (uint32_t)(c_buffer_size(&code->tag_markups) / sizeof(VALUE)); if (tags_len > 0) { buf_block_body->first_tag_offset = (uint32_t)header_and_instructions_size; - buf_block_body->first_tag_offset += (uint32_t)c_buffer_zero_pad_for_alignment(&body->buffer, alignof(tag_markup_header_t)); + buf_block_body->first_tag_offset += (uint32_t)c_buffer_zero_pad_for_alignment(&body->as.mutable.buffer, alignof(tag_markup_header_t)); uint32_t i; for (i = 0; i < tags_len - 1; i++) { diff --git a/ext/liquid_c/serialize_parse_context.c b/ext/liquid_c/serialize_parse_context.c index cd0e930b..ad18f3b7 100644 --- a/ext/liquid_c/serialize_parse_context.c +++ b/ext/liquid_c/serialize_parse_context.c @@ -35,11 +35,10 @@ VALUE serialize_parse_context_new(VALUE document_body, document_body_header_t *h obj = TypedData_Make_Struct(cLiquidCSerializeParseContext, serialize_parse_context_t, &serialize_parse_context_data_type, serialize_context); - assert(header->entrypoint_block_index < header->buffer_len); + assert(header->entrypoint_block_offset < header->buffer_len); serialize_context->document_body = document_body; - document_body_setup_entry_for_header(document_body, header->entrypoint_block_index, + document_body_setup_entry_for_header(document_body, header->entrypoint_block_offset, &serialize_context->current_entry); - serialize_context->current_tag = tag_markup_get_next_tag(&serialize_context->current_entry, NULL); // Call initialize method of parent class rb_funcall(obj, id_initialize, 0); @@ -55,7 +54,6 @@ bool is_serialize_parse_context_p(VALUE self) void serialize_parse_context_enter_tag(serialize_parse_context_t *serialize_context, tag_markup_header_t *tag) { serialize_context->current_entry.buffer_offset = tag->block_body_offset; - serialize_context->current_tag = tag_markup_get_next_tag(&serialize_context->current_entry, NULL); } void serialize_parse_context_exit_tag(serialize_parse_context_t *serialize_context, document_body_entry_t *entry, @@ -63,7 +61,6 @@ void serialize_parse_context_exit_tag(serialize_parse_context_t *serialize_conte { assert(serialize_context->current_entry.body == entry->body); serialize_context->current_entry = *entry; - serialize_context->current_tag = tag_markup_get_next_tag(&serialize_context->current_entry, tag); } void liquid_define_serialize_parse_context()