--- old/src/cpu/sparc/vm/vm_version_sparc.cpp 2012-09-21 15:13:17.099981000 -0700 +++ new/src/cpu/sparc/vm/vm_version_sparc.cpp 2012-09-21 15:13:16.869968000 -0700 @@ -339,7 +339,11 @@ unsigned int VM_Version::calc_parallel_worker_threads() { unsigned int result; - if (is_niagara_plus()) { + if (is_M_series()) { + // for now, use same gc thread calculation for M-series as for niagara-plus + // in future, we may want to tweak parameters for nof_parallel_worker_thread + result = nof_parallel_worker_threads(5, 16, 8); + } else if (is_niagara_plus()) { result = nof_parallel_worker_threads(5, 16, 8); } else { result = nof_parallel_worker_threads(5, 8, 8); --- old/src/cpu/sparc/vm/vm_version_sparc.hpp 2012-09-21 15:13:18.233980000 -0700 +++ new/src/cpu/sparc/vm/vm_version_sparc.hpp 2012-09-21 15:13:18.021392000 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -124,6 +124,8 @@ // Returns true if the platform is in the niagara line (T series) // and newer than the niagara1. static bool is_niagara_plus() { return is_T_family(_features) && !is_T1_model(_features); } + + static bool is_M_series() { return is_M_family(_features); } static bool is_T4() { return is_T_family(_features) && has_cbcond(); } // Fujitsu SPARC64