public final void compile() {
   if (!isCompiling()) {
     ensureCloned();
     runtime.compile(
         this,
         TruffleBackgroundCompilation.getValue()
             && !TruffleCompilationExceptionsAreThrown.getValue());
   }
 }
 public OptimizedCallTarget cloneUninitialized() {
   ensureCloned();
   RootNode copiedRoot = cloneRootNode(uninitializedRootNode);
   if (copiedRoot == null) {
     return null;
   }
   OptimizedCallTarget splitTarget =
       (OptimizedCallTarget) runtime.createClonedCallTarget(this, copiedRoot);
   splitTarget.cloneIndex = cloneIndex++;
   return splitTarget;
 }
 public final void log(String message) {
   runtime.log(message);
 }