mirror of
https://github.com/mistergibson/gxg-web-client.git
synced 2026-08-15 11:34:29 -07:00
76 lines
1.9 KiB
Ruby
76 lines
1.9 KiB
Ruby
module Rubinius
|
|
class CallSite
|
|
attr_reader :name
|
|
attr_reader :cache
|
|
|
|
def ip
|
|
Rubinius.primitive :call_site_ip
|
|
raise PrimitiveFailure, "CallSite#ip primitive failed"
|
|
end
|
|
|
|
def size
|
|
Rubinius.primitive :call_site_size
|
|
raise PrimitiveFailure, "CallSite#size primitive failed"
|
|
end
|
|
|
|
def invokes
|
|
Rubinius.primitive :call_site_invokes
|
|
raise PrimitiveFailure, "CallSite#invokes primitive failed"
|
|
end
|
|
|
|
def hits
|
|
Rubinius.primitive :call_site_hits
|
|
raise PrimitiveFailure, "CallSite#hits primitive failed"
|
|
end
|
|
|
|
def misses
|
|
Rubinius.primitive :call_site_misses
|
|
raise PrimitiveFailure, "CallSite#misses primitive failed"
|
|
end
|
|
|
|
def evictions
|
|
Rubinius.primitive :call_site_evictions
|
|
raise PrimitiveFailure, "CallSite#evictions primitive failed"
|
|
end
|
|
|
|
def rotations
|
|
Rubinius.primitive :call_site_rotations
|
|
raise PrimitiveFailure, "CallSite#rotations primitive failed"
|
|
end
|
|
|
|
def dead_list_size
|
|
Rubinius.primitive :call_site_dead_list_size
|
|
raise PrimitiveFailure, "CallSite#dead_list_size primitive failed"
|
|
end
|
|
|
|
def cache_entries
|
|
Rubinius.primitive :call_site_cache_entries
|
|
raise PrimitiveFailure, "CallSite#caches primitive failed"
|
|
end
|
|
|
|
def reset
|
|
Rubinius.primitive :call_site_reset
|
|
raise PrimitiveFailure, "CallSite#reset primitive failed"
|
|
end
|
|
|
|
def inspect
|
|
str = "#<#{self.class.name}:0x#{self.object_id.to_s(16)} name=#{@name} ip=#{ip} " \
|
|
"size=#{size} invokes=#{invokes} hits=#{hits} misses=#{misses} " \
|
|
"evictions=#{evictions} rotations=#{rotations} dead_list=#{dead_list_size}"
|
|
|
|
cache_entries.each do |entry|
|
|
str << " #<Entry"
|
|
i = 0
|
|
while i < entry.size
|
|
str << " #{entry[i]}=#{entry[i+1]}"
|
|
i += 2
|
|
end
|
|
str << ">"
|
|
end
|
|
|
|
str << ">"
|
|
end
|
|
|
|
alias_method :to_s, :inspect
|
|
end
|
|
end
|