34 static unsigned int _logical_processors_per_package; |
34 static unsigned int _logical_processors_per_package; |
35 static int _vm_major_version; |
35 static int _vm_major_version; |
36 static int _vm_minor_version; |
36 static int _vm_minor_version; |
37 static int _vm_build_number; |
37 static int _vm_build_number; |
38 static bool _initialized; |
38 static bool _initialized; |
|
39 static int _parallel_worker_threads; |
|
40 static bool _parallel_worker_threads_initialized; |
|
41 |
|
42 static unsigned int nof_parallel_worker_threads(unsigned int num, |
|
43 unsigned int dem, |
|
44 unsigned int switch_pt); |
39 public: |
45 public: |
40 static void initialize(); |
46 static void initialize(); |
41 |
47 |
42 // Name |
48 // Name |
43 static const char* vm_name(); |
49 static const char* vm_name(); |
67 // Number of page sizes efficiently supported by the hardware. Most chips now |
73 // Number of page sizes efficiently supported by the hardware. Most chips now |
68 // support two sizes, thus this default implementation. Processor-specific |
74 // support two sizes, thus this default implementation. Processor-specific |
69 // subclasses should define new versions to hide this one as needed. Note |
75 // subclasses should define new versions to hide this one as needed. Note |
70 // that the O/S may support more sizes, but at most this many are used. |
76 // that the O/S may support more sizes, but at most this many are used. |
71 static uint page_size_count() { return 2; } |
77 static uint page_size_count() { return 2; } |
|
78 |
|
79 // Returns the number of parallel threads to be used for VM |
|
80 // work. If that number has not been calculated, do so and |
|
81 // save it. Returns ParallelGCThreads if it is set on the |
|
82 // command line. |
|
83 static unsigned int parallel_worker_threads(); |
|
84 // Calculates and returns the number of parallel threads. May |
|
85 // be VM version specific. |
|
86 static unsigned int calc_parallel_worker_threads(); |
72 }; |
87 }; |