graaljs icon indicating copy to clipboard operation
graaljs copied to clipboard

Reporting on https://test262.report/

Open jfparadis opened this issue 5 years ago • 8 comments

It's very exciting to see how graaljs is coming along, and I'd love to help in any way possible with more awareness and adoption.

Has it been discussed to add the test262 results to https://test262.report along with the other engines? That would contribute to the visibility to the graaljs project, and help developers both architect and debug solutions!

Thoughts?

jfparadis avatar Jan 09 '20 20:01 jfparadis

Hi @jfparadis,

yes, I've talked to Leo Balter already. We currently have an engineer preparing everything for this. Should not be too hard, main engineering effort might be to provide an smaller engine (currently, Graal.js only ships inside GraalVM, which might be to heavy to ship for jsvu).

Best, Christian

wirthi avatar Jan 13 '20 14:01 wirthi

Excellent. Sounds like jsvu is the right integration point. Let me know if you need contributors/testers/reviewers/etc.

jfparadis avatar Jan 19 '20 16:01 jfparadis

I'm working on adding support to esvu and eshost. However, it won't be enabled by default because of the enormous download size.

Does the release of graaljs expose any of the apis listed here in https://github.com/tc39/test262/blob/master/INTERPRETING.md#host-defined-functions? It will help with supporting it in eshost.

devsnek avatar Jan 21 '20 18:01 devsnek

https://github.com/devsnek/esvu/commit/e66171ef17183f14adb749a0f8df04433497ce29 https://github.com/bterlson/eshost/pull/96

devsnek avatar Jan 21 '20 19:01 devsnek

Hi @devsnek

thanks for working on this. We also have a student (Serhii) on this job right now. How much further to you plan to go? Can we somehow split the work between you and our student to avoid duplicate work?

Our goal with this effort is to run Test262-harness in order to appear on Test262.report - should we concentrate on those tools? For eshost, Serhii will get in touch with you (next week, latest) with his version of the harness, where he should have an answer for the question you raised above.

Regarding Download size of JSVU: with some limited effort, we could provide a JS-standalone SVM image. Our sibling project TruffleRuby is providing that already (https://github.com/oracle/truffleruby/releases), their download size is ~53 MB (Graal.js would be in the same ballpark, a bit smaller likely).

Thanks, Christian

wirthi avatar Jan 24 '20 11:01 wirthi

Hi @devsnek ,

most of the functions you asked for are exposed when you start with an additional flag:

$ js --experimental-options --js.test262-mode=true
> $262.createRealm
function createRealm() { [native code] }
> 

We might improve that a bit in the future.

-- Christian

wirthi avatar Jan 24 '20 11:01 wirthi

Having a smaller download would be fantastic. I will avoid working on this more so your student can do what they need to do.

devsnek avatar Jan 24 '20 16:01 devsnek

Hi @devsnek I'm the student that Christian mentioned before, I've been working on adding GraalJS to eshost too. As Christian wrote previously, GraalJS provides the $262 object with these methods (createRealm/evalScript/agent) behind the flags. So I assume that there's no need to create the $262 object one more time in runtimes/graaljs.js file, but somehow add missing methods. I've played around with this, but got stuck with one error. Can we continue the conversation somewhere in private messages, e.g. there: https://www.graalvm.org/slack-invitation/ ?

SergiyIvan avatar Jan 27 '20 10:01 SergiyIvan