You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
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.
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.
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 ?
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.
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 :(
Activity
indutny commentedon Sep 4, 2015
They broke it again! 😢
targos commentedon Sep 4, 2015
Hold on, 4.6.85.13 was just released with a fix from @ofrobots 🎉
targos commentedon Sep 4, 2015
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.
ofrobots commentedon Sep 4, 2015
@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.
Fishrock123 commentedon Sep 4, 2015
Knowing your aforementioned use case (game server?) I think you should focus on other optimizations. You can't multi-thread that in JavaScript.
Fishrock123 commentedon Sep 4, 2015
@McFarts Could you please ask this on stack-overflow instead? This really isn't the place for the questions you are asking.
kkoopa commentedon Sep 5, 2015
NAN 2.0.8 test suite passes.
ChALkeR commentedon Sep 10, 2015
Could you please check if #2793 works in 4.6?
ChALkeR commentedon Sep 18, 2015
v8 4.6.85.19 should fix #2793.
targos commentedon Sep 25, 2015
I just rebased
vee-eight-4.6onmasterand included the backports from 4.7 that I could:trevnorris commentedon Sep 25, 2015
This ready for a CI run?
targos commentedon Sep 26, 2015
https://ci.nodejs.org/job/node-test-commit/674/
targos commentedon Sep 26, 2015
... the
.gitignoretrolled me again: https://github.com/nodejs/node/blob/master/.gitignore#L26targos commentedon Sep 26, 2015
OK now it's compiling: https://ci.nodejs.org/job/node-test-commit/675/
15 remaining items
indutny commentedon Sep 29, 2015
@bnoordhuis this is a staging branch, right? I suppose someone will add them when merging to real branch
ofrobots commentedon Sep 29, 2015
IMO, it would be better to do reviews on
vee-eight-*branches too. This improves collaboration and makes it much faster to land onmasterwhen the the merge time comes.indutny commentedon Sep 29, 2015
@ofrobots well, all previous commits wasn't reviewed, so I did it the same way as it was.
indutny commentedon Sep 29, 2015
Guess we may put comments on commits.
targos commentedon Sep 29, 2015
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
masterafter 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
masterDo we merge
masterinto it or do we regularly rebase onmaster? 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 ?
ofrobots commentedon Sep 30, 2015
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.
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.
targos commentedon Oct 5, 2015
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/
targos commentedon Oct 5, 2015
@bnoordhuis It seems that
ObjectIsPromiseisn't exposed anymore in debug context :(evanlucas commentedon Oct 5, 2015
We could use
v8::Value::IsPromiselike #3119 is for Map/SetIteratormgol commentedon Oct 13, 2015
Chrome 46 is out so V8 4.6 is now stable.
targos commentedon Oct 14, 2015
V8 4.6 is now on master.