VM Maker: VMMaker.oscog-eem.981.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.981.mcz

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

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

Name: VMMaker.oscog-eem.981
Author: eem
Time: 12 December 2014, 10:40:37.174 am
UUID: ecd418ea-aea9-4e0c-8c48-e9a17117abc3
Ancestors: VMMaker.oscog-eem.980

Eliminating warnings in B2DPlugin and the
VMProfileLinuxSupportPlugin.

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

Item was changed:
  ----- Method: BalloonEnginePlugin>>stepToNextBezierForward:at: (in category 'beziers-simple') -----
  stepToNextBezierForward: updateData at: yValue
  "Incrementally step to the next scan line in the given bezier update data.
  Note: This method has been written so that inlining works, e.g.,
  not declaring updateData as 'int*' but casting it on every use."
+ <var: #updateData type:'int *'>
  | minY lastX lastY fwDx fwDy |
  <inline: true>
+ lastX := updateData at: GBUpdateX.
+ lastY := updateData at: GBUpdateY.
+ fwDx := updateData at: GBUpdateDX.
+ fwDy := updateData at: GBUpdateDY.
- lastX := (self cCoerce: updateData to: 'int*') at: GBUpdateX.
- lastY := (self cCoerce: updateData to: 'int*') at: GBUpdateY.
- fwDx := (self cCoerce: updateData to: 'int*') at: GBUpdateDX.
- fwDy := (self cCoerce: updateData to: 'int*') at: GBUpdateDY.
  minY := yValue * 256.
  "Step as long as we haven't yet reached minY and also
  as long as fwDy is greater than zero thus stepping down.
  Note: The test for fwDy should not be necessary in theory
  but is a good insurance in practice."
  [minY > lastY and:[fwDy >= 0]] whileTrue:[
  lastX := lastX + ((fwDx + 16r8000) signedBitShift: -16).
  lastY := lastY + ((fwDy + 16r8000) signedBitShift: -16).
+ fwDx := fwDx + (updateData at: GBUpdateDDX).
+ fwDy := fwDy + (updateData at: GBUpdateDDY).
- fwDx := fwDx + ((self cCoerce: updateData to: 'int*') at: GBUpdateDDX).
- fwDy := fwDy + ((self cCoerce: updateData to: 'int*') at: GBUpdateDDY).
  ].
+ updateData at: GBUpdateX put: lastX.
+ updateData at: GBUpdateY put: lastY.
+ updateData at: GBUpdateDX put: fwDx.
+ updateData at: GBUpdateDY put: fwDy.
- (self cCoerce: updateData to: 'int*') at: GBUpdateX put: lastX.
- (self cCoerce: updateData to: 'int*') at: GBUpdateY put: lastY.
- (self cCoerce: updateData to: 'int*') at: GBUpdateDX put: fwDx.
- (self cCoerce: updateData to: 'int*') at: GBUpdateDY put: fwDy.
  ^lastX signedBitShift: -8
  !

Item was changed:
  ----- Method: VMProfileLinuxSupportPlugin>>count:num:modules: (in category 'iteration callbacks') -----
  count: info num: size modules: ignored
+ <returnTypeC: #int>
  <var: #info type: #'struct dl_phdr_info *'>
  <var: #size type: #'size_t'>
  <var: #ignored type: #'void *'>
  numModules := numModules + 1.
  ^0!

Item was changed:
  ----- Method: VMProfileLinuxSupportPlugin>>reap:module:names: (in category 'iteration callbacks') -----
  reap: info module: size names: ignored
+ <returnTypeC: #int>
  | elfModuleName len moduleNameObj GetAttributeString |
  <var: #info type: #'struct dl_phdr_info *'>
  <var: 'elfModuleName' type: #'const char *'>
  <var: #GetAttributeString declareC: 'extern char *GetAttributeString(sqInt)'>
  <var: #size type: #'size_t'>
  <var: #ignored type: #'void *'>
  self touch: GetAttributeString.
  elfModuleName := self cCode: 'numModules ? info->dlpi_name : GetAttributeString(0)'.
  (elfModuleName isNil
  or: [(len := self strlen: elfModuleName) = 0]) ifTrue:
  [^0]. "skip the fake linux-gate.so.1"
  moduleNameObj := interpreterProxy
  instantiateClass: interpreterProxy classString
  indexableSize: len.
  moduleNameObj = 0 ifTrue:
  [primErr := PrimErrNoMemory.
  ^1]. "stop iteration"
  self st: (interpreterProxy arrayValueOf: moduleNameObj)
  rn: elfModuleName
  cpy: len. "(char *)strncpy()"
  interpreterProxy
  storePointer: numModules
  ofObject: interpreterProxy topRemappableOop
  withValue: moduleNameObj.
  numModules := numModules + 1.
  ^0!

Item was changed:
  ----- Method: VMProfileLinuxSupportPlugin>>reap:module:symlinks: (in category 'iteration callbacks') -----
  reap: info module: size symlinks: ignored
  "like reap:module:names:, but follows symlinks"
+ <returnTypeC: #int>
  | elfModuleName len moduleNameObj GetAttributeString symLinkBuf |
  <var: #info type: #'struct dl_phdr_info *'>
  <var: 'elfModuleName' type: #'const char *'>
  <var: #GetAttributeString declareC: 'extern char *GetAttributeString(sqInt)'>
  <var: #symLinkBuf declareC: 'char symLinkBuf[PATH_MAX]'>
  <var: #size type: #'size_t'>
  <var: #ignored type: #'void *'>
  self touch: GetAttributeString.
  elfModuleName := self cCode: 'numModules ? info->dlpi_name : GetAttributeString(0)'.
  (elfModuleName isNil
  or: [(len := self strlen: elfModuleName) = 0]) ifTrue:
  [^0]. "skip the fake linux-gate.so.1"
  moduleNameObj := interpreterProxy
  instantiateClass: interpreterProxy classString
  indexableSize: len.
  moduleNameObj = 0 ifTrue:
  [primErr := PrimErrNoMemory.
  ^1]. "stop iteration"
  self st: (interpreterProxy arrayValueOf: moduleNameObj)
  rn: elfModuleName
  cpy: len. "(char *)strncpy()"
  interpreterProxy
  storePointer: numModules
  ofObject: interpreterProxy topRemappableOop
  withValue: moduleNameObj.
  "now dereference the symlink, if it exists"
  self str: symLinkBuf cpy: elfModuleName.
  (len := self read: elfModuleName li: symLinkBuf nk: #'PATH_MAX') > 0
  ifTrue:
  [moduleNameObj := interpreterProxy
  instantiateClass: interpreterProxy classString
  indexableSize: len.
  moduleNameObj = 0 ifTrue:
  [primErr := PrimErrNoMemory.
  ^1]. "stop iteration"
  self st: (interpreterProxy arrayValueOf: moduleNameObj)
  rn: symLinkBuf
  cpy: len. "(char *)strncpy()"
  interpreterProxy
  storePointer: numModules + 1
  ofObject: interpreterProxy topRemappableOop
  withValue: moduleNameObj]
  ifFalse:
  [interpreterProxy
  storePointer: numModules + 1
  ofObject: interpreterProxy topRemappableOop
  withValue: interpreterProxy nilObject].
  numModules := numModules + 2.
  ^0!