Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

V8 6.0 #226

Closed
alitaheri opened this issue Jun 21, 2017 · 14 comments
Closed

V8 6.0 #226

alitaheri opened this issue Jun 21, 2017 · 14 comments

Comments

@alitaheri
Copy link

Are there any plans to upgrade v8 to version 6? The new features can surely increase performance by great factors. 馃榿

@JerrySievert
Copy link
Member

we are trying to track node.js LTE on the 2.0 branch, I will see where they are and let you know.

@bendiy
Copy link
Contributor

bendiy commented Jun 28, 2017

Node.js version 8.0.0 release was slightly delayed so it could be released with V8 5.8 that will be ABI compatible with V8 6.0.
See:

  1. Delay the release to allow us to ship with a version of V8 5.8 that is ABI compatible to 6.0

https://medium.com/the-node-js-collection/node-js-8-0-0-has-been-delayed-and-will-ship-on-or-around-may-30th-cd38ba96980d

The expectation for Node 8.x that is LTS is the LTS version could be updated to run on V8 5.8 through 6.0. When the LTS is first cut, it will probably be 5.8 or 5.9, but might get patches up to 6.0 over the course of the LTS support lifetime.

@alitaheri
Copy link
Author

node v 8.3.0 has v8 v 6.0 馃榿 馃帀

@JerrySievert
Copy link
Member

there's an easy way to tell if it will work :)

change this line: https://github.com/plv8/plv8/blob/master/Makefile.v8#L10

run make static, make install, and finally, make installcheck.

likely a change would make me want to update to plv8 2.2.0 because of the v8 version jump, even though 2.1 is at 5.8.x

@JerrySievert
Copy link
Member

fyi, there is an issue: SetupIsolateDelegate cannot be found (v8::internal), trying to track down what library it's contained in though.

@JerrySievert
Copy link
Member

I have a working build - I'll see what I can do on getting a 2.2.0 release done this weekend with an updated version.

just required a few additional libraries during the static build.

@JerrySievert
Copy link
Member

unfortunately, after about 8 hours of trying to get a build working on linux, I've had to back off for now (macOS was working great).

issue seems to be that after the linking, symbols are getting lost, changing the order of the libraries during the link process seems to just move around which symbols are missing (and final link size, which is very odd). going back to 5.8 fixes the issue.

I can see about using libtool and linking the libraries into a single library, but that will require rewriting the makefile, which will have to wait until I get some sleep.

@JerrySievert
Copy link
Member

6.0.283 is where I'm at now. I reached out to a friend in the node technical group, and he's working on helping to get more direct contacts on the v8 team to help figure this out.

@alitaheri
Copy link
Author

Well, that was a very fast response. Thanks for taking the time to see this through. could help us a lot 馃憤 馃憤 馃憤

@davidbeauchamp
Copy link

davidbeauchamp commented Aug 30, 2017

@JerrySievert I am not sure of the specifics of what changed, but I was able to get a working build of plv8 2.1.0 with v8 6.2.415 by adding libv8_builtins_setup.a libv8_builtins_generators.a libv8_external_snapshot.a to the end of this list, and actually copying those three libraries from ./out/native/obj.target/src to ./out/native manually.

Once plv8.so was linked against those I had a working library. I am not intimate enough with v8 (or even plv8 sources for that matter) to know if those libraries should even be copied up but it was the path of least resistance to get them linked in. If you wanted to inspect the resulting libraries, here is a test build of a bundle our company uses to support plv8 on Linux's without a distro package, which contains a plv8 for 9.3, 9.4, 9.5, 9.6 and 10beta3: http://mirror.outerworld.org/xtuple_plv8_2.1.0-v8_6.2.415.tgz

@davidbeauchamp
Copy link

Now that I look at Makefile.v8 it looks like it is responsible for putting the symlinks in ./out/native directly. If this is correct I am happy open a PR tomorrow with the additions --

@davidbeauchamp
Copy link

davidbeauchamp commented Aug 30, 2017

For 6.0.238, I only had to include/link libv8_extenal_snapshot.a as the others didn't exist yet. I created a version of our package with this build as well: http://mirror.outerworld.org/xtuple_plv8_2.1.0-v8_6.0.238.tgz

I bumped master to 2.2.0 and v8 6.0.318 and included the changes to Makefile.v8 on my fork: master...davidbeauchamp:master

@JerrySievert
Copy link
Member

for 6.0.283, I only needed to add the setup, and generators, but this doesn't solve the issue of getting plv8 at the same v8 version as node.js (6.0.286.52), which is where I want to make sure plv8 stays until node.js updates.

still waiting for a response from my v8 contact re: the issues under linux for 6.0.286.52.

if you're interested in what those issues are, I'm happy to write up a comment explaining them in depth, but as a unix programmer (c originally, then c++) for 29 years, this is an entirely new issue that I've never encountered.

@JerrySievert
Copy link
Member

closing in favor of #251

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants