From 806c6a62dace9565409bad1b2dbc2e5a7718adee Mon Sep 17 00:00:00 2001 From: Lukas Stadler <lukas.stadler@oracle.com> Date: Mon, 12 Dec 2016 11:46:33 +0100 Subject: [PATCH] new FastROptions.ForceSources to generate source sections for all nodes --- .../src/com/oracle/truffle/r/nodes/RASTBuilder.java | 5 +++++ .../src/com/oracle/truffle/r/runtime/FastROptions.java | 1 + 2 files changed, 6 insertions(+) diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTBuilder.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTBuilder.java index 4b35745a57..12146234e4 100644 --- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTBuilder.java +++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/RASTBuilder.java @@ -234,6 +234,11 @@ public final class RASTBuilder implements RCodeBuilder<RSyntaxNode> { FrameDescriptor descriptor = new FrameDescriptor(); FrameSlotChangeMonitor.initializeFunctionFrameDescriptor(name != null && !name.isEmpty() ? name : "<function>", descriptor); FunctionDefinitionNode rootNode = FunctionDefinitionNode.create(source, descriptor, argSourceSections, saveArguments, body, formals, name, argPostProcess); + + if (FastROptions.ForceSources.getBooleanValue()) { + // forces source sections to be generated + rootNode.getSourceSection(); + } return Truffle.getRuntime().createCallTarget(rootNode); } diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/FastROptions.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/FastROptions.java index f0005b639a..767d9529d1 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/FastROptions.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/FastROptions.java @@ -53,6 +53,7 @@ public enum FastROptions { RefCountIncrementOnly("Disable reference count decrements for experimental state transition implementation", false), UseInternalGraphics("Whether the internal (Java) graphics subsystem should be used", false), UseSpecials("Whether the fast-path special call nodes should be created for simple enough arguments.", true), + ForceSources("Generate source sections for unserialized code", false), // Promises optimizations EagerEval("If enabled, overrides all other EagerEval switches (see EagerEvalHelper)", false), -- GitLab