Mikhail, Do mean choose which library to load with LoadLibrary() dynamically at startup? This can be done, but that still requires platform specific libraries? For x64 and IA64 we have seperate platform specific binaries. For x86 32, what would be platform specific between PIII, PIV, Centrino etc. except the fence instructions which don't really need to exist for any x86 processor( other than if SSE2 etc. is used ), monitor/mwait that we don't use, and the SSE category of instructions which could be all generated by the jit based on platform? In other words, what do we lose if all the static binaries are PIII compatible and additional instruction types are only generated by the jit?
Thanks, Rana On 4/4/07, Mikhail Fursov <[EMAIL PROTECTED]> wrote:
On 4/5/07, Rana Dasgupta <[EMAIL PROTECTED]> wrote: > > > Jitrino generates code late, the VM doesn't. So I am not sure how this > would work unless we link all versions of the asm's and then decide > which ones to call at runtime, which has a cost. My suggestion would > be that if we want the x86-32 bits to be PIII compatible, we should > only use PIII instructions ( upto SSE ) in all the static 32 bit > binaries. The jit can choose to generate more advanced instruction > sequences at runtime based on cpuid if the paltform supports it. > > Is runtime check really expensive in scenarios we have? Can all CPU dependent code be moved into separate library, so a component can decide in runtime which library to load during startup and avoid further checks? -- Mikhail Fursov
