64-bit support

Sep 3, 2010 at 8:54 AM
Edited Sep 3, 2010 at 8:56 AM


The downloadable assemblies here are 32-bit only - which gives me "System.BadImageFormatException : Could not load file or assembly 'Noesis.Javascript"

And I can't see any instructions or advice on how to configure the source C++ project for 64-bit. (the Noesis.Javascript project is Win32 with nothing else available in the dropdown)

Are there any clues on what to do for a 64-bit machine? Is it doable?


Sep 8, 2010 at 7:53 PM
Edited Sep 8, 2010 at 7:55 PM

No effort has been been made to compile and run V8 in 64 bits. The first step is to make sure a 64bit build is supported by V8. This is critical since V8 generates native code from Javascript, and is therefore platform sensible in this matter. A 64bit binary release should be achieved reasonably easily if V8 supports it.

Unfortunately, we don't have any time budget to perform this reasearch at the moment. We will appreciate any progress from the community in this regard.

Thank you

Sep 28, 2010 at 5:55 AM

v8's build pages suggest that 64 bit compilation should work.  I am going to try to get it working.  Can anyone from Noesis provide information on what was done to get the original v8 distribution working in this build environment?  I just want to avoid remaking the same mistakes/whatever.

Sep 28, 2010 at 5:19 PM

We haven't made any efforts in building this project in 64bits since we don't have a requirement to use that architecture in our projects referring to Javascript .NET.


Sep 29, 2010 at 2:01 AM

Sorry, what I meant was: how did you customise the 32 bit build to get it working with .Net?  Presumably I will need to repeat these steps for 64 bit.

Sep 30, 2010 at 3:10 AM

BTW Thanks for the effort to take this up oliverbock!


Sep 30, 2010 at 5:31 AM

Don't be too happy.  I can build 64 bit v8 libraries using the latest from v8 subversion (not bleeding edge), but when I use the v8 source distributed with Noesis.Javascript I cannot get it to link.  In particular, compiler.cc refers to FastCodeGenerator::MakeCode (and FastCodeGenSyntaxChecker::*), which is implemented in fast-codegen-ia32.cc, but not in fast-codegen-x64.cc.  Strange that this half-done stuff should ever have made it into the v8 trunk.

Anyway, I suspect the only way to get Noesis.Javascript working in 64 bit mode is for Noesis to adopt a more recent version of v8.  I shall manually upgrade my copy of the Noesis.Javascript source tree with the v8 trunk and see if I can get it all to work in 64 bits too.

Oct 1, 2010 at 2:01 AM

Some good news here: I have got my version of Noesis.Javascript working in 64 bit mode.  I did this by creating a consolidated 32- and 64-bit noesis_v8.vcproj by copying elements from v8_base_x64.vcproj, and making additional changes because the v8 guys have let v8_base_x64.vcproj get out of date.  (I don't like the v8 approach of completely separate x64 project and solution files for this reason, and because it stops me doing batch builds.  In any case, v8 look like want to change to a system that automatically generates project files, so at least they will not get out of date.  See http://code.google.com/p/v8/issues/detail?id=885)

If anyone wants the consolidated vcproj, just tell me.