My name is Temiloluwa, and I am a software engineer interested in getting started with V8 development.
I have set up the V8 development environment on macOS(M1), built V8 from source successfully, run d8, and run the test suite. I am currently learning C++ more deeply, particularly systems programming, low latency, memory management, and low-level optimization, and I would like to develop these skills by contributing to V8.
I have started looking through the Chromium issue tracker, but since this is my first contribution to V8, I would appreciate some guidance on a suitable issue to start with. I am happy to begin with a small bug, test improvement, cleanup, or other well-scoped task and learn the relevant part of the codebase as I work through it.
If there are any beginner-friendly or currently unowned issues that would be appropriate for a new contributor, I would be grateful for recommendations.
Thanks,
Temiloluwa
--
--
v8-dev mailing list
v8-...@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/v8-dev/e9150a3f-57b7-4f16-a01c-2d7bb0c8428bn%40googlegroups.com.
Google Germany GmbH
Erika-Mann-Straße 33
80636 München
Geschäftsführer: Paul Manicle, Liana Sebastian.
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail an die falsche Person gesendet wurde.
This e-mail is confidential. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person.
Thank you, this is very helpful. I am particularly interested in the JavaScript language side of V8, so the test262 direction sounds like a good place for me to start.
I have located test/test262/test262.status in my local checkout and I am going to start by understanding some of the skipped/failing tests there, read the corresponding ECMAScript specification sections and reproduce the behavior locally before attempting any changes.
I will keep your caveat in mind that some of the tests might be failing for a good reason, and we might not even want to fix all corner cases if the fix would add significant complexity.
Thank you for pointing me in this direction.
Hi V8 team,
I started by investigating one of the skipped Test262 language corner case entries in test/test262/test262.status. Before preparing a patch, I wanted to ask whether this looks like a welcome cleanup, since the entries are in a Roll-watcher patch block.
I investigated these skipped Test262 entries:
They were added to test/test262/test262.status by commit 79fd9fd996f21fbf29788f89bbc07d86db830b63 during a Test262 roll. The git blame points to a Roll-watcher patch added by v8-ci-autoroll-builder.
From the upstream Test262 history, these tests were originally added for Annex B first-line --> HTMLCloseComment behavior. They were later fixed in Test262 commit 42d83277b7 because the raw tests previously used harness-provided Test262Error, the fix changed them to use EvalError instead.
On my current V8 checkout at 3e6373bb9f9, the tests pass when forced with:
tools/run-tests.py --outdir=out.gn/x64.debug --run-skipped \
test262/annexB/language/comments/single-line-html-close-first-line-1 \
test262/annexB/language/comments/single-line-html-close-first-line-2 \
test262/annexB/language/comments/single-line-html-close-first-line-3
This ran 6 variants and all passed.
The relevant scanner behavior also appears to already support this case. Scanner::Initialize() sets the initial token as after_line_terminator, and Scanner::ScanSingleToken() treats --> as SkipSingleHTMLComment() when next().after_line_terminator is true. Modules are still rejected through SkipSingleHTMLComment() as expected for Annex B HTML comments.
Would a small CL removing these three stale SKIP entries from test/test262/test262.status be welcome, or should this be left to Test262 roll-watcher cleanup?
To view this discussion visit https://groups.google.com/d/msgid/v8-dev/4c0532f8-ef0c-40b1-a0ab-ac8b9053d8a2n%40googlegroups.com.
The tests now pass because the upstream Test262 tests were fixed later, not because V8’s comment parsing behavior recently changed.
The three tests had flags: [raw] but used Test262Error as the expected runtime error. Since raw tests do not get the normal harness, that caused the known upstream issue where Test262Error was not defined. Upstream Test262 later fixed this in 42d83277b7 by changing the runtime error from Test262Error to EvalError. The fix came in through the later Test262 roll 8834b4744aed04658e0b0137c96840cfb6bc2b63, which updated Test262 to dad2774b2eab2119cc8390ae65db4a5016de2dfe. I checked that 42d83277b7 is an ancestor of that rolled revision.
I did not see evidence that V8’s relevant HTML close comment parsing changed after the skips were added. V8 has had an old regression test for first-line `-->` parsing since 5628d3c482fb8c8fc989b84364ab2a31ea3cf0de, titled “Fix parsing of /**/--> on first line of input.”
So my current understanding is that the skips were added because the newly rolled Test262 tests failed due to an upstream Test262 harness/metadata issue, and they became stale after V8 later rolled in the upstream Test262 fix.
To view this discussion visit https://groups.google.com/d/msgid/v8-dev/69eef6b3-807a-4c24-a896-b78f4963e4cfn%40googlegroups.com.