476 |
476 |
477 // Handles the parallel case for the method below. |
477 // Handles the parallel case for the method below. |
478 private: |
478 private: |
479 bool claim_oops_do_par_case(int collection_parity); |
479 bool claim_oops_do_par_case(int collection_parity); |
480 public: |
480 public: |
481 // Requires that "collection_parity" is that of the current strong roots |
481 // Requires that "collection_parity" is that of the current roots |
482 // iteration. If "is_par" is false, sets the parity of "this" to |
482 // iteration. If "is_par" is false, sets the parity of "this" to |
483 // "collection_parity", and returns "true". If "is_par" is true, |
483 // "collection_parity", and returns "true". If "is_par" is true, |
484 // uses an atomic instruction to set the current threads parity to |
484 // uses an atomic instruction to set the current threads parity to |
485 // "collection_parity", if it is not already. Returns "true" iff the |
485 // "collection_parity", if it is not already. Returns "true" iff the |
486 // calling thread does the update, this indicates that the calling thread |
486 // calling thread does the update, this indicates that the calling thread |