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! |
Free forum by Nabble | Edit this page |