63 SERIALGC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_S(f)) \ 64 CMSGC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_P(f)) 65 66 #define SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_2(f) \ 67 SERIALGC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_MS(f)) \ 68 CMSGC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_CMS(f)) \ 69 G1GC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_G1(f)) \ 70 G1GC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_G1FULL(f)) 71 72 // We separate these out, because sometime the general one has 73 // a different definition from the specialized ones, and sometimes it 74 // doesn't. 75 76 #define ALL_OOP_OOP_ITERATE_CLOSURES_1(f) \ 77 f(ExtendedOopClosure,_v) \ 78 SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_1(f) 79 80 #define ALL_OOP_OOP_ITERATE_CLOSURES_2(f) \ 81 SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_2(f) 82 83 // This macro applies an argument macro to all OopClosures for which we 84 // want specialized bodies of a family of methods related to 85 // "par_oop_iterate". The arguments to f are the same as above. 86 // The "root_class" is the most general class to define; this may be 87 // "OopClosure" in some applications and "OopsInGenClosure" in others. 88 89 90 #define ALL_PAR_OOP_ITERATE_CLOSURES(f) \ 91 f(ExtendedOopClosure,_v) \ 92 CMSGC_ONLY(SPECIALIZED_PAR_OOP_ITERATE_CLOSURES(f)) 93 94 #endif // SHARE_VM_GC_SHARED_SPECIALIZED_OOP_CLOSURES_HPP | 63 SERIALGC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_S(f)) \ 64 CMSGC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_P(f)) 65 66 #define SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_2(f) \ 67 SERIALGC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_MS(f)) \ 68 CMSGC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_CMS(f)) \ 69 G1GC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_G1(f)) \ 70 G1GC_ONLY(SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_G1FULL(f)) 71 72 // We separate these out, because sometime the general one has 73 // a different definition from the specialized ones, and sometimes it 74 // doesn't. 75 76 #define ALL_OOP_OOP_ITERATE_CLOSURES_1(f) \ 77 f(ExtendedOopClosure,_v) \ 78 SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_1(f) 79 80 #define ALL_OOP_OOP_ITERATE_CLOSURES_2(f) \ 81 SPECIALIZED_OOP_OOP_ITERATE_CLOSURES_2(f) 82 83 #endif // SHARE_VM_GC_SHARED_SPECIALIZED_OOP_CLOSURES_HPP |