Skip to content

Commit

Permalink
Add :subid to :vtable entries so they can be profiled via RAKUDO_SUBLOG.
Browse files Browse the repository at this point in the history
  • Loading branch information
pmichaud committed May 27, 2011
1 parent 3696656 commit 0d3c71c
Show file tree
Hide file tree
Showing 10 changed files with 44 additions and 30 deletions.
2 changes: 1 addition & 1 deletion src/builtins/Bool.pir
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ symbols for C<Bool::True> and C<Bool::False>.
.return ($P0)
.end

.sub '' :method :vtable('get_string')
.sub '' :method :vtable('get_string') :subid('Bool.vtable_get_string')
if self goto true
.return ('Bool::False')
true:
Expand Down
2 changes: 1 addition & 1 deletion src/builtins/Capture.pir
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ The number of positional elements in the Capture.

=cut

.sub 'elems' :method :vtable('elements')
.sub 'elems' :method :vtable('elements') :subid('Capture.vtable_get_elements')
x_enter_sublog
$P0 = getattribute self, '$!pos'
$I0 = elements $P0
Expand Down
2 changes: 1 addition & 1 deletion src/builtins/Code.pir
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ Just calls this block with the supplied parameters.

=cut

.sub 'callwith' :method :vtable('invoke')
.sub 'callwith' :method :vtable('invoke') :subid('Code.vtable_invoke')
.param pmc pos_args :slurpy
.param pmc named_args :slurpy :named
x_enter_sublog
Expand Down
12 changes: 6 additions & 6 deletions src/builtins/Failure.pir
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ A Perl 6 Exception object.
okay:
.end

.sub '' :vtable('get_bool') :method
.sub '' :vtable('get_bool') :method :subid('Failure.vtable_get_bool')
$I0 = self.'Bool'()
.return ($I0)
.end
Expand All @@ -80,12 +80,12 @@ A Perl 6 Exception object.
.return ($P0)
.end

.sub '' :vtable('defined') :method
.sub '' :vtable('defined') :method :subid('Failure.vtable_defined')
$I0 = self.'defined'()
.return ($I0)
.end

.sub '' :vtable('get_string') :method
.sub '' :vtable('get_string') :method :subid('Failure.vtable_get_string')
$S0 = self.'Str'()
.return ($S0)
.end
Expand All @@ -99,7 +99,7 @@ A Perl 6 Exception object.
.return ($S0)
.end

.sub '' :vtable('get_number') :method
.sub '' :vtable('get_number') :method :subid('Failure.vtable_get_number')
$S0 = self.'Num'()
.return ($S0)
.end
Expand All @@ -111,7 +111,7 @@ A Perl 6 Exception object.
.return ($N0)
.end

.sub '' :vtable('get_integer') :method
.sub '' :vtable('get_integer') :method :subid('Failure.vtable_get_integer')
$S0 = self.'Int'()
.return ($S0)
.end
Expand All @@ -123,7 +123,7 @@ A Perl 6 Exception object.
.return ($I0)
.end

.sub '' :vtable('invoke') :method
.sub '' :vtable('invoke') :method :subid('Failure.vtable_invoke')
.param pmc pos :slurpy
.param pmc named :slurpy :named
$P0 = self.'exception'()
Expand Down
2 changes: 1 addition & 1 deletion src/builtins/Junction.pir
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ Return the components of the Junction.
=cut

.namespace ['Junction']
.sub '' :method :vtable('get_bool')
.sub '' :method :vtable('get_bool') :subid('Junction.vtable_get_bool')
$I0 = self.'Bool'()
.return ($I0)
.end
Expand Down
2 changes: 1 addition & 1 deletion src/builtins/List.pir
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ This file implements Perl 6 lists.


