Skip to content

Commit 6b00c06

Browse files
Update ethereum/core/src/main/java/org/hyperledger/besu/ethereum/vm/DebugOperationTracer.java
Call lastFrame.getMemory() only once Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: daniellehrner <daniel.lehrner@consensys.net>
1 parent 9649104 commit 6b00c06

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

ethereum/core/src/main/java/org/hyperledger/besu/ethereum/vm/DebugOperationTracer.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -245,12 +245,13 @@ private Optional<Map<UInt256, UInt256>> captureStorage(final MessageFrame frame)
245245
private Optional<Bytes[]> captureMemory(final MessageFrame frame) {
246246
if (!options.traceMemory() || frame.memoryWordSize() == 0) {
247247
return Optional.empty();
248-
} else if (frame.getMaybeUpdatedMemory().isEmpty()
249-
&& lastFrame != null
250-
&& lastFrame.getDepth() == frame.getDepth()
251-
&& lastFrame.getMemory().isPresent()
252-
&& lastFrame.getMemory().get().length == frame.memoryWordSize()) {
253-
return lastFrame.getMemory();
248+
} else if (frame.getMaybeUpdatedMemory().isEmpty() && lastFrame != null) {
249+
final Optional<Bytes[]> lastMemory = lastFrame.getMemory();
250+
if (lastFrame.getDepth() == frame.getDepth()
251+
&& lastMemory.isPresent()
252+
&& lastMemory.get().length == frame.memoryWordSize()) {
253+
return lastMemory;
254+
}
254255
}
255256
return forceCaptureMem(frame);
256257
}

0 commit comments

Comments
 (0)