bytenode/bytenode

Node.js version, or v8 version?

piranna opened this issue · 2 comments

Please note `.jsc` files must run with the same Node.js version that was used to compile it (using same architecture of course). Also, `.jsc` files are CPU-agnostic. However, you should run your tests before and after deployment, because V8 sanity checks include some checks related to CPU supported features, so this may cause errors in some rare cases.

v8 version is important, but is it the Node.js version too? Or just if both Node.js versions use the same v8 version (it seems to be warranted for Node.js minor versions, and sometimes between majors too) is enough?

I'm not sure what the answer is to be honest. It should be fine I guess. If you know two major node versions that have the same v8 version, let me know and I will test this idea.

The issue is that even if my tests work properly, you'll never be sure that it will crash with another app or code. These crashes happen on the C++ side, so it's almost impossible to predict just from running javascript from node. Even if we were to jump to C++ and start testing there, v8 is a gigantic piece of sh..., I mean, piece of software. It won't be an easy task for sure.

I'm not sure what the answer is to be honest. It should be fine I guess. If you know two major node versions that have the same v8 version, let me know and I will test this idea.

I don't know about two major Node.js versions, I think all of them are different. Regarding minor versions, then YES, there are minor versions sharing the same v8 version, but not others, also with the same major number. My question is: two Node.js versions that share the same v8 version, are compatible between them regarding bytenode? Or is bytenode incompatible between Node.js minor versions, no matter if they share the same v8 version?