Skip to content

Commit

Permalink
Showing 3 changed files with 12 additions and 12 deletions.
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@

require_relative '../../../../ruby/spec_helper'

describe "Truffle::Array.take_ownership_of_store" do
describe "Truffle::Array.steal_storage" do
def storage(ary)
Truffle::Debug.array_storage(ary)
end
@@ -21,7 +21,7 @@ def storage(ary)
it "should no-op when called on itself" do
copy = @array.dup

Truffle::Array.take_ownership_of_store(@array, @array)
Truffle::Array.steal_storage(@array, @array)

storage(@array).should == "Object[]"
@array.should == copy
@@ -31,7 +31,7 @@ def storage(ary)
other = [1, 2, 3, 4, 5]
other_copy = other.dup

Truffle::Array.take_ownership_of_store(@array, other)
Truffle::Array.steal_storage(@array, other)

storage(@array).should == "int[]"
@array.should == other_copy
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@
@CoreClass("Truffle::Array")
public class TruffleArrayNodes {

@CoreMethod(names = "take_ownership_of_store", onSingleton = true, required = 2)
@CoreMethod(names = "steal_storage", onSingleton = true, required = 2)
public abstract static class TakeOwnershipOfStoreNode extends CoreMethodArrayArgumentsNode {

@Specialization(guards = "array == other")
16 changes: 8 additions & 8 deletions truffle/src/main/ruby/core/array.rb
Original file line number Diff line number Diff line change
@@ -811,7 +811,7 @@ def flatten!(level=-1)

out = new_reserved size
if recursively_flatten(self, out, level)
Truffle::Array.take_ownership_of_store(self, out)
Truffle::Array.steal_storage(self, out)
return self
end

@@ -987,7 +987,7 @@ def keep_if(&block)

Truffle.check_frozen

Truffle::Array.take_ownership_of_store(self, select(&block))
Truffle::Array.steal_storage(self, select(&block))
end

def last(n=undefined)
@@ -1337,7 +1337,7 @@ def rotate!(cnt=1)
return self if length == 0 || length == 1

ary = rotate(cnt)
Truffle::Array.take_ownership_of_store(self, ary)
Truffle::Array.steal_storage(self, ary)
end

class SampleRandom
@@ -1467,7 +1467,7 @@ def select!(&block)
Truffle.check_frozen

ary = select(&block)
Truffle::Array.take_ownership_of_store(self, ary) unless size == ary.size
Truffle::Array.steal_storage(self, ary) unless size == ary.size
end

def set_index(index, ent, fin=undefined)
@@ -1748,7 +1748,7 @@ def sort_by!(&block)

return to_enum(:sort_by!) { size } unless block_given?

Truffle::Array.take_ownership_of_store(self, sort_by(&block))
Truffle::Array.steal_storage(self, sort_by(&block))
end

# Sorts this Array in-place. See #sort.
@@ -2044,7 +2044,7 @@ def mergesort!
width *= 2
end

Truffle::Array.take_ownership_of_store(self, source)
Truffle::Array.steal_storage(self, source)

self
end
@@ -2108,7 +2108,7 @@ def mergesort_block!(block)
width *= 2
end

Truffle::Array.take_ownership_of_store(self, source)
Truffle::Array.steal_storage(self, source)

self
end
@@ -2399,7 +2399,7 @@ def element_reference_fallback(method_name, args)
def sort!(&block)
Truffle.check_frozen

Truffle::Array.take_ownership_of_store(self, sort(&block))
Truffle::Array.steal_storage(self, sort(&block))
end
public :sort!
end

0 comments on commit bece4dc

Please sign in to comment.