Skip to content

Commit

Permalink
Merge 5a7d4a6 into 4f7ad41
Browse files Browse the repository at this point in the history
  • Loading branch information
smarr committed May 12, 2020
2 parents 4f7ad41 + 5a7d4a6 commit 84a2efb
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 21 deletions.
6 changes: 3 additions & 3 deletions build.xml
Expand Up @@ -61,7 +61,7 @@
<property name="jvmci.home" location="${lib.dir}/jvmci${home.ext}" />

<!-- <property name="lib.url" value="https://dl.bintray.com/smarr/SOM" /> -->
<property name="lib.url" value="http://stefan-marr.de/dev" />
<property name="lib.url" value="https://stefan-marr.de/dev" />

<property name="mx.cmd" value="../../mx/mx" />

Expand Down Expand Up @@ -192,7 +192,7 @@
</exec>
</target>

<target name="jvmci-libs">
<target name="jvmci-libs" unless="skip.libs">
<get src="https://github.com/graalvm/openjdk8-jvmci-builder/releases/download/${jvmci.version}/openjdk-8u${jdk8.version}-${jvmci.version}-${kernel}.tar.gz"
usetimestamp="true"
dest="${lib.dir}/jvmci.tar.gz" />
Expand Down Expand Up @@ -292,7 +292,7 @@

<target name="jacoco-lib" description="Get JaCoCo dependency">
<travis target="jacoco-lib" start="Get JaCoCo" />
<get src="http://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/${jacoco.version}/jacoco-${jacoco.version}.zip"
<get src="https://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/${jacoco.version}/jacoco-${jacoco.version}.zip"
usetimestamp="true"
dest="${lib.dir}/jacoco-${jacoco.version}.zip" />
<unzip src="${lib.dir}/jacoco-${jacoco.version}.zip" dest="${lib.dir}/jacoco"/>
Expand Down
6 changes: 3 additions & 3 deletions core-lib/Kernel.ns
Expand Up @@ -696,9 +696,9 @@ class Kernel vmMirror: vmMirror = Object <: Value (
)

public class Vector new: size = (
| private firstIdx ::= 1.
private lastIdx ::= 1.
private storage ::= Array new: size. |
| protected firstIdx ::= 1.
protected lastIdx ::= 1.
protected storage ::= Array new: size. |
) (
(* Accessing *)
public at: index = (
Expand Down
21 changes: 21 additions & 0 deletions src/som/compiler/MethodBuilder.java
Expand Up @@ -735,6 +735,27 @@ public void addMethodDefinitionSource(final SourceSection source) {
definition.add(source);
}

private String stripColonsAndSourceLocation(String str) {
int startOfSource = str.indexOf('@');
if (startOfSource > -1) {
str = str.substring(0, startOfSource);
}
return str.replace(":", "");
}

public void setBlockSignature(final SourceCoordinate coord) {
String outerMethodName = stripColonsAndSourceLocation(getOuter().getName());

int argSize = getNumberOfArguments();
String blockSig = "λ" + outerMethodName + "@" + coord.startLine + "@" + coord.startColumn;

for (int i = 1; i < argSize; i++) {
blockSig += ":";
}

setSignature(symbolFor(blockSig));
}

@Override
public String toString() {
MixinBuilder mixin = getMixin();
Expand Down
15 changes: 1 addition & 14 deletions src/som/compiler/Parser.java
Expand Up @@ -1688,10 +1688,6 @@ private String character() throws ParseError {
return s;
}

private String stripColons(final String str) {
return str.replace(":", "");
}

private ExpressionNode nestedBlock(final MethodBuilder builder)
throws ProgramDefinitionError {
SourceCoordinate coord = getCoordinate();
Expand All @@ -1703,16 +1699,7 @@ private ExpressionNode nestedBlock(final MethodBuilder builder)
blockPattern(builder);
}

String outerMethodName = stripColons(builder.getOuter().getName());

// generate Block signature
String blockSig = "λ" + outerMethodName + "@" + coord.startLine + "@" + coord.startColumn;
int argSize = builder.getNumberOfArguments();
for (int i = 1; i < argSize; i++) {
blockSig += ":";
}

builder.setSignature(symbolFor(blockSig));
builder.setBlockSignature(coord);

ExpressionNode expressions = blockContents(builder);

Expand Down
4 changes: 3 additions & 1 deletion src/som/interpreter/actors/ReceivedRootNode.java
Expand Up @@ -28,7 +28,9 @@ public abstract class ReceivedRootNode extends RootNode {
@Child protected AbstractPromiseResolutionNode resolve;
@Child protected AbstractPromiseResolutionNode error;

@Child protected TraceMessageNode msgTracer = TraceMessageNodeGen.create();
@Child protected TraceMessageNode msgTracer =
VmSettings.ACTOR_TRACING ? TraceMessageNodeGen.create() : null;

@Child protected MessageSerializationNode serializer;

private final VM vm;
Expand Down
2 changes: 2 additions & 0 deletions src/som/interpreter/nodes/ContextualNode.java
Expand Up @@ -21,6 +21,7 @@
*/
package som.interpreter.nodes;

import com.oracle.truffle.api.CompilerDirectives;
import com.oracle.truffle.api.CompilerDirectives.CompilationFinal;
import com.oracle.truffle.api.frame.Frame;
import com.oracle.truffle.api.frame.MaterializedFrame;
Expand Down Expand Up @@ -78,6 +79,7 @@ protected final MaterializedFrame determineContext(final Frame frame) {
if (i > 0) {
boolean doBuildChain = determineContext == null;
if (doBuildChain) {
CompilerDirectives.transferToInterpreterAndInvalidate();
determineContext = buildChain(self, i);
}

Expand Down
Binary file modified tests/dym/expected-results.tar.bz2
Binary file not shown.

0 comments on commit 84a2efb

Please sign in to comment.