2010/5/17 Eliot Miranda <eliot.mira...@gmail.com>: > > > On Mon, May 17, 2010 at 11:30 AM, Stéphane Ducasse > <stephane.duca...@inria.fr> wrote: >> >> On Ma >> > >> > bytes 28 to 31: image flags, conventional VMs use only bit 0, Cog also >> > uses bits 1 through 4 >> > bit 0: 1 => open full screen, 0 => open using width & >> > height >> > bit 1: 1 => image floats are in little-endian format, 0=> >> > image floats are in big-endian format >> > bit 2: 1 => Process's 4th inst var (after myList) is >> > threadId to be used by the VM for overlapped calls >> > >> > bit 3: 1 => set the flag bit on methods that the VM will >> > only interpret (because they're considered too big to JIT) >> > bit 4: 1 => preempting a process does not put it to the >> > back of its run queue >> >> >> I was not clear how to read >> bit 3: 1 >> this information is not in the compiledMethods? > > For the Cog JIT I want to measure which methods get interpreted to determine > the threshold at which to decide to JIT methods. It makes little sense to > JIT methods that are large and only executed once, typically class > initialization methods. A simple criterion is to set a limit on the number > of literals in a method. But I still need to know whether my threshold is > affecting frequently used methods. So I added the option of setting the > flag bit in any method which the JIT refuses to compile because it has too > many literals. Since I need to see which methods are interpreted on > start-up putting a flag in the image header was convenient. The effect is > that the JIT will set the flag bit on any method it refuses to JIT. I can > then browse these in the image and decide whether any are important and > adjust the threshold accordingly. Arguably this should be a command line > argument, not an image header flag.
Eliot, i beg you, instead of using an obscure flags in image header, just add (or reserve unused) splObject indice and read/write whatever you want from there. I guess that Cog having substantial changes all around places, so adding a convenient API for VM flags and removing a bit fiddling from image header, would make things transparent and easy to use from language side. >> >> Stef >> >> >> _______________________________________________ >> Pharo-project mailing list >> Pharo-project@lists.gforge.inria.fr >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > _______________________________________________ > Pharo-project mailing list > Pharo-project@lists.gforge.inria.fr > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > -- Best regards, Igor Stasenko AKA sig. _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project