17 uint64_t end_log_address =
static_cast<uint64_t
>(log_address) +
static_cast<uint64_t
>(log_size) - 1;
25 bool error_is_static =
context.get_is_static();
28 bool error_tag_mismatch =
false;
33 uint32_t num_memory_reads = 0;
34 if (!error_memory_out_of_bounds) {
38 for (uint32_t i = 0; i < num_memory_reads; ++i) {
41 error_tag_mismatch =
true;
43 values.push_back(
value);
47 error_too_large || error_memory_out_of_bounds || error_too_many_logs || error_tag_mismatch || error_is_static;
52 context.set_side_effect_states(side_effect_states);
57 .space_id =
memory.get_space_id(),
58 .log_address = log_address,
60 .prev_num_unencrypted_logs = log_index,
62 .is_static = error_is_static,
64 .error_too_large = error_too_large,
65 .error_memory_out_of_bounds = error_memory_out_of_bounds,
66 .error_too_many_logs = error_too_many_logs,
67 .error_tag_mismatch = error_tag_mismatch,
70 if (error_too_large) {
73 if (error_memory_out_of_bounds) {
76 if (error_too_many_logs) {
79 if (error_tag_mismatch) {
82 if (error_is_static) {