[VM][Experimental] betterModuleHandling: speed up failing calls of module functions...

Stephan Rudlof sr at evolgo.de
Tue Feb 15 01:18:38 UTC 2000


Because it is not limited to Linux, I'll post it again with one less
subject key...

I apologize.

Stephan

-------- Original Message --------
Subject: [VM][Linux][Experimental] betterModuleHandling: speed up
failing calls of module functions...
Date: Tue, 15 Feb 2000 01:40:44 +0100
From: Stephan Rudlof <sr at evolgo.de>
To: ML Squeak <squeak at cs.uiuc.edu>

...by 'missing function information caching'.

Dear VM-Hackers,

to make you hungry:

A method like

* anInteger
        <primitive: 'primMul' module:'LargeIntegers'>
        ^ super * anInteger
        
should be as fast as

* anInteger
        <primitive: 29>
        ^ super * anInteger

if the optional primitive is not there and therefore fails!
*Currently* the module variant is much slower, because loading of the
(not existent) module will be tried again and again...

but the attached changeset called
        'VM_cachingMissingModules.2.cs.gz'
*solves* this problem!

This ensures a seamless integration of optional module primitives: they
can be called like ordinary numbered ones now!


Stephan

P.S.: I have (Squeak-) compressed the attached files to reduce the size
of this mail.


"Change Set:		VM_cachingMissingModules
Date:			15 February 2000
Author:			Stephan Rudlof

This changeset improves the VM:
-> it speeds up *failing* of external primitives which are *missing*
dramatically.

Preconditions:
	- Squeak 2.7.

ToDo:
	- FileIn this change set and follow the instructions.
	

Semantics:

- in stderr there is shown which modules are missing in the current
session: but only *once* while trying to load a module for the first
called function in it!;

- loading modules will be tried *once* in one session (no repeated
fails), this makes the speed!;

- sessionIDs are incremented starting from 1 to SmallInteger maxVal; so
no random overlaps (could lead to a crash!) can occure.
"

-- 
Stephan Rudlof (sr at evolgo.de)
   "Genius doesn't work on an assembly line basis.
    You can't simply say, 'Today I will be brilliant.'"
    -- Kirk, "The Ultimate Computer", stardate 4731.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: VM_cachingMissingModules.2.cs.gz
Type: application/octet-stream
Size: 6394 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20000215/2d830d8f/VM_cachingMissingModules.2.cs.obj


More information about the Squeak-dev mailing list