On Thu, Apr 19, 2012 at 6:08 AM, Eliot Miranda <[email protected]>wrote:

> http://www.mirandabanda.org/files/Cog/VM/VM.r2550/
>
> CogVM binaries as per VMMaker.oscog-eem.157/r2550.
>
> Stack/CoInterpreter/Cogit:
> Implement proper bounds checking for byte access to compiled
> methods.  Raise errors for accesses outside initialPC to size.
>
> CoInterpreter:
> Provide a thorough flush primitive for CompiledMethods that discards all
> machine code and makes sure that any contexts using the method have bytecode
> pcs.  Primitive #215 (same as 116 in the Stack VM).  This is much slower than
> 116 (flushCache) since it has to enumerate over all heap contexts.
>
>
Excellent. Does it mean we should implement something like this:

CompiledMethod >> flushCache
    "Tell the interpreter to remove all references to this method from its
method lookup cache, if it has one. In addition, it provides a thorough
flush primitive for CompiledMethods that discards all machine code and
makes sure that any contexts using the method have bytecode
pcs.
    This primitive must be called whenever a method is redefined or
removed."
    <primitive: 215>
    self simpleFlushCache


CompiledMethod >> simpleFlushCache
    "Tell the interpreter to remove all references to this method from its
method lookup cache, if it has one. This primitive must be called whenever
a method is redefined or removed."

    <primitive: 116>



If you have a better name for #simpleFlushCache please let me know.
if you agree, I will open an issue for this.

Cheers



>
> Provide an xray primitive for CompiledMethod that answers if a method has
> machine code, and if so if it's machine code is frameless, and/or refers
> to a young object.  No primitive number.  Used to test the above.
>
> Make printOopShort: print Association keys.  Useful for
> longPrintOop:, and hence printReferencesTo: etc.
>
> Mac OS: add fflush to debug printing in sqMacUIEventsUniversal.c so output
> appears promptly.
>
> Fix the annoying bogus error messages from the mprotect calls by getting the
> length arg to mprotect right.
>
> Add version infor for the Cross/plugins tree.  Add a -version switch to win32
>
> --
>
> best,
>
> Eliot
>
>
>
>
>


-- 
Mariano
http://marianopeck.wordpress.com

Reply via email to