Skip to content

Commit

Permalink
Merge branch 'develop' into feature/instance-probes
Browse files Browse the repository at this point in the history
  • Loading branch information
JoeAtHPI committed Oct 7, 2023
2 parents 2bc6f0a + 7b5c92a commit 9536103
Show file tree
Hide file tree
Showing 97 changed files with 323 additions and 239 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*Babylonian-Compiler
= anotherPartialMethod
"see #hash"

^ anotherPartialMethod class == self class
and: [self basicLayers = anotherPartialMethod basicLayers
and: [self selector = anotherPartialMethod selector
and: [self methodClass name = anotherPartialMethod methodClass name]]]
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*Babylonian-Compiler
hash
"see #="

^ (self basicLayers hash bitXor: self selector hash) bitXor: self class name hash
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"class" : {
},
"instance" : {
"=" : "sp 8/23/2023 14:35",
"hash" : "sp 8/23/2023 14:36" } }
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{
"name" : "CSPartialMethod" }
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ tracing
runSetUpWith: aState

| result |
self setUpScript ifNotNil: [
result := Compiler evaluate: self setUpScript notifying: aState.
result isSymbol ifTrue: [
self method methodClass perform: result]]
#bpInstrumented withoutLayerDo: [
self setUpScript ifNotNil: [
result := Compiler evaluate: self setUpScript notifying: aState.
result isSymbol ifTrue: [
self method methodClass perform: result]]]
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ tracing
runTearDownWith: aState

| result |
self tearDownScript ifNotNil: [
result := Compiler evaluate: self tearDownScript notifying: aState.
result isSymbol ifTrue: [
self method methodClass perform: result]]
#bpInstrumented withoutLayerDo: [
self tearDownScript ifNotNil: [
result := Compiler evaluate: self tearDownScript notifying: aState.
result isSymbol ifTrue: [
self method methodClass perform: result]]]
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ runWithTimeoutOn: initialState
complete := false.

self startWatchdog: [
semaphore waitTimeoutMSecs: self timeout.
self timeout milliSeconds wait.
"We sadly cannot simply ask self tracingIsStillRunning as the values rely
on this method's return value which is not done at this point. So uglyish complete workaround"
complete ifFalse: [self suspendTracingProcess]].

[ ^ self runOn: initialState] ensure: [
complete := true.
semaphore signal]
complete := true.
semaphore terminateProcess.]
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
private
startWatchdog: watchdogBlock

| watchdog |
watchdog := watchdogBlock newProcess.
watchdog priority: Processor timingPriority-1.
watchdog resume.
watchdogBlock
forkAt: Processor timingPriority-1
named: 'watchdog for ' , self exampleName.
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@
"removeTrace" : "pre 1/11/2023 10:43",
"resumeTracing" : "pre 1/12/2023 09:39",
"runOn:" : "pre 1/11/2023 10:47",
"runSetUpWith:" : "pre 7/22/2022 21:17",
"runTearDownWith:" : "pre 7/22/2022 21:17",
"runWithTimeoutOn:" : "pre 11/2/2022 11:42",
"runSetUpWith:" : "pre 8/23/2023 11:07",
"runTearDownWith:" : "pre 8/23/2023 11:07",
"runWithTimeoutOn:" : "pre 8/23/2023 12:04",
"setIsActive:" : "pre 1/11/2023 10:47",
"setUpScript" : "pre 1/11/2023 10:47",
"setUpScript:" : "pre 1/11/2023 10:48",
"startWatchdog:" : "pre 11/2/2022 11:40",
"startWatchdog:" : "pre 8/23/2023 12:01",
"suspendTracingProcess" : "pre 1/12/2023 09:39",
"tearDownScript" : "pre 1/11/2023 10:48",
"tearDownScript:" : "pre 1/11/2023 10:48",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
accessing
timeout

^ timeout ifNil: [timeout := 30000]
^ timeout ifNil: [timeout := 5000]
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@
"setUpScript:" : "pre 1/21/2021 15:36",
"tearDownScript" : "pre 1/21/2021 15:36",
"tearDownScript:" : "pre 1/21/2021 15:36",
"timeout" : "joabe 9/27/2022 23:28",
"timeout" : "pre 8/22/2023 17:13",
"timeout:" : "joabe 9/27/2022 20:26",
"traceInformation" : "pre 1/11/2023 10:49" } }
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ add: aBPExample

<bpRelevantMethod>
mutex critical: [examples add: aBPExample].
aBPExample addDependent: self.
self changed: #bpExamples.
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ remove: aBPExample
mutex critical: [
examples remove: aBPExample ifAbsent: ["dont care"].
aBPExample ensureTerminatedProcess].
aBPExample removeDependent: self.
self changed: #bpExamples.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
change notifications
update: anAspect with: anObject

