Login  Register

Re: Method history at GemStone level

Posted by GLASS mailing list on Jul 11, 2018; 5:15pm
URL: https://forum.world.st/Method-history-at-GemStone-level-tp5081537p5081538.html

i tracked the problem in two places:
1) Behavior>>compileMethod:category:using:environmentId:
2) MethodVersionHistory>>addVersionFor:oldMeth:oldStamp:oldCategory:

1) (oldCat := self categoryOfSelector: sel) "never answer [nil] for new
methods"
  So [oldMeth] temp never is [nil].
  [oldMeth] is passed to
MethodVersionHistory>>addVersionFor:oldMeth:oldStamp:oldCategory:.

2) For new methods [coll] is [nil] and as stated in 1) [oldMethod] is not
[nil].
  So two entries of MethodVersionRecord are added (at line 20 and 27).

Solution in 2)
Put [^mDict at: selector put: coll] at line 26 in order to avoid another
addFirst: call.

Solution in 1)
Or fix (oldCat := self categoryOfSelector: sel) to answer [nil] for new
methods.

regards,
bruno



--
Sent from: http://forum.world.st/GLASS-f1460844.html
_______________________________________________
Glass mailing list
[hidden email]
http://lists.gemtalksystems.com/mailman/listinfo/glass