BLIde 64-bit app?

BlitzMax Forums/BlitzMax Programming/BLIde 64-bit app?

Tachyon(Posted 2009) [#1]
Is BLIide a native 64-bit app? Running it on Windows 7 x64, it does not display the normal "*32" beside the process name to signify that it is a 32-bit app.

Although it did install to the x86 Program folder...


popcade(Posted 2009) [#2]
BLIde is a .NET 2.0 app, dunno if this is the reason tho.


ziggy(Posted 2009) [#3]
BLIde is a native 64 bits application when it is executed on a 64 bits versions of windows. Otherwise it is a native 32 bits application (thanks to the wonderful JIT compiler of the .net framework). It may be installed on the x86 programs folder becouse a small area of BLIde (the audio preview subsystem and the 3D preview dll) are both 32 bits DLLs (all other BLIde dlls are JIT compiled to 64 or 32 bits, depending on the host machine architecture).


Tachyon(Posted 2009) [#4]
@ziggy: Cool! Yet another reason to use BLIde- it runs as a 64-bit app on Windows x64! =D


Mahan(Posted 2009) [#5]
@Tachyon: This is not a special property of BLide but of all .NET apps (and Java apps too for that matter). The thing is that all applications written in these two languages use VMs (virtual machines) that includes JIT (just in time compiling).

It's like a free bonus you get when you choose one of these platforms.


ziggy(Posted 2009) [#6]
Well... Currently the JIT compiler works as a replacement of the Old School VM and the bytecode is compiled to native machine code just before runtime, so you get fast native code optimized for the machine it is being run on, hence BLIde begin a 64 bits app on windows 64 bits, and a 32 bits app when running on 32 bits versions of windows. Here's a very basic -but interesting- wiki about several VM and JIT compilers: http://en.wikipedia.org/wiki/Comparison_of_application_virtual_machines
Also some info about the common language Runtime used by any .net application: http://en.wikipedia.org/wiki/Common_Language_Runtime

EDIT: Current BLIde version does not even use the JIT compiler, but a Install Time Complier, that generates a real native image of the application in the host machine, so at the end it matches the execution speed of native applications (becose it is 100% native after install, with all available optimizations for the specific hardware it is running on!)