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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can you share references to your v8 build steps #604

Closed
frank-dspeed opened this issue May 20, 2022 · 6 comments
Closed

can you share references to your v8 build steps #604

frank-dspeed opened this issue May 20, 2022 · 6 comments

Comments

@frank-dspeed
Copy link
Contributor

It would help me a lot if some one could maybe invest into writing a conclusion what needed to change to use graaljs as v8 replacement

this way i could maybe more fast produce a graal-cef
also it would maybe be more easy to enable graal-deno

i expect that we only need to create a collection of used v8 apis and create a fakev8 maybe we can work on a minimal v8 compatible graaljs lib?

@wirthi
Copy link
Member

wirthi commented May 20, 2022

Hi @frank-dspeed

sorry I don't really understand what you expect us to do. In what embedding scenario do you want to replace v8?

Replacing v8 can mean many things. Where we already do this is Node.js. There, we provide our own modified v8.h + C files so that you can compile Node.js against the known interface of v8 - although on the other side there is no v8 code, but Graal.js/GraalVM.

We go as far as we need to go to support Node.js and all relevant cases in the 100k npm modules we test. But we certainly don't implement EVERYTHING from the v8.h file - meaning there are npm modules that don't work on Graal.js-Node.js, but more relevantly, there might be other embedding scenarios (e.g., Electron) that we are not compatible with.

Best,
Christian

@frank-dspeed
Copy link
Contributor Author

@wirthi the scenario that i am now trying to enable is https://github.com/nwjs/nw.js it is C++ Cef and a Chrome App to expose api's to the frontend if needed it enables rapid Web development like electron but better

the core diff to electron is that it is using native cef it produces a binary that exposes some interfaces to the chrome app and the chrome app is the main entrypoint a so called background page it is like a mega extension everything open.

nodejs gets build as shared lib .so and gets integrated into the chrome app

i now want to replace that with node graal or at last graaljs as v8 replacement.

i am not sure what will be faster and more usefull in first place

after that i will integrate some graalvm polyglot context creation core apis to expose polyglot to the frontend

at last thats the plan.

@frank-dspeed
Copy link
Contributor Author

i asked about the v8 node part to examin the development overhead as the shared node.so in nwjs is build against the same v8 from the cef.

thanks for your answer and i know now that i need to examin the used api's from cef and this nodejs fork to know whats missing

@lemanschik
Copy link

@wirthi this was a issue created because i was iterating on a much bigger project a world wide shared distributed compiler and vm and i wanted graalvm interop :) which i got by fact now.

@wirthi
Copy link
Member

wirthi commented Dec 6, 2022

Thanks for the update, then I am closing this.

@wirthi wirthi closed this as completed Dec 6, 2022
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

3 participants