1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp Wed Apr 27 01:25:04 2016 +0800 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp Fri Apr 29 00:06:10 2016 +0800 1.3 @@ -22,6 +22,12 @@ 1.4 * 1.5 */ 1.6 1.7 +/* 1.8 + * This file has been modified by Loongson Technology in 2015. These 1.9 + * modifications are Copyright (c) 2015 Loongson Technology, and are made 1.10 + * available on the same license terms set forth above. 1.11 + */ 1.12 + 1.13 #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSTASKS_HPP 1.14 #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSTASKS_HPP 1.15 1.16 @@ -67,7 +73,7 @@ 1.17 private: 1.18 RootType _root_type; 1.19 public: 1.20 - ScavengeRootsTask(RootType value) : _root_type(value) {} 1.21 + ScavengeRootsTask(RootType value) : _root_type(value) {set_task_numa_id(-1);} 1.22 1.23 char* name() { return (char *)"scavenge-roots-task"; } 1.24 1.25 @@ -86,8 +92,8 @@ 1.26 JavaThread* _java_thread; 1.27 VMThread* _vm_thread; 1.28 public: 1.29 - ThreadRootsTask(JavaThread* root) : _java_thread(root), _vm_thread(NULL) {} 1.30 - ThreadRootsTask(VMThread* root) : _java_thread(NULL), _vm_thread(root) {} 1.31 + ThreadRootsTask(JavaThread* root) : _java_thread(root), _vm_thread(NULL) {set_task_numa_id(root->lgrp_id());} 1.32 + ThreadRootsTask(VMThread* root) : _java_thread(NULL), _vm_thread(root) {set_task_numa_id(root->lgrp_id());} 1.33 1.34 char* name() { return (char *)"thread-roots-task"; } 1.35 1.36 @@ -173,11 +179,34 @@ 1.37 _gen(gen), 1.38 _gen_top(gen_top), 1.39 _stripe_number(stripe_number), 1.40 - _stripe_total(stripe_total) { } 1.41 + _stripe_total(stripe_total) {set_task_numa_id(-1);} 1.42 1.43 char* name() { return (char *)"old-to-young-roots-task"; } 1.44 1.45 virtual void do_it(GCTaskManager* manager, uint which); 1.46 }; 1.47 1.48 +class OldToYoungRootsTask_OldNUMA : public GCTask { 1.49 + private: 1.50 + PSOldGen* _gen; 1.51 + HeapWord** _gen_top; 1.52 + uint _stripe_number; 1.53 + uint _stripe_total; 1.54 + 1.55 + public: 1.56 + OldToYoungRootsTask_OldNUMA(PSOldGen *gen, 1.57 + HeapWord** gen_top, 1.58 + uint stripe_number, 1.59 + uint stripe_total) : 1.60 + _gen(gen), 1.61 + _gen_top(gen_top), 1.62 + _stripe_number(stripe_number), 1.63 + _stripe_total(stripe_total) {set_task_numa_id(-1);} 1.64 + 1.65 + char* name() { return (char *)"OldNUMA-old-to-young-roots-task"; } 1.66 + 1.67 + virtual void do_it(GCTaskManager* manager, uint which); 1.68 +}; 1.69 + 1.70 + 1.71 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSTASKS_HPP