File tree 2 files changed +13
-3
lines changed
2 files changed +13
-3
lines changed Original file line number Diff line number Diff line change 11
11
#define V8_MAJOR_VERSION 5
12
12
#define V8_MINOR_VERSION 1
13
13
#define V8_BUILD_NUMBER 281
14
- #define V8_PATCH_LEVEL 81
14
+ #define V8_PATCH_LEVEL 82
15
15
16
16
// Use 1 for candidates and 0 otherwise.
17
17
// (Boolean macro values are not supported by all preprocessors.)
Original file line number Diff line number Diff line change @@ -3496,10 +3496,20 @@ int NumberOfPointerUpdateTasks(int pages) {
3496
3496
3497
3497
template <PointerDirection direction>
3498
3498
void UpdatePointersInParallel (Heap* heap, base::Semaphore* semaphore) {
3499
+ // Work-around bug in clang-3.4
3500
+ // https://github.com/nodejs/node/issues/8323
3501
+ struct MemoryChunkVisitor {
3502
+ PageParallelJob<PointerUpdateJobTraits<direction> >& job_;
3503
+ MemoryChunkVisitor (PageParallelJob<PointerUpdateJobTraits<direction> >& job)
3504
+ : job_(job) {}
3505
+ void operator ()(MemoryChunk* chunk) {
3506
+ job_.AddPage (chunk, 0 );
3507
+ }
3508
+ };
3509
+
3499
3510
PageParallelJob<PointerUpdateJobTraits<direction> > job (
3500
3511
heap, heap->isolate ()->cancelable_task_manager (), semaphore);
3501
- RememberedSet<direction>::IterateMemoryChunks (
3502
- heap, [&job](MemoryChunk* chunk) { job.AddPage (chunk, 0 ); });
3512
+ RememberedSet<direction>::IterateMemoryChunks (heap, MemoryChunkVisitor (job));
3503
3513
PointersUpdatingVisitor visitor (heap);
3504
3514
int num_pages = job.NumberOfPages ();
3505
3515
int num_tasks = NumberOfPointerUpdateTasks (num_pages);
You can’t perform that action at this time.
0 commit comments