deps: workaround clang-3.4 ICE
PR-URL: https://github.com/nodejs/node/pull/8343 Fixes: https://github.com/nodejs/node/issues/8323 Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
This commit is contained in:
parent
266270e618
commit
870faeef95
2
deps/v8/include/v8-version.h
vendored
2
deps/v8/include/v8-version.h
vendored
@ -11,7 +11,7 @@
|
||||
#define V8_MAJOR_VERSION 5
|
||||
#define V8_MINOR_VERSION 1
|
||||
#define V8_BUILD_NUMBER 281
|
||||
#define V8_PATCH_LEVEL 81
|
||||
#define V8_PATCH_LEVEL 82
|
||||
|
||||
// Use 1 for candidates and 0 otherwise.
|
||||
// (Boolean macro values are not supported by all preprocessors.)
|
||||
|
14
deps/v8/src/heap/mark-compact.cc
vendored
14
deps/v8/src/heap/mark-compact.cc
vendored
@ -3496,10 +3496,20 @@ int NumberOfPointerUpdateTasks(int pages) {
|
||||
|
||||
template <PointerDirection direction>
|
||||
void UpdatePointersInParallel(Heap* heap, base::Semaphore* semaphore) {
|
||||
// Work-around bug in clang-3.4
|
||||
// https://github.com/nodejs/node/issues/8323
|
||||
struct MemoryChunkVisitor {
|
||||
PageParallelJob<PointerUpdateJobTraits<direction> >& job_;
|
||||
MemoryChunkVisitor(PageParallelJob<PointerUpdateJobTraits<direction> >& job)
|
||||
: job_(job) {}
|
||||
void operator()(MemoryChunk* chunk) {
|
||||
job_.AddPage(chunk, 0);
|
||||
}
|
||||
};
|
||||
|
||||
PageParallelJob<PointerUpdateJobTraits<direction> > job(
|
||||
heap, heap->isolate()->cancelable_task_manager(), semaphore);
|
||||
RememberedSet<direction>::IterateMemoryChunks(
|
||||
heap, [&job](MemoryChunk* chunk) { job.AddPage(chunk, 0); });
|
||||
RememberedSet<direction>::IterateMemoryChunks(heap, MemoryChunkVisitor(job));
|
||||
PointersUpdatingVisitor visitor(heap);
|
||||
int num_pages = job.NumberOfPages();
|
||||
int num_tasks = NumberOfPointerUpdateTasks(num_pages);
|
||||
|
Loading…
x
Reference in New Issue
Block a user