Skip to content

Commit

Permalink
SSP implementation using bytecode offset
Browse files Browse the repository at this point in the history
  • Loading branch information
jordanmontt committed Oct 29, 2024
1 parent 0f45b1d commit 7799d81
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions src/IllimaniProfiler/IllEphemeron.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,13 @@ IllEphemeron >> inspectorExtension: aBuilder [
IllEphemeron >> inspectorExtensionSenders: aBuilder [

<inspectorPresentationOrder: 2 title: 'Senders context'>
"senders not yet implemented"
| items |
items := senders
reject: #isNil
thenCollect: [ :e | StInspectorTransmissionNode hostObject: e transmissionBlock: #key].
^ aBuilder newList
items: (senders reject: #isNil);
display: [ :aMethod | "we ask the method because of the compiled blocks" aMethod method name ];
items: items;
display: [ :ssp | "we ask the method because of the compiled blocks" ssp rawValue method name ];
yourself
]

Expand Down Expand Up @@ -172,14 +175,15 @@ IllEphemeron >> programCounter: anObject [
{ #category : 'accessing' }
IllEphemeron >> senders: aContext [

| sender |
| ssp sender |
"Using #to:do: because of performance"

senders := Array new: 10.
sender := aContext.
1 to: 10 do: [ :i |
sender ifNil: [ ^ self ].
senders at: i put: sender method.
ssp := sender method -> (sender pc - 1).
senders at: i put: ssp.
sender := sender sender ]
]

Expand Down

0 comments on commit 7799d81

Please sign in to comment.