.namespace ['List']
.sub '' :vtable('get_pmc_keyed_int')
.sub '' :vtable('get_pmc_keyed_int') :subid('List.vtable_get_pmc_keyed_int')
.param int key
.tailcall self.'postcircumfix:<[ ]>'(key)
.end
Expand Down
42 changes: 28 additions & 14 deletions src/builtins/Mu.pir
Original file line number Diff line number Diff line change
Expand Up @@ -401,85 +401,99 @@ Gets the object's identity value
=cut
.namespace ['Mu']
.sub '' :vtable('concatenate') :method
.sub '' :vtable('concatenate') :method :subid('Mu.vtable_concatentate')
.param pmc arg
.param pmc dest
x_enter_sublog
$S0 = self
$S1 = arg
$S2 = concat $S0, $S1
$P2 = box $S2
.return ($P2)
.end
.sub '' :vtable('concatenate_str') :method
.sub '' :vtable('concatenate_str') :method :subid('Mu.vtable_concatenate_str')
.param string arg
.param pmc dest
x_enter_sublog
$S0 = self
$S1 = concat $S0, arg
$P1 = box $S1
.return ($P1)
.end
.sub '' :vtable('decrement') :method
.sub '' :vtable('decrement') :method :subid('Mu.vtable_decrement')
x_enter_sublog
$P0 = self.'pred'()
'&infix:<=>'(self, $P0)
.return(self)
.end
.sub '' :vtable('defined') :method
.sub '' :vtable('defined') :method :subid('Mu.vtable_defined')
x_enter_sublog
$I0 = self.'defined'()
.return ($I0)
.end
.sub '' :vtable('elements') :method
.sub '' :vtable('elements') :method :subid('Mu.vtable_elements')
x_enter_sublog
$I0 = self.'elems'()
.return ($I0)
.end
.sub '' :vtable('get_bool') :method
.sub '' :vtable('get_bool') :method :subid('Mu.vtable_get_bool')
x_enter_sublog
$I0 = self.'Bool'()
.return ($I0)
.end
.sub '' :vtable('get_integer') :method
.sub '' :vtable('get_integer') :method :subid('Mu.vtable_get_integer')
x_enter_sublog
.tailcall self.'Int'()
.end
.sub '' :vtable('get_iter') :method
.sub '' :vtable('get_iter') :method :subid('Mu.vtable_get_iter')
x_enter_sublog
$P0 = self.'iterator'()
$P1 = get_hll_global 'ParrotIter'
$P1 = $P1.'new'($P0)
.return ($P1)
.end
.sub '' :vtable('get_string') :method
.sub '' :vtable('get_string') :method :subid('Mu.vtable_get_string')
x_enter_sublog
$S0 = self.'Str'()
.return ($S0)
.end
.sub '' :vtable('get_string_keyed_int') :method
.sub '' :vtable('get_string_keyed_int') :method :subid('Mu.vtable_get_string_keyed_int')
.param int i
x_enter_sublog
$S0 = self.'postcircumfix:<[ ]>'(i)
.return ($S0)
.end
.sub '' :vtable('get_number') :method
.sub '' :vtable('get_number') :method :subid('Mu.vtable_get_number')
x_enter_sublog
$N0 = self.'Num'()
.return ($N0)
.end
.sub '' :vtable('increment') :method
.sub '' :vtable('increment') :method :subid('Mu.vtable_increment')
x_enter_sublog
$P0 = self.'succ'()
'&infix:<=>'(self, $P0)
.return (self)
.end
.sub '' :vtable('shift_pmc') :method
.sub '' :vtable('shift_pmc') :method :subid('Mu.vtable_shift_pmc')
x_enter_sublog
.tailcall self.'shift'()
.end
.sub '' :vtable('push_pmc') :method
.sub '' :vtable('push_pmc') :method :subid('Mu.vtable_push_pmc')
.param pmc value
x_enter_sublog
.tailcall self.'push'(value)
.end
Expand Down
2 changes: 1 addition & 1 deletion src/builtins/Parcel.pir
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ elements and can be flattened into Captures or Lists.
.end


.sub '' :vtable('get_string') :method
.sub '' :vtable('get_string') :method :subid('Parcel.vtable_get_string')
$S0 = self.'Str'()
.return ($S0)
.end
Expand Down
4 changes: 2 additions & 2 deletions src/builtins/ParrotIter.pir
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Returns the current item in the iteration, and updates the lookahead.

=cut

.sub '' :vtable('shift_pmc')
.sub '' :vtable('shift_pmc') :subid('ParrotIter.vtable_shift_pmc')
.local pmc items, value
items = self.'!fill'(1)
null value
Expand All @@ -62,7 +62,7 @@ Reify one element to see if we've reached the end.
=cut
.sub '' :vtable('get_bool')
.sub '' :vtable('get_bool') :subid('ParrotIter.vtable_get_bool')
.local pmc items
items = self.'!fill'(1)
$I0 = istrue items
Expand Down
4 changes: 2 additions & 2 deletions src/builtins/Role.pir
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ just here so postcircumfix:[ ] doesn't explode).

=cut

.sub 'elems' :vtable('elements')
.sub 'elems' :vtable('elements') :subid('Role.vtable_elements')
x_enter_sublog
$P0 = getattribute self, '$!selector'
$I0 = elements $P0
Expand Down Expand Up @@ -293,7 +293,7 @@ Role objects serve as type objects and thus should be undefined.

=cut

.sub 'Str' :method :vtable('get_string')
.sub 'Str' :method :vtable('get_string') :subid('Role.vtable_get_string')
x_enter_sublog
$P0 = getattribute self, '$!shortname'
$S0 = 'ANON'
Expand Down

0 comments on commit 0d3c71c

Please sign in to comment.