diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 1c84367cd7..05a48bd54b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -17,131 +17,133 @@ trigger: pr: none variables: - graalVersion: 19.2.1 # Please ensure this is in sync with the graalAPIVersion in build.sbt + graalVersion: 19.3.0 # Please ensure this is in sync with the graalAPIVersion in build.sbt + graalReleasesUrl: https://github.com/graalvm/graalvm-ce-builds/releases/download + graalDistributionName: graalvm-ce-java8 sbtVersion: 1.3.3 # Please ensure this is in sync with project/build.properties jobs: -- job: Linux - timeoutInMinutes: 90 - pool: - vmImage: 'Ubuntu-16.04' - container: - image: oracle/graalvm-ce:$(graalVersion) - options: "--name ci-container -v /usr/bin/docker:/tmp/docker:ro" - steps: - - script: /tmp/docker exec -t -u 0 ci-container sh -c "yum install -y sudo" - displayName: Setup Sudo - - script: | - curl -fSL -o sbt.tgz https://piccolo.link/sbt-$(sbtVersion).tgz - tar -x -z -C ~ -f sbt.tgz - echo "##vso[task.setvariable variable=PATH]~/sbt/bin/:$PATH" - displayName: Install SBT - - script: | - sbt -no-colors test - displayName: Test All - continueOnError: true - - script: | - sbt -no-colors syntax/bench - displayName: Benchmark the Parser - continueOnError: true - - script: | - sbt -no-colors runtime/Benchmark/compile - displayName: Check Runtime Benchmarks Compile - continueOnError: true - - task: PublishTestResults@2 - inputs: - testResultsFormat: 'JUnit' - testResultsFiles: '**/TEST-*.xml' - - script: | - sbt language_server/assembly - displayName: Build the Uberjar - continueOnError: true - - task: CopyFiles@2 - inputs: - contents: "enso.jar" - TargetFolder: "$(Build.ArtifactStagingDirectory)" - - task: PublishBuildArtifacts@1 - inputs: - pathtoPublish: "$(Build.ArtifactStagingDirectory)" - artifactName: enso-cli - - script: | - echo "##vso[task.complete result=Failed;]DONE" - condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues') - displayName: Fail on Issues -- job: macOS - timeoutInMinutes: 90 - pool: - vmImage: macOS-10.13 - steps: - - script: | - curl -fSL -o graal.tar.gz https://github.com/oracle/graal/releases/download/vm-$(graalVersion)/graalvm-ce-darwin-amd64-$(graalVersion).tar.gz - tar -x -z -C ~ -f graal.tar.gz - ls ~/graalvm-ce-$(graalVersion) - sudo mv ~/graalvm-ce-$(graalVersion) /Library/Java/JavaVirtualMachines - echo "##vso[task.setvariable variable=JAVA_HOME]/Library/Java/JavaVirtualMachines/graalvm-ce-$(graalVersion)/Contents/Home" - echo "##vso[task.setvariable variable=PATH]/Library/Java/JavaVirtualMachines/graalvm-ce-$(graalVersion)/Contents/Home/bin:$PATH" - displayName: Install GraalVM - - script: | - curl -fSL -o sbt.tgz https://piccolo.link/sbt-$(sbtVersion).tgz - tar -x -z -C ~ -f sbt.tgz - echo "##vso[task.setvariable variable=PATH]~/sbt/bin/:$PATH" - displayName: Install SBT - - script: | - sbt -no-colors test - displayName: Test All - continueOnError: true - - script: | - sbt -no-colors syntax/bench - displayName: Benchmark the Parser - continueOnError: true - - script: | - sbt -no-colors runtime/Benchmark/compile - displayName: Check Runtime Benchmarks Compile - continueOnError: true - - task: PublishTestResults@2 - inputs: - testResultsFormat: 'JUnit' - testResultsFiles: '**/TEST-*.xml' - - script: | - echo "##vso[task.complete result=Failed;]DONE" - condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues') - displayName: Fail on Issues -- job: Windows - timeoutInMinutes: 90 - pool: - vmImage: windows-2019 - steps: - - script: | - curl -fSL -o graal.zip https://github.com/oracle/graal/releases/download/vm-$(graalVersion)/graalvm-ce-windows-amd64-$(graalVersion).zip - 7z x -y -oC:\ graal.zip - displayName: Install GraalVM - - script: | - curl -fSL -o sbt.tgz https://piccolo.link/sbt-$(sbtVersion).tgz - tar -x -z -C %USERPROFILE% -f sbt.tgz - displayName: Install SBT - - script: | - call refreshenv - echo ##vso[task.setvariable variable=JAVA_HOME]C:\graalvm-ce-$(graalVersion) - echo ##vso[task.setvariable variable=PATH]C:\graalvm-ce-$(graalVersion)\bin;%PATH% - echo ##vso[task.setvariable variable=PATH]%USERPROFILE%\sbt\bin\;%PATH% - displayName: Adjust Environment Variables - - script: | - sbt.bat test - continueOnError: true - displayName: Test All - - script: | - sbt syntax/bench - displayName: Benchmark the Parser - continueOnError: true - - script: | - sbt runtime/Benchmark/compile - displayName: Check Runtime Benchmarks Compile - continueOnError: true - - task: PublishTestResults@2 - inputs: - testResultsFormat: 'JUnit' - testResultsFiles: '**/TEST-*.xml' - - script: | - echo "##vso[task.complete result=Failed;]DONE" - condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues') - displayName: Fail on Issues + - job: Linux + timeoutInMinutes: 90 + pool: + vmImage: 'Ubuntu-16.04' + container: + image: oracle/graalvm-ce:$(graalVersion)-java8 + options: "--name ci-container -v /usr/bin/docker:/tmp/docker:ro" + steps: + - script: /tmp/docker exec -t -u 0 ci-container sh -c "yum install -y sudo" + displayName: Setup Sudo + - script: | + curl -fSL -o sbt.tgz https://piccolo.link/sbt-$(sbtVersion).tgz + tar -x -z -C ~ -f sbt.tgz + echo "##vso[task.setvariable variable=PATH]~/sbt/bin/:$PATH" + displayName: Install SBT + - script: | + sbt -no-colors test + displayName: Test All + continueOnError: true + - script: | + sbt -no-colors syntax/bench + displayName: Benchmark the Parser + continueOnError: true + - script: | + sbt -no-colors runtime/Benchmark/compile + displayName: Check Runtime Benchmarks Compile + continueOnError: true + - task: PublishTestResults@2 + inputs: + testResultsFormat: 'JUnit' + testResultsFiles: '**/TEST-*.xml' + - script: | + sbt language_server/assembly + displayName: Build the Uberjar + continueOnError: true + - task: CopyFiles@2 + inputs: + contents: "enso.jar" + TargetFolder: "$(Build.ArtifactStagingDirectory)" + - task: PublishBuildArtifacts@1 + inputs: + pathtoPublish: "$(Build.ArtifactStagingDirectory)" + artifactName: enso-cli + - script: | + echo "##vso[task.complete result=Failed;]DONE" + condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues') + displayName: Fail on Issues + - job: macOS + timeoutInMinutes: 90 + pool: + vmImage: macOS-10.13 + steps: + - script: | + curl -fSL -o graal.tar.gz $(graalReleasesUrl)/vm-$(graalVersion)/$(graalDistributionName)-darwin-amd64-$(graalVersion).tar.gz + tar -x -z -C ~ -f graal.tar.gz + ls ~/$(graalDistributionName)-$(graalVersion) + sudo mv ~/$(graalDistributionName)-$(graalVersion) /Library/Java/JavaVirtualMachines + echo "##vso[task.setvariable variable=JAVA_HOME]/Library/Java/JavaVirtualMachines/$(graalDistributionName)-$(graalVersion)/Contents/Home" + echo "##vso[task.setvariable variable=PATH]/Library/Java/JavaVirtualMachines/$(graalDistributionName)-$(graalVersion)/Contents/Home/bin:$PATH" + displayName: Install GraalVM + - script: | + curl -fSL -o sbt.tgz https://piccolo.link/sbt-$(sbtVersion).tgz + tar -x -z -C ~ -f sbt.tgz + echo "##vso[task.setvariable variable=PATH]~/sbt/bin/:$PATH" + displayName: Install SBT + - script: | + sbt -no-colors test + displayName: Test All + continueOnError: true + - script: | + sbt -no-colors syntax/bench + displayName: Benchmark the Parser + continueOnError: true + - script: | + sbt -no-colors runtime/Benchmark/compile + displayName: Check Runtime Benchmarks Compile + continueOnError: true + - task: PublishTestResults@2 + inputs: + testResultsFormat: 'JUnit' + testResultsFiles: '**/TEST-*.xml' + - script: | + echo "##vso[task.complete result=Failed;]DONE" + condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues') + displayName: Fail on Issues + - job: Windows + timeoutInMinutes: 90 + pool: + vmImage: windows-2019 + steps: + - script: | + curl -fSL -o graal.zip $(graalReleasesUrl)/vm-$(graalVersion)/$(graalDistributionName)-windows-amd64-$(graalVersion).zip + 7z x -y -oC:\ graal.zip + displayName: Install GraalVM + - script: | + curl -fSL -o sbt.tgz https://piccolo.link/sbt-$(sbtVersion).tgz + tar -x -z -C %USERPROFILE% -f sbt.tgz + displayName: Install SBT + - script: | + call refreshenv + echo ##vso[task.setvariable variable=JAVA_HOME]C:\$(graalDistributionName)-$(graalVersion) + echo ##vso[task.setvariable variable=PATH]C:\$(graalDistributionName)-$(graalVersion)\bin;%PATH% + echo ##vso[task.setvariable variable=PATH]%USERPROFILE%\sbt\bin\;%PATH% + displayName: Adjust Environment Variables + - script: | + sbt.bat test + continueOnError: true + displayName: Test All + - script: | + sbt syntax/bench + displayName: Benchmark the Parser + continueOnError: true + - script: | + sbt runtime/Benchmark/compile + displayName: Check Runtime Benchmarks Compile + continueOnError: true + - task: PublishTestResults@2 + inputs: + testResultsFormat: 'JUnit' + testResultsFiles: '**/TEST-*.xml' + - script: | + echo "##vso[task.complete result=Failed;]DONE" + condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues') + displayName: Fail on Issues diff --git a/build.sbt b/build.sbt index 19180793c6..78c3ff55de 100644 --- a/build.sbt +++ b/build.sbt @@ -9,7 +9,7 @@ import sbtassembly.AssemblyPlugin.defaultUniversalScript ////////////////////////////// val scalacVersion = "2.12.10" -val graalVersion = "19.2.0.1" +val graalVersion = "19.3.0" val circeVersion = "0.11.1" organization in ThisBuild := "org.enso" scalaVersion in ThisBuild := scalacVersion @@ -300,7 +300,8 @@ lazy val project_manager = (project in file("common/scala/project-manager")) val truffleRunOptions = Seq( "-Dgraal.TruffleIterativePartialEscape=true", "-XX:-UseJVMCIClassLoader", - "-Dgraal.TruffleBackgroundCompilation=false" + "-Dgraal.TruffleBackgroundCompilation=false", + "-Dgraalvm.locatorDisabled=true" ) val truffleRunOptionsSettings = Seq( diff --git a/engine/language-server/jupyter-kernel/enso/kernel.json b/engine/language-server/jupyter-kernel/enso/kernel.json index 78e9bef642..bef041d85e 100644 --- a/engine/language-server/jupyter-kernel/enso/kernel.json +++ b/engine/language-server/jupyter-kernel/enso/kernel.json @@ -2,6 +2,7 @@ "argv": [ "java", "-XX:-UseJVMCIClassLoader", + "-Dgraalvm.locatorDisabled=true", "-jar", "", "--jupyter-kernel", diff --git a/engine/runtime/src/main/java/org/enso/interpreter/node/callable/dispatch/LoopingCallOptimiserNode.java b/engine/runtime/src/main/java/org/enso/interpreter/node/callable/dispatch/LoopingCallOptimiserNode.java index 00f91697cc..4d801687fa 100644 --- a/engine/runtime/src/main/java/org/enso/interpreter/node/callable/dispatch/LoopingCallOptimiserNode.java +++ b/engine/runtime/src/main/java/org/enso/interpreter/node/callable/dispatch/LoopingCallOptimiserNode.java @@ -45,7 +45,7 @@ public class LoopingCallOptimiserNode extends CallOptimiserNode { VirtualFrame frame = Truffle.getRuntime().createVirtualFrame(null, loopFrameDescriptor); ((RepeatedCallNode) loopNode.getRepeatingNode()) .setNextCall(frame, function, callerInfo, state, arguments); - loopNode.executeLoop(frame); + loopNode.execute(frame); return ((RepeatedCallNode) loopNode.getRepeatingNode()).getResult(frame); } diff --git a/engine/runtime/src/main/java/org/enso/interpreter/runtime/Context.java b/engine/runtime/src/main/java/org/enso/interpreter/runtime/Context.java index 393d9d3b23..dc8e4160e7 100644 --- a/engine/runtime/src/main/java/org/enso/interpreter/runtime/Context.java +++ b/engine/runtime/src/main/java/org/enso/interpreter/runtime/Context.java @@ -55,7 +55,8 @@ public class Context { SourceFile::qualifiedName, srcFile -> new Module( - getEnvironment().getTruffleFile(srcFile.file().getAbsolutePath())))); + getEnvironment() + .getInternalTruffleFile(srcFile.file().getAbsolutePath())))); this.compiler = new Compiler(this.language, knownFiles, this); }