Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 83d0c965cb29
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0f96a521177b
Choose a head ref
  • 2 commits
  • 2 files changed
  • 1 contributor

Commits on Jan 11, 2018

  1. Copy the full SHA
    1ca3a82 View commit details
  2. Unbreak spec:compiler from merge with master. It was calling the raw …

    …field
    
    name but name changed from a String to a ByteList which make new frame read
    write code find nothing.
    enebo committed Jan 11, 2018
    Copy the full SHA
    0f96a52 View commit details
Showing with 5 additions and 5 deletions.
  1. +3 −1 core/src/main/java/org/jruby/ir/IRClosure.java
  2. +2 −4 core/src/main/java/org/jruby/ir/instructions/CallBase.java
4 changes: 3 additions & 1 deletion core/src/main/java/org/jruby/ir/IRClosure.java
Original file line number Diff line number Diff line change
@@ -56,7 +56,9 @@ protected IRClosure(IRManager manager, IRScope lexicalParent, int lineNumber, St
this.startLabel = getNewLabel(prefix + "START");
this.endLabel = getNewLabel(prefix + "END");
this.closureId = lexicalParent.getNextClosureId();
setByteName(prefix.dup().append(closureId));
ByteList name = prefix.dup();
name.append(Integer.toString(closureId).getBytes());
setByteName(name);
this.body = null;
}

6 changes: 2 additions & 4 deletions core/src/main/java/org/jruby/ir/instructions/CallBase.java
Original file line number Diff line number Diff line change
@@ -434,8 +434,6 @@ private static boolean potentiallySend(String name, int argsCount) {

/**
* Determine based on the method name what frame fields it is likely to need.
*
* @param name the name of the method that will be called
*/
private void captureFrameReadsAndWrites() {
// grab a reference to frame fields this method name is known to be associated with
@@ -453,8 +451,8 @@ private void captureFrameReadsAndWrites() {
frameWrites = ALL;
}
} else {
frameReads = MethodIndex.METHOD_FRAME_READS.getOrDefault(name, Collections.EMPTY_SET);
frameWrites = MethodIndex.METHOD_FRAME_WRITES.getOrDefault(name, Collections.EMPTY_SET);
frameReads = MethodIndex.METHOD_FRAME_READS.getOrDefault(getName(), Collections.EMPTY_SET);
frameWrites = MethodIndex.METHOD_FRAME_WRITES.getOrDefault(getName(), Collections.EMPTY_SET);
}
}