Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp @ 1665:a93a9eda13f7
6962947: shared TaskQueue statistics
Reviewed-by: tonyp, ysr
author | jcoomes |
---|---|
date | Fri, 16 Jul 2010 21:33:21 -0700 |
parents | e9ff18c4ace7 |
children | 63f4675ac87d |
comparison
equal
deleted
inserted
replaced
1657:1a1ce2076047 | 1665:a93a9eda13f7 |
---|---|
662 if (_hash_seed == NULL) { | 662 if (_hash_seed == NULL) { |
663 warning("_hash_seed array allocation failure"); | 663 warning("_hash_seed array allocation failure"); |
664 return; | 664 return; |
665 } | 665 } |
666 | 666 |
667 // XXX use a global constant instead of 64! | 667 typedef Padded<OopTaskQueue> PaddedOopTaskQueue; |
668 typedef struct OopTaskQueuePadded { | |
669 OopTaskQueue work_queue; | |
670 char pad[64 - sizeof(OopTaskQueue)]; // prevent false sharing | |
671 } OopTaskQueuePadded; | |
672 | |
673 for (i = 0; i < num_queues; i++) { | 668 for (i = 0; i < num_queues; i++) { |
674 OopTaskQueuePadded *q_padded = new OopTaskQueuePadded(); | 669 PaddedOopTaskQueue *q = new PaddedOopTaskQueue(); |
675 if (q_padded == NULL) { | 670 if (q == NULL) { |
676 warning("work_queue allocation failure."); | 671 warning("work_queue allocation failure."); |
677 return; | 672 return; |
678 } | 673 } |
679 _task_queues->register_queue(i, &q_padded->work_queue); | 674 _task_queues->register_queue(i, q); |
680 } | 675 } |
681 for (i = 0; i < num_queues; i++) { | 676 for (i = 0; i < num_queues; i++) { |
682 _task_queues->queue(i)->initialize(); | 677 _task_queues->queue(i)->initialize(); |
683 _hash_seed[i] = 17; // copied from ParNew | 678 _hash_seed[i] = 17; // copied from ParNew |
684 } | 679 } |