Wrap text
Report abuse
|
|
diff --git a/src/org/jruby/runtime/ThreadContext.java b/src/org/jruby/runtime/ThreadContext.java
index 097bcf4..0e6e158 100644
--- a/src/org/jruby/runtime/ThreadContext.java
+++ b/src/org/jruby/runtime/ThreadContext.java
@@ -346,14 +346,17 @@ public final class ThreadContext {
expandFramesIfNecessary();
}
}
private void popFrame() {
Frame frame = frameStack[frameIndex];
frameIndex--;
setFile(frame.getFile());
setLine(frame.getLine());
+
+ // reset frame data to avoid memory leaks
+ frame.updateFrame(null, null, null, Block.NULL_BLOCK, null, 0, null);
}
private void popFrameReal(Frame oldFrame) {
Frame frame = frameStack[frameIndex];
frameStack[frameIndex] = oldFrame;
|