15 uint64_t end_log_address =
static_cast<uint64_t
>(log_address) +
static_cast<uint64_t
>(log_size) - 1;
23 uint32_t expected_next_emitted_log_fields = prev_emitted_log_fields + total_log_fields_size;
27 bool error_is_static =
context.get_is_static();
30 bool error_tag_mismatch =
false;
33 values.reserve(log_size);
34 if (!error_memory_out_of_bounds) {
35 for (uint32_t i = 0; i < log_size; ++i) {
38 error_tag_mismatch =
true;
40 values.push_back(
value);
44 bool error = error_memory_out_of_bounds || error_too_many_log_fields || error_tag_mismatch || error_is_static;
49 context.set_side_effect_states(side_effect_states);
54 .space_id =
memory.get_space_id(),
55 .log_address = log_address,
57 .prev_num_unencrypted_log_fields = prev_emitted_log_fields,
59 .is_static = error_is_static,
61 .error_memory_out_of_bounds = error_memory_out_of_bounds,
62 .error_too_many_log_fields = error_too_many_log_fields,
63 .error_tag_mismatch = error_tag_mismatch,
66 if (error_memory_out_of_bounds) {
69 if (error_too_many_log_fields) {
72 if (error_tag_mismatch) {
75 if (error_is_static) {