rubyx/lib/parfait/cache_entry.rb

23 lines
653 B
Ruby
Raw Normal View History

2018-03-17 14:33:39 +01:00
# For dynamic calls (ie method calls where the method can not be determined at compile time)
# we resolve the method at runtime, and then cache it. Aaron has shown that over 99%
# of call sites are type stable, so one cache entry at the moment
#
# A cache entry stores the type of the object and the CallableMethod that is to be called
2018-03-17 14:33:39 +01:00
# This is used in DynamicCall, see there
#
module Parfait
class CacheEntry < Object
attr :type, :cached_type, :cached_method
2018-03-17 14:33:39 +01:00
def initialize(type , method)
self.cached_type = type
self.cached_method = method
2018-03-17 14:33:39 +01:00
end
2018-04-17 19:26:15 +02:00
def to_s
"CacheEntry" + "#{cached_method&.name}"
end
2018-03-17 14:33:39 +01:00
end
end