VM Maker: VMMaker.oscog-eem.2920.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: VMMaker.oscog-eem.2920.mcz

commits-2
 
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2920.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.2920
Author: eem
Time: 3 January 2021, 9:19:28.019823 am
UUID: 30a49581-87d4-4b92-b7bc-a109c8a430a2
Ancestors: VMMaker.oscog-eem.2919

Cogit: nuke a couple of unused inst vars.

=============== Diff against VMMaker.oscog-eem.2919 ===============

Item was changed:
  ----- Method: CogVMSimulator>>initializeThreadSupport (in category 'initialize-release') -----
  initializeThreadSupport
  "Do this post new if you want to simulate with thread support."
+ cogThreadManager := CogThreadManager new setInterpreter: self cogit: cogit!
- cogThreadManager := CogThreadManager new setInterpreter: self cogit: cogit.
- cogit setThreadManager: cogThreadManager!

Item was changed:
  CogClass subclass: #Cogit
(excessive size, no diff calculated)

Item was changed:
  ----- Method: Cogit>>setInterpreter: (in category 'initialization') -----
  setInterpreter: aCoInterpreter
  "Initialization of the code generator in the simulator.
  These objects already exist in the generated C VM
  or are used only in the simulation."
  <doNotGenerate>
  coInterpreter := aCoInterpreter.
  objectMemory := aCoInterpreter objectMemory.
- threadManager := aCoInterpreter threadManager. "N.B. may be nil"
  methodZone := self class methodZoneClass new.
  objectRepresentation := objectMemory objectRepresentationClass
  forCogit: self methodZone: methodZone.
  methodZone setInterpreter: aCoInterpreter
  objectRepresentation: objectRepresentation
  cogit: self.
  generatorTable := self class generatorTable.
  processor := ProcessorClass new.
  simulatedAddresses := Dictionary new.
  coInterpreter class clusteredVariableNames do:
  [:cvn| self simulatedAddressFor: (cvn first = $C ifTrue: ['get', cvn] ifFalse: [cvn]) asSymbol].
  simulatedTrampolines := Dictionary new.
  simulatedVariableGetters := Dictionary new.
  simulatedVariableSetters := Dictionary new.
  traceStores := 0.
  traceFlags := (self class initializationOptions at: #recordPrimTrace ifAbsent: [true])
  ifTrue: [8] "record prim trace on by default (see Cogit class>>decareCVarsIn:)"
  ifFalse: [0].
  singleStep := printRegisters := printInstructions := clickConfirm := false.
  backEnd := CogCompilerClass for: self.
  methodLabel := CogCompilerClass for: self.
  (literalsManager := backEnd class literalsManagerClass new) cogit: self.
  ordinarySendTrampolines := CArrayAccessor on: (Array new: NumSendTrampolines).
  superSendTrampolines := CArrayAccessor on: (Array new: NumSendTrampolines).
  BytecodeSetHasDirectedSuperSend ifTrue:
  [directedSuperSendTrampolines := CArrayAccessor on: (Array new: NumSendTrampolines).
  directedSuperBindingSendTrampolines := CArrayAccessor on: (Array new: NumSendTrampolines).
  directedSendUsesBinding := false].
  NewspeakVM ifTrue:
  [selfSendTrampolines := CArrayAccessor on: (Array new: NumSendTrampolines).
  dynamicSuperSendTrampolines := CArrayAccessor on: (Array new: NumSendTrampolines).
  implicitReceiverSendTrampolines := CArrayAccessor on: (Array new: NumSendTrampolines).
  outerSendTrampolines := CArrayAccessor on: (Array new: NumSendTrampolines)].
  "debug metadata"
  objectReferencesInRuntime := CArrayAccessor on: (Array new: NumObjRefsInRuntime).
  runtimeObjectRefIndex := 0.
  "debug metadata"
  trampolineAddresses := CArrayAccessor on: (Array new: NumTrampolines * 2).
  trampolineTableIndex := 0.
 
  extA := numExtB := extB := 0.
 
  compilationTrace ifNil: [compilationTrace := self class initializationOptions at: #compilationTrace ifAbsent: [0]].
  debugOpcodeIndices := self class initializationOptions at: #debugOpcodeIndices ifAbsent: [Set new].
  debugBytecodePointers := self class initializationOptions at: #debugBytecodePointers ifAbsent: [Set new].
  self class initializationOptions at: #breakPC ifPresent: [:pc| breakPC := pc]!

Item was removed:
- ----- Method: Cogit>>setThreadManager: (in category 'initialization') -----
- setThreadManager: aCogThreadManager
- "Initialization of the code generator in the simulator.
- Used in the separate VM since this VM does not do a second initialization of the interpreter,
- only a second initialization of the objectMemory."
- <doNotGenerate>
- threadManager := aCogThreadManager "N.B. may be nil"!