I tried to play with this feature and found that if i install a smallinteger into method dictionary as a method and then try to invoke that method, my VM is crashing.
testCrashWithSmallInt self class methodDict at: #answer10 put: 10. self should: [self answer10] raise: MessageNotUnderstood. self class basicRemoveSelector: #answer10.
Wed Dec 09 07:32:43 2009
Exception code: C0000005 Exception addr: 0040C08F Access violation (read access) at 00000015 EAX:02ECD658 EBX:00000022 ECX:027FBAA8 EDX:00000015 ESI:02ECD570 EDI:00000000 EBP:01250004 ESP:0006FA48 EIP:0040C08F EFL:00010246 FP Control: FFFF027F FP Status: FFFF0120 FP Tag: FFFFFFFF
VM Version: Squeak 3.11.2 (alpha) from Mar 27 2009 Compiler: gcc 2.95.2 19991024 (release)
Current byte code: 209 Primitive index: 199
Loaded plugins: SocketPlugin 27 March 2009 (i) SoundPlugin 6 March 2009 (i) LargeIntegers v1.5 6 March 2009 (i) Matrix2x3Plugin 6 March 2009 (i) FloatArrayPlugin 6 March 2009 (i) B2DPlugin 6 March 2009 (i) BitBltPlugin 6 March 2009 (i) SecurityPlugin 6 March 2009 (i) FilePlugin 6 March 2009 (i) MiscPrimitivePlugin 6 March 2009 (i)
Stack dump:
49085392 TestObjectsAsMethods>testCrashWithSmallInt 49085300 TestCase>executeShould:inScopeOf: