File tree Expand file tree Collapse file tree 1 file changed +8
-1
lines changed
truffle/src/com.oracle.truffle.runtime/src/com/oracle/truffle/runtime Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -369,7 +369,14 @@ public Class<?> getType() {
369
369
protected OptimizedCallTarget (OptimizedCallTarget sourceCallTarget , RootNode rootNode ) {
370
370
assert sourceCallTarget == null || sourceCallTarget .sourceCallTarget == null : "Cannot create a clone of a cloned CallTarget" ;
371
371
this .sourceCallTarget = sourceCallTarget ;
372
- this .speculationLog = sourceCallTarget != null ? sourceCallTarget .getSpeculationLog () : null ;
372
+ /*
373
+ * Don't share the source's speculation log. Different splits of the same call target can be
374
+ * very different. Moreover, the signatures used for speculations of the deopt cycle
375
+ * detection algorithm don't include call target ids, so two same compilations of two
376
+ * different splits of the same call target would produce a false positive if the
377
+ * speculation log was shared.
378
+ */
379
+ this .speculationLog = null ;
373
380
this .rootNode = rootNode ;
374
381
this .engine = OptimizedTVMCI .getEngineData (rootNode );
375
382
this .resetCompilationProfile ();
You can’t perform that action at this time.
0 commit comments