anAspect = #exampleIsActive ifTrue: [
^ self changed: #activeExamples].

anAspect = #newTrace ifTrue: [
^ self changed: #tracesChanged].
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@
"shutDown:" : "pre 5/26/2021 17:17" },
"instance" : {
"activeExamples" : "pre 5/3/2021 16:55",
"add:" : "pre 5/6/2021 18:30",
"add:" : "pre 8/23/2023 10:39",
"doSilently:" : "pre 9/2/2022 14:46",
"exampleIdentifiers" : "pre 5/3/2021 16:41",
"examples" : "pre 5/4/2021 15:20",
"examplesForMethod:" : "pre 5/4/2021 15:09",
"initialize" : "pre 5/3/2021 16:42",
"paddedTracesOfActiveExamples" : "pre 5/3/2021 16:55",
"rehash" : "pre 5/19/2021 21:36",
"remove:" : "pre 5/6/2021 16:54",
"remove:" : "pre 8/23/2023 11:02",
"removeAll:" : "jb 12/7/2020 18:52",
"removeTraces" : "jb 12/7/2020 18:52",
"runActiveExamples" : "pre 5/6/2021 18:31",
Expand All @@ -25,4 +25,5 @@
"systemChangeEvent:" : "pre 1/11/2023 13:42",
"tracesOfActiveExamples" : "pre 5/6/2021 18:31",
"update:" : "pre 9/2/2022 14:46",
"update:with:" : "pre 8/23/2023 10:42",
"updateExamplesOnEvent:" : "pre 1/11/2023 13:38" } }
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
dependents access
addDependent: aDependent

referencedExample addDependent: aDependent.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
dependents access
removeDependent: aDependent

