15 uint64_t end_log_address =
static_cast<uint64_t
>(log_address) +
static_cast<uint64_t
>(log_size) - 1;
19 uint32_t prev_emitted_log_fields =
side_effect_tracker.get_side_effects().get_num_unencrypted_log_fields();
22 uint32_t expected_next_emitted_log_fields = prev_emitted_log_fields + total_log_fields_size;
26 bool error_is_static =
context.get_is_static();
29 bool error_tag_mismatch =
false;
32 values.reserve(log_size);
33 if (!error_memory_out_of_bounds) {
34 for (uint32_t i = 0; i < log_size; ++i) {
37 error_tag_mismatch =
true;
39 values.push_back(
value);
43 bool error = error_memory_out_of_bounds || error_too_many_log_fields || error_tag_mismatch || error_is_static;
52 .space_id =
memory.get_space_id(),
53 .log_address = log_address,
55 .prev_num_unencrypted_log_fields = prev_emitted_log_fields,
56 .next_num_unencrypted_log_fields =
side_effect_tracker.get_side_effects().get_num_unencrypted_log_fields(),
57 .is_static = error_is_static,
59 .error_memory_out_of_bounds = error_memory_out_of_bounds,
60 .error_too_many_log_fields = error_too_many_log_fields,
61 .error_tag_mismatch = error_tag_mismatch,
64 if (error_memory_out_of_bounds) {
67 if (error_too_many_log_fields) {
70 if (error_tag_mismatch) {
73 if (error_is_static) {