Conversation
|
Removing from draft to get size metrics |
Changes to public function bytecode sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
| memory.checkTag(TypeTag.UINT32, returnSizeOffset); | ||
| const returnSize = memory.get(returnSizeOffset).toNumber(); | ||
| context.machineState.consumeGas(this.gasCost(returnSize)); | ||
|
|
There was a problem hiding this comment.
I think we are missing a check enforcing tag FF on the return memory range, stgh like:
memory.checkTagsRange(TypeTag.FIELD, returnOffset, returnSize);
There was a problem hiding this comment.
Same in .cpp, but as I am working exactly on that I will do it as part of my PR.
|
I think tests should be passing now |
noir/noir-repo/compiler/noirc_evaluator/src/brillig/brillig_ir/instructions.rs
Outdated
Show resolved
Hide resolved
TomAFrench
left a comment
There was a problem hiding this comment.
Looks good to me. One question on whether you intended to remove usage of "external stop" entirely.
TomAFrench
left a comment
There was a problem hiding this comment.
blocking temporarily as there's annoying conflicts on the sync which I don't want to worsen.
Updates the Brillig stop opcode to return a HeapVector (pointer + dynamic size). Also changes the transpiler, simulator and witness gen of the AVM to support it.