[Vm-dev] VM Maker: VMMaker.oscog-eem.581.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Jan 10 19:28:10 UTC 2014
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.581.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.581
Author: eem
Time: 10 January 2014, 11:25:09.323 am
UUID: 926531fd-20be-42b4-9332-015b90e6734f
Ancestors: VMMaker.oscog-eem.580
Change ^nil to ^self in some logging routines to get return type void.
=============== Diff against VMMaker.oscog-eem.580 ===============
Item was changed:
----- Method: CoInterpreter>>dumpPrimTraceLog (in category 'debug support') -----
dumpPrimTraceLog
"The prim trace log is a circular buffer of entries. If there is
an entry at primTraceLogIndex \\ PrimTraceLogSize it has entries.
If there is something at primTraceLogIndex it has wrapped."
<api>
<inline: false>
+ (primTraceLog at: (self safe: primTraceLogIndex - 1 mod: PrimTraceLogSize)) = 0 ifTrue: [^self].
- (primTraceLog at: (self safe: primTraceLogIndex - 1 mod: PrimTraceLogSize)) = 0 ifTrue: [^nil].
(primTraceLog at: primTraceLogIndex) ~= 0 ifTrue:
[primTraceLogIndex to: PrimTraceLogSize - 1 do:
[:i | self printPrimLogEntryAt: i; cr]].
0 to: primTraceLogIndex - 1 do:
[:i | self printPrimLogEntryAt: i; cr]!
Item was changed:
----- Method: CoInterpreter>>dumpTraceLog (in category 'debug support') -----
dumpTraceLog
<api>
"The trace log is a circular buffer of pairs of entries. If there is
an entry at traceLogIndex - 3 \\ TraceBufferSize it has entries.
If there is something at traceLogIndex it has wrapped."
<inline: false>
+ (traceLog at: (self safe: traceLogIndex - 3 mod: TraceBufferSize)) = 0 ifTrue: [^self].
- (traceLog at: (self safe: traceLogIndex - 3 mod: TraceBufferSize)) = 0 ifTrue: [^nil].
(traceLog at: traceLogIndex) ~= 0 ifTrue:
[traceLogIndex to: TraceBufferSize - 3 by: 3 do:
[:i| self printLogEntryAt: i]].
0 to: traceLogIndex - 3 by: 3 do:
[:i| self printLogEntryAt: i]!
Item was changed:
----- Method: CoInterpreter>>mapPrimTraceLog (in category 'debug support') -----
mapPrimTraceLog
"The prim trace log is a circular buffer of selectors. If there is
an entry at primTraceLogIndex - 1 \\ PrimTraceBufferSize it has entries.
If there is something at primTraceLogIndex it has wrapped."
<inline: false>
| limit |
limit := self safe: primTraceLogIndex - 1 mod: PrimTraceLogSize.
+ (primTraceLog at: limit) = 0 ifTrue: [^self].
- (primTraceLog at: limit) = 0 ifTrue: [^nil].
(primTraceLog at: primTraceLogIndex) ~= 0 ifTrue:
[limit := PrimTraceLogSize - 1].
0 to: limit do:
[:i| | selector |
selector := primTraceLog at: i.
(objectMemory shouldRemapOop: selector) ifTrue:
[primTraceLog at: i put: (objectMemory remapObj: selector)]]!
Item was changed:
----- Method: CoInterpreter>>mapTraceLog (in category 'debug support') -----
mapTraceLog
"The trace log is a circular buffer of pairs of entries. If there is
an entry at traceLogIndex - 3 \\ TraceBufferSize it has entries.
If there is something at traceLogIndex it has wrapped."
<inline: false>
| limit |
limit := self safe: traceLogIndex - 3 mod: TraceBufferSize.
+ (traceLog at: limit) = 0 ifTrue: [^self].
- (traceLog at: limit) = 0 ifTrue: [^nil].
(traceLog at: traceLogIndex) ~= 0 ifTrue:
[limit := TraceBufferSize - 3].
0 to: limit by: 3 do:
[:i| | intOrClass selectorOrMethod |
intOrClass := traceLog at: i.
(objectMemory shouldRemapOop: intOrClass) ifTrue:
[traceLog at: i put: (objectMemory remapObj: intOrClass)].
selectorOrMethod := traceLog at: i + 1.
(objectMemory shouldRemapOop: selectorOrMethod) ifTrue:
[traceLog at: i + 1 put: (objectMemory remapObj: selectorOrMethod)]]!
Item was changed:
----- Method: CoInterpreter>>markAndTracePrimTraceLog (in category 'debug support') -----
markAndTracePrimTraceLog
"The prim trace log is a circular buffer of selectors. If there is
an entry at primTraceLogIndex - 1 \\ PrimTraceBufferSize it has entries.
If there is something at primTraceLogIndex it has wrapped."
<inline: false>
| limit |
limit := self safe: primTraceLogIndex - 1 mod: PrimTraceLogSize.
+ (primTraceLog at: limit) = 0 ifTrue: [^self].
- (primTraceLog at: limit) = 0 ifTrue: [^nil].
(primTraceLog at: primTraceLogIndex) ~= 0 ifTrue:
[limit := PrimTraceLogSize - 1].
0 to: limit do:
[:i| | selector |
selector := primTraceLog at: i.
(objectMemory isImmediate: selector) ifFalse:
[objectMemory markAndTrace: selector]]!
Item was changed:
----- Method: CoInterpreter>>markAndTraceTraceLog (in category 'object memory support') -----
markAndTraceTraceLog
"The trace log is a circular buffer of pairs of entries. If there is an entry at
traceLogIndex - 3 \\ TraceBufferSize it has entries. If there is something at
traceLogIndex it has wrapped."
<inline: false>
| limit |
limit := self safe: traceLogIndex - 3 mod: TraceBufferSize.
+ (traceLog at: limit) = 0 ifTrue: [^self].
- (traceLog at: limit) = 0 ifTrue: [^nil].
(traceLog at: traceLogIndex) ~= 0 ifTrue:
[limit := TraceBufferSize - 3].
0 to: limit by: 3 do:
[:i| | oop |
oop := traceLog at: i.
(objectMemory isImmediate: oop) ifFalse:
[objectMemory markAndTrace: oop].
oop := traceLog at: i + 1.
(objectMemory isImmediate: oop) ifFalse:
[objectMemory markAndTrace: oop]]!
Item was changed:
----- Method: NewspeakInterpreter>>dumpPrimTraceLog (in category 'debug support') -----
dumpPrimTraceLog
"The prim trace log is a circular buffer of entries. If there is
an entry at primTraceLogIndex \\ PrimTraceLogSize it has entries.
If there is something at primTraceLogIndex it has wrapped."
<api>
<inline: false>
+ (primTraceLog at: (self safe: primTraceLogIndex - 1 mod: TraceLogSize)) = 0 ifTrue: [^self].
- (primTraceLog at: (self safe: primTraceLogIndex - 1 mod: TraceLogSize)) = 0 ifTrue: [^nil].
(primTraceLog at: primTraceLogIndex) ~= 0 ifTrue:
[primTraceLogIndex to: TraceLogSize - 1 do:
[:i | self safePrintStringOf: (primTraceLog at: i); cr]].
0 to: primTraceLogIndex - 1 do:
[:i | self safePrintStringOf: (primTraceLog at: i); cr]!
Item was changed:
----- Method: NewspeakInterpreter>>dumpSendTraceLog (in category 'debug support') -----
dumpSendTraceLog
"The send trace log is a circular buffer of entries. If there is
an entry at sendTraceLogIndex \\ PrimTraceLogSize it has entries.
If there is something at sendTraceLogIndex it has wrapped."
<api>
<inline: false>
+ (sendTraceLog at: (self safe: sendTraceLogIndex - 1 mod: TraceLogSize)) = 0 ifTrue: [^self].
- (sendTraceLog at: (self safe: sendTraceLogIndex - 1 mod: TraceLogSize)) = 0 ifTrue: [^nil].
(sendTraceLog at: sendTraceLogIndex) ~= 0 ifTrue:
[sendTraceLogIndex to: TraceLogSize - 1 do:
[:i | self safePrintStringOf: (sendTraceLog at: i); cr]].
0 to: sendTraceLogIndex - 1 do:
[:i | self safePrintStringOf: (sendTraceLog at: i); cr]!
Item was changed:
----- Method: NewspeakInterpreter>>mapTraceLogs (in category 'debug support') -----
mapTraceLogs
"The prim and send trace logs are circular buffers of selectors. If there is
an entry at primTraceLogIndex - 1 \\ PrimTraceBufferSize it has entries.
If there is something at primTraceLogIndex it has wrapped."
<inline: false>
| limit |
limit := self safe: primTraceLogIndex - 1 mod: TraceLogSize.
+ (primTraceLog at: limit) = 0 ifTrue: [^self].
- (primTraceLog at: limit) = 0 ifTrue: [^nil].
(primTraceLog at: primTraceLogIndex) ~= 0 ifTrue:
[limit := TraceLogSize - 1].
0 to: limit do:
[:i| | selector |
selector := primTraceLog at: i.
(self isIntegerObject: selector) ifFalse:
[primTraceLog at: i put: (self remap: selector)]].
limit := self safe: sendTraceLogIndex - 1 mod: TraceLogSize.
(sendTraceLog at: limit) = 0 ifTrue: [^nil].
(sendTraceLog at: sendTraceLogIndex) ~= 0 ifTrue:
[limit := TraceLogSize - 1].
0 to: limit do:
[:i| | selector |
selector := sendTraceLog at: i.
(self isIntegerObject: selector) ifFalse:
[sendTraceLog at: i put: (self remap: selector)]]!
More information about the Vm-dev
mailing list