Skip to content

Time to play with V8 4.6 #2688

Description

@targos

Now that 4.5 is on master, we can start working on the vee-eight-4.6 integration branch.
I upgraded V8 to 4.6.85.12 (https://github.com/nodejs/node/tree/vee-eight-4.6). Sadly I cannot make it to compile. Here is the error I get:

node [vee-eight-4.6] % make 
make -C out BUILDTYPE=Release V=1
make[1]: Entering directory '/home/mzasso/git/targos/node/out'
  g++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DISASSEMBLER' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' -I../deps/v8  -pthread -Wall -Wextra -Wno-unused-parameter -m64 -B/home/mzasso/git/targos/node/third_party/binutils/Linux_x64/Release/bin -fno-strict-aliasing -m64 -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /home/mzasso/git/targos/node/out/Release/.deps//home/mzasso/git/targos/node/out/Release/obj.target/v8_base/gen/debug-support.o.d.raw  -c -o /home/mzasso/git/targos/node/out/Release/obj.target/v8_base/gen/debug-support.o /home/mzasso/git/targos/node/out/Release/obj/gen/debug-support.cc
/home/mzasso/git/targos/node/out/Release/obj/gen/debug-support.cc:385:49: error: ‘kInObjectPropertiesOffset’ is not a member of ‘v8::internal::Map’
 int v8dbg_class_Map__inobject_properties__int = Map::kInObjectPropertiesOffset;
                                                 ^
deps/v8/tools/gyp/v8_base.target.mk:420: recipe for target '/home/mzasso/git/targos/node/out/Release/obj.target/v8_base/gen/debug-support.o' failed
make[1]: *** [/home/mzasso/git/targos/node/out/Release/obj.target/v8_base/gen/debug-support.o] Error 1
make[1]: Leaving directory '/home/mzasso/git/targos/node/out'
Makefile:45: recipe for target 'node' failed
make: *** [node] Error 2

I am able to compile d8 without any issue on the same version.

/cc @nodejs/v8

Activity

  1. added
    v8 engineIssues and PRs related to the V8 dependency.
    on Sep 4, 2015
  2. indutny commented on Sep 4, 2015

    @indutny
    Member

    They broke it again! 😢

  3. targos commented on Sep 4, 2015

    @targos
    MemberAuthor

    Hold on, 4.6.85.13 was just released with a fix from @ofrobots 🎉

  4. targos commented on Sep 4, 2015

    @targos
    MemberAuthor

    OK it's all working on my side, here is a first CI: https://ci.nodejs.org/job/node-test-commit/501/
    I did not apply any floating patch yet, something may be missing.

  5. ofrobots commented on Sep 4, 2015

    @ofrobots
    Contributor

    @McFarts Here's the V8 team's blog post on 4.6: http://v8project.blogspot.de/2015/08/v8-release-46.html

    There are no plans that I am aware of to add shared-memory multi-threading to V8 as JavaScript is single threaded as per the language spec. Perhaps your multi-core use-cases can be addressed by the cluster module, or perhaps by workers (#2133) if/when they end up landing in Node.

  6. Fishrock123 commented on Sep 4, 2015

    @Fishrock123
    Contributor

    When do you think they will enable memory sharing across cores? I need my global variables and data to be... you know.. really global :P If you know what I mean

    Knowing your aforementioned use case (game server?) I think you should focus on other optimizations. You can't multi-thread that in JavaScript.

  7. Fishrock123 commented on Sep 4, 2015

    @Fishrock123
    Contributor

    @McFarts Could you please ask this on stack-overflow instead? This really isn't the place for the questions you are asking.

  8. kkoopa commented on Sep 5, 2015

    @kkoopa

    NAN 2.0.8 test suite passes.

  9. ChALkeR commented on Sep 10, 2015

    @ChALkeR
    Member

    Could you please check if #2793 works in 4.6?

  10. ChALkeR commented on Sep 18, 2015

    @ChALkeR
    Member

    v8 4.6.85.19 should fix #2793.

  11. targos commented on Sep 25, 2015

    @targos
    MemberAuthor

    I just rebased vee-eight-4.6 on master and included the backports from 4.7 that I could:

  12. trevnorris commented on Sep 25, 2015

    @trevnorris
    Contributor

    This ready for a CI run?

  13. targos commented on Sep 26, 2015

    @targos
    MemberAuthor
  14. targos commented on Sep 26, 2015

    @targos
    MemberAuthor
  15. targos commented on Sep 26, 2015

    @targos
    MemberAuthor
  16. 15 remaining items

  17. indutny commented on Sep 29, 2015

    @indutny
    Member

    @bnoordhuis this is a staging branch, right? I suppose someone will add them when merging to real branch

  18. ofrobots commented on Sep 29, 2015

    @ofrobots
    Contributor

    IMO, it would be better to do reviews on vee-eight-* branches too. This improves collaboration and makes it much faster to land on master when the the merge time comes.

  19. indutny commented on Sep 29, 2015

    @indutny
    Member

    @ofrobots well, all previous commits wasn't reviewed, so I did it the same way as it was.

  20. indutny commented on Sep 29, 2015

    @indutny
    Member

    Guess we may put comments on commits.

  21. targos commented on Sep 29, 2015

    @targos
    MemberAuthor

    I agree that it would be better to have a proper review process for vee-eight-* branches. There are a few situations that we need to decide how to deal with:

    Initiate the branch

    I suggest to cut it from master after the previous one has been merged and start with a PR to upgrade V8 to the next version.

    Keep the branch up to date with master

    Do we merge master into it or do we regularly rebase on master ? I am for the second option but in this case how do we review a conflicting rebase ?

    Keep V8 up to date in the branch

    The beta branch of V8 usually has updates more often than the stable one. Do we make a PR for each one of them ?

  22. ofrobots commented on Sep 30, 2015

    @ofrobots
    Contributor

    Do we merge master into it or do we regularly rebase on master ? I am for the second option but in this case how do we review a conflicting rebase ?

    I'd vote for rebase as well. See also previous discussion for the 4.5 branch. If there is a commit added to resolve a conflict during rebase, that gets reviewed as well.

    The beta branch of V8 usually has updates more often than the stable one. Do we make a PR for each one of them ?

    I don't think we have to have a PR for each one of them. I don't think the goal is to review V8 changes but rather to review us picking up those changes at whatever frequency makes sense for us.

  23. targos commented on Oct 5, 2015

    @targos
    MemberAuthor

    Rebased on master, updated V8 to 4.6.85.23 and cherry-picked all backports.
    CI: https://ci.nodejs.org/job/node-test-commit/725/

  24. targos commented on Oct 5, 2015

    @targos
    MemberAuthor
    794 - test-util-inspect.js
    
    not ok 794 test-util-inspect.js
    # 
    # undefined:1
    # [Debug, ObjectIsPromise]
    # ^
    # ReferenceError: ObjectIsPromise is not defined
    # at <anonymous>:1:9
    

    @bnoordhuis It seems that ObjectIsPromise isn't exposed anymore in debug context :(

  25. evanlucas commented on Oct 5, 2015

    @evanlucas
    Contributor

    We could use v8::Value::IsPromise like #3119 is for Map/SetIterator

  26. mgol commented on Oct 13, 2015

    @mgol
    Contributor

    Chrome 46 is out so V8 4.6 is now stable.

  27. targos commented on Oct 14, 2015

    @targos
    MemberAuthor

    V8 4.6 is now on master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    v8 engineIssues and PRs related to the V8 dependency.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions