From 9ed4d1ab8ca3bcf10cd57144768176235a06dbf4 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 3 Feb 2013 00:38:46 +0000 Subject: profiler.rb: block calls * lib/profiler.rb (PROFILE_CALL_PROC, PROFILE_RETURN_PROC): add b_call and b_return to profile block calls. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 ++++- lib/profiler.rb | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7d0edd2c0f..3ba22738b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,7 @@ -Sun Feb 3 09:37:22 2013 Nobuyoshi Nakada +Sun Feb 3 09:38:44 2013 Nobuyoshi Nakada + + * lib/profiler.rb (PROFILE_CALL_PROC, PROFILE_RETURN_PROC): add b_call + and b_return to profile block calls. * lib/profiler.rb (PROFILE_CALL_PROC, PROFILE_RETURN_PROC): split PROFILE_PROC for call and return events. diff --git a/lib/profiler.rb b/lib/profiler.rb index 862f442cf0..be33daf662 100644 --- a/lib/profiler.rb +++ b/lib/profiler.rb @@ -76,12 +76,12 @@ module Profiler__ @@start = nil # the start time that profiling began @@stacks = nil # the map of stacks keyed by thread @@maps = nil # the map of call data keyed by thread, class and id. Call data contains the call count, total time, - PROFILE_CALL_PROC = TracePoint.new(:call, :c_call) {|tp| # :nodoc: + PROFILE_CALL_PROC = TracePoint.new(*%i[call c_call b_call]) {|tp| # :nodoc: now = Process.times[0] stack = (@@stacks[Thread.current] ||= []) stack.push [now, 0.0] } - PROFILE_RETURN_PROC = TracePoint.new(:return, :c_return) {|tp| # :nodoc: + PROFILE_RETURN_PROC = TracePoint.new(*%i[return c_return b_return]) {|tp| # :nodoc: now = Process.times[0] key = Wrapper.new(tp.defined_class, tp.method_id) stack = (@@stacks[Thread.current] ||= []) -- cgit v1.2.3