referencedExample removeDependent: aDependent.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"class" : {
"bpExamplePragmaPrefix" : "pre 1/11/2023 14:39" },
"instance" : {
"addDependent:" : "pre 8/22/2023 15:00",
"asPragma" : "pre 1/11/2023 14:54",
"canBeUsedForDoIts" : "pre 1/11/2023 13:27",
"exampleName" : "pre 1/11/2023 14:51",
Expand All @@ -18,6 +19,7 @@
"morphClass" : "pre 1/11/2023 13:28",
"referencedExample:" : "pre 1/11/2023 14:29",
"referencedExampleName" : "pre 1/11/2023 14:52",
"removeDependent:" : "pre 8/22/2023 15:00",
"setIsActive:" : "pre 1/11/2023 13:22",
"setUpScript" : "pre 1/11/2023 13:22",
"setUpScript:" : "pre 1/11/2023 13:22",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
*Babylonian-ExampleMining-Core-override
as yet unclassified
allBabylonianInternalClasses
^ #('Babylonian-Core' 'Babylonian-Compiler' 'Babylonian-UI' 'Babylonian-ProbeLog' 'Babylonian-ExampleMining')
inject: OrderedCollection new
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
as yet unclassified
ignoredClassesInStack

^ IgnoredClassesInStack ifNil: [IgnoredClassesInStack := { Symbol.
DynamicVariable class.
ActiveEventVariable class.
CSProcessContextInformation.
CSMethodObject.
CSLayeredMethod.
CSPartialMethod.
TestCase.
TestResult.
BPProbeLogTest.
BPExample.
BPAbstractExample.
MorphicEventDispatcher.
}, self allBabylonianInternalClasses]
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
as yet unclassified
ignoredMessagesInStack

^ IgnoredMessagesInStack ifNil: [IgnoredMessagesInStack := {MethodReference class: BlockClosure selector: #newProcess.
MethodReference class: BPExample selector: #traceInBackground.
MethodReference class: BlockClosure selector: #on:do:.
MethodReference class: BPExample selector: #traceAsyncNotifying:.
MethodReference class: BlockClosure selector: #bpTraceInBackgroundForExample:.
MethodReference class: BlockClosure selector: #bpTraceWith:.
MethodReference class: Symbol selector: #withLayerDo:.
MethodReference class: Array selector: #withLayersDo:.
MethodReference class: CSProcessContextInformation selector: #withLayers:do:.
MethodReference class: BlockClosure selector: #ensure:.
MethodReference class: DynamicVariable class selector: #value:during:.
MethodReference class: BPExample selector: #traceAsyncNotifying:.
MethodReference class: BPExample selector: #execute.
MethodReference class: BPExample selector: #executeSynchronously.
MethodReference class: BPMethodExample selector: #runOn:.
MethodReference class: CSMethodObject selector: #run:with:in:.
MethodReference class: CSLayeredMethod selector: #valueWithReceiver:arguments:.
MethodReference class: CSPartialMethod selector: #valueWithReceiver:arguments:.}]
Original file line number Diff line number Diff line change
@@ -1,17 +1,4 @@
private
ignoredClassesInStack

^ { Symbol.
DynamicVariable class.
ActiveEventVariable class.
CSProcessContextInformation.
CSMethodObject.
CSLayeredMethod.
CSPartialMethod.
TestCase.
TestResult.
BPProbeLogTest.
BPExample.
BPAbstractExample.
MorphicEventDispatcher.
}, self allBabylonianInternalClasses
^ self class ignoredClassesInStack
Original file line number Diff line number Diff line change
@@ -1,21 +1,4 @@
private
ignoredMessagesInStack

^ {MethodReference class: BlockClosure selector: #newProcess.
MethodReference class: BPExample selector: #traceInBackground.
MethodReference class: BlockClosure selector: #on:do:.
MethodReference class: BPExample selector: #traceAsyncNotifying:.
MethodReference class: BlockClosure selector: #bpTraceInBackgroundForExample:.
MethodReference class: BlockClosure selector: #bpTraceWith:.
MethodReference class: Symbol selector: #withLayerDo:.
MethodReference class: Array selector: #withLayersDo:.
MethodReference class: CSProcessContextInformation selector: #withLayers:do:.
MethodReference class: BlockClosure selector: #ensure:.
MethodReference class: DynamicVariable class selector: #value:during:.
MethodReference class: BPExample selector: #traceAsyncNotifying:.
MethodReference class: BPExample selector: #execute.
MethodReference class: BPExample selector: #executeSynchronously.
MethodReference class: BPMethodExample selector: #runOn:.
MethodReference class: CSMethodObject selector: #run:with:in:.
MethodReference class: CSLayeredMethod selector: #valueWithReceiver:arguments:.
MethodReference class: CSPartialMethod selector: #valueWithReceiver:arguments:.}
^ self class ignoredMessagesInStack
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
{
"class" : {
"allBabylonianInternalClasses" : "pre 9/27/2023 14:33",
"ignoredClassesInStack" : "pre 9/27/2023 14:33",
"ignoredMessagesInStack" : "pre 9/27/2023 14:34",
"value:identityHash:stack:" : "pre 10/12/2020 17:57" },
"instance" : {
"allBabylonianInternalClasses" : "joabe 7/2/2023 23:54",
Expand All @@ -11,8 +14,8 @@
"chronologicalPosition:" : "jb 5/20/2021 14:50",
"containedMethodReference" : "pre 11/16/2022 16:04",
"filteredStack" : "pre 11/16/2022 15:57",
"ignoredClassesInStack" : "joabe 7/2/2023 23:53",
"ignoredMessagesInStack" : "pre 7/13/2023 10:45",
"ignoredClassesInStack" : "pre 9/27/2023 14:33",
"ignoredMessagesInStack" : "pre 9/27/2023 14:33",
"isStackFull" : "jb 6/30/2021 01:26",
"printOn:" : "jb 5/19/2021 20:59",
"shouldBeIgnored:" : "pre 11/16/2022 16:04",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"classinstvars" : [
],
"classvars" : [
],
"IgnoredClassesInStack",
"IgnoredMessagesInStack" ],
"commentStamp" : "",
"instvars" : [
"tracedValue",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*Babylonian-Core
bpSnapshot

^ self
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"class" : {
},
"instance" : {
"bpSnapshot" : "pre 8/22/2023 16:22" } }
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{
"name" : "Behavior" }
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*Babylonian-Core
bpSnapshot

^ self copy
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"class" : {
},
"instance" : {
"bpSnapshot" : "pre 8/23/2023 12:49" } }
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{
"name" : "Context" }
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*Babylonian-Core
bpSnapshot

^ self copy
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*Babylonian-Core
postCopy

super postCopy.
parseNode := parseNode copy.

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"class" : {
},
"instance" : {
"bpSnapshot" : "pre 8/23/2023 12:18",
"postCopy" : "pre 8/23/2023 12:19" } }
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{
"name" : "Parser" }
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*Babylonian-Core
bpSnapshot

^ self copy
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"class" : {
},
"instance" : {
"bpSnapshot" : "pre 8/23/2023 12:20" } }
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{
"name" : "TestResult" }
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*Babylonian-Core
bpSnapshot

^ self copy
Loading

0 comments on commit 9536103

Please sign in to comment.