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: 38babe0872e2
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 722433afabda
Choose a head ref
  • 4 commits
  • 5 files changed
  • 1 contributor

Commits on Sep 30, 2015

  1. Copy the full SHA
    a579184 View commit details
  2. [Truffle] Add missing case in ArrayWriteNormalizedNode.

    * ary(Object[])[ary.size] = (double)
    eregon committed Sep 30, 2015
    Copy the full SHA
    c0d9935 View commit details
  3. Copy the full SHA
    b2cb17a View commit details
  4. Copy the full SHA
    722433a View commit details
3 changes: 3 additions & 0 deletions spec/truffle/tags/core/marshal/dump_tags.txt
Original file line number Diff line number Diff line change
@@ -20,3 +20,6 @@ fails:Marshal.dump with a Time dumps the zone and the offset
fails:Marshal.dump with a Time dumps the zone, but not the offset if zone is UTC
fails:Marshal.dump with an Exception dumps the message for the exception
fails:Marshal.dump with an Exception contains the filename in the backtrace
fails:Marshal.dump with a Symbol dumps a binary encoded Symbol
fails:Marshal.dump with a String dumps a String subclass extended with a Module
fails:Marshal.dump with an Object dumps an Object that has had an instance variable added and removed as though it was never set
6 changes: 6 additions & 0 deletions spec/truffle/tags/core/marshal/load_tags.txt
Original file line number Diff line number Diff line change
@@ -16,3 +16,9 @@ fails:Marshal.load for a user Class that extends a core type other than Object o
fails:Marshal.load for a wrapped C pointer loads
fails:Marshal.load for a wrapped C pointer raises ArgumentError when the local class is a regular object
fails:Marshal.load when a class with the same name as the dumped one exists outside the namespace invokes Module#const_missing
fails:Marshal.load when called with a proc returns the value of the proc
fails:Marshal.load when called with a proc calls the proc for recursively visited data
fails:Marshal.load when called with a proc loads an Array with proc
fails:Marshal.load for a Hash loads an extended hash object containing a user-marshaled object
fails:Marshal.load for a Time loads the zone
fails:Marshal.load when a class does not exist in the namespace raises an ArgumentError
6 changes: 6 additions & 0 deletions spec/truffle/tags/core/marshal/restore_tags.txt
Original file line number Diff line number Diff line change
@@ -16,3 +16,9 @@ fails:Marshal.restore for a user Class that extends a core type other than Objec
fails:Marshal.restore for a wrapped C pointer loads
fails:Marshal.restore for a wrapped C pointer raises ArgumentError when the local class is a regular object
fails:Marshal.restore when a class with the same name as the dumped one exists outside the namespace invokes Module#const_missing
fails:Marshal.restore when called with a proc returns the value of the proc
fails:Marshal.restore when called with a proc calls the proc for recursively visited data
fails:Marshal.restore when called with a proc loads an Array with proc
fails:Marshal.restore for a Hash loads an extended hash object containing a user-marshaled object
fails:Marshal.restore for a Time loads the zone
fails:Marshal.restore when a class does not exist in the namespace raises an ArgumentError
Original file line number Diff line number Diff line change
@@ -216,16 +216,6 @@ public Object writeWithinDouble(DynamicObject array, int index, Object value) {

// Extending an array of compatible type by just one

@Specialization(
guards={"isRubyArray(array)", "isObjectArray(array)", "isExtendingByOne(array, index)"}
)
public boolean writeExtendByOne(VirtualFrame frame, DynamicObject array, int index, boolean value) {
ensureCapacityNode.executeEnsureCapacity(frame, array, index + 1);
((Object[]) Layouts.ARRAY.getStore(array))[index] = value;
Layouts.ARRAY.setSize(array, index + 1);
return value;
}

@Specialization(
guards={"isRubyArray(array)", "isIntArray(array)", "isExtendingByOne(array, index)"}
)
@@ -269,17 +259,7 @@ public double writeExtendByOne(VirtualFrame frame, DynamicObject array, int inde
@Specialization(
guards={"isRubyArray(array)", "isObjectArray(array)", "isExtendingByOne(array, index)"}
)
public DynamicObject writeExtendByOne(VirtualFrame frame, DynamicObject array, int index, DynamicObject value) {
ensureCapacityNode.executeEnsureCapacity(frame, array, index + 1);
((Object[]) Layouts.ARRAY.getStore(array))[index] = value;
Layouts.ARRAY.setSize(array, index + 1);
return value;
}

@Specialization(
guards={"isRubyArray(array)", "isObjectArray(array)", "isExtendingByOne(array, index)"}
)
public int writeObjectExtendByOne(VirtualFrame frame, DynamicObject array, int index, int value) {
public Object writeExtendByOne(VirtualFrame frame, DynamicObject array, int index, Object value) {
ensureCapacityNode.executeEnsureCapacity(frame, array, index + 1);
((Object[]) Layouts.ARRAY.getStore(array))[index] = value;
Layouts.ARRAY.setSize(array, index + 1);
Original file line number Diff line number Diff line change
@@ -303,7 +303,7 @@ public long timeNSeconds(DynamicObject time) {

}

@RubiniusPrimitive(name = "time_set_nseconds")
@RubiniusPrimitive(name = "time_set_nseconds", lowerFixnumParameters = 0)
public static abstract class TimeSetNSecondsPrimitiveNode extends RubiniusPrimitiveNode {

public TimeSetNSecondsPrimitiveNode(RubyContext context, SourceSection sourceSection) {