Skip to content

Commit 7f2310b

Browse files
committed
[GR-26423] Remove TraceManager unused assumption
PullRequest: truffleruby/2058
2 parents 5c94a6a + f7cc022 commit 7f2310b

File tree

2 files changed

+7
-12
lines changed

2 files changed

+7
-12
lines changed

src/main/java/org/truffleruby/RubyContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ public RubyContext(RubyLanguage language, TruffleLanguage.Env env) {
214214

215215
Metrics.printTime("before-instruments");
216216
final Instrumenter instrumenter = env.lookup(Instrumenter.class);
217-
traceManager = new TraceManager(this, instrumenter);
217+
traceManager = new TraceManager(language, this, instrumenter);
218218
coverageManager = new CoverageManager(this, instrumenter);
219219
Metrics.printTime("after-instruments");
220220

src/main/java/org/truffleruby/core/kernel/TraceManager.java

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import java.util.Collection;
1414

1515
import org.truffleruby.RubyContext;
16+
import org.truffleruby.RubyLanguage;
1617
import org.truffleruby.core.binding.BindingNodes;
1718
import org.truffleruby.core.klass.RubyClass;
1819
import org.truffleruby.core.proc.RubyProc;
@@ -22,7 +23,6 @@
2223
import org.truffleruby.language.objects.LogicalClassNode;
2324
import org.truffleruby.shared.TruffleRuby;
2425

25-
import com.oracle.truffle.api.Assumption;
2626
import com.oracle.truffle.api.CompilerDirectives;
2727
import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
2828
import com.oracle.truffle.api.frame.VirtualFrame;
@@ -32,7 +32,6 @@
3232
import com.oracle.truffle.api.instrumentation.SourceSectionFilter;
3333
import com.oracle.truffle.api.instrumentation.Tag;
3434
import com.oracle.truffle.api.profiles.ConditionProfile;
35-
import com.oracle.truffle.api.utilities.CyclicAssumption;
3635

3736
public class TraceManager {
3837
public static class LineTag extends Tag {
@@ -49,20 +48,16 @@ public static class NeverTag extends Tag {
4948
}
5049

5150
private final RubyContext context;
51+
private final RubyLanguage language;
5252
private final Instrumenter instrumenter;
53-
private final CyclicAssumption unusedAssumption;
5453

5554
private Collection<EventBinding<?>> instruments;
5655
private boolean isInTraceFunc = false;
5756

58-
public TraceManager(RubyContext context, Instrumenter instrumenter) {
57+
public TraceManager(RubyLanguage language, RubyContext context, Instrumenter instrumenter) {
58+
this.language = language;
5959
this.context = context;
6060
this.instrumenter = instrumenter;
61-
this.unusedAssumption = new CyclicAssumption("set_trace_func is not used");
62-
}
63-
64-
public Assumption getUnusedAssumption() {
65-
return unusedAssumption.getAssumption();
6661
}
6762

6863
@TruffleBoundary
@@ -76,13 +71,13 @@ public synchronized void setTraceFunc(RubyProc traceFunc) {
7671

7772
if (traceFunc == null) {
7873
// Update to a new valid assumption
79-
unusedAssumption.invalidate();
74+
language.traceFuncUnusedAssumption.invalidate();
8075
instruments = null;
8176
return;
8277
}
8378

8479
// Invalidate current assumption
85-
unusedAssumption.getAssumption().invalidate();
80+
language.traceFuncUnusedAssumption.getAssumption().invalidate();
8681

8782
instruments = new ArrayList<>();
8883

0 commit comments

Comments
 (0)