hotspot/src/cpu/sparc/vm/assembler_sparc.cpp
changeset 2347 6f161e568fe0
parent 2332 5c7b6f4ce0a1
parent 2344 f2e09ba7ceab
child 2534 08dac9ce0cd7
equal deleted inserted replaced
2343:6113864ecd70 2347:6f161e568fe0
  4232 }
  4232 }
  4233 
  4233 
  4234 static jint num_ct_writes = 0;
  4234 static jint num_ct_writes = 0;
  4235 static jint num_ct_writes_filtered_in_hr = 0;
  4235 static jint num_ct_writes_filtered_in_hr = 0;
  4236 static jint num_ct_writes_filtered_null = 0;
  4236 static jint num_ct_writes_filtered_null = 0;
  4237 static jint num_ct_writes_filtered_pop = 0;
       
  4238 static G1CollectedHeap* g1 = NULL;
  4237 static G1CollectedHeap* g1 = NULL;
  4239 
  4238 
  4240 static Thread* count_ct_writes(void* filter_val, void* new_val) {
  4239 static Thread* count_ct_writes(void* filter_val, void* new_val) {
  4241   Atomic::inc(&num_ct_writes);
  4240   Atomic::inc(&num_ct_writes);
  4242   if (filter_val == NULL) {
  4241   if (filter_val == NULL) {
  4245     Atomic::inc(&num_ct_writes_filtered_null);
  4244     Atomic::inc(&num_ct_writes_filtered_null);
  4246   } else {
  4245   } else {
  4247     if (g1 == NULL) {
  4246     if (g1 == NULL) {
  4248       g1 = G1CollectedHeap::heap();
  4247       g1 = G1CollectedHeap::heap();
  4249     }
  4248     }
  4250     if ((HeapWord*)new_val < g1->popular_object_boundary()) {
       
  4251       Atomic::inc(&num_ct_writes_filtered_pop);
       
  4252     }
       
  4253   }
  4249   }
  4254   if ((num_ct_writes % 1000000) == 0) {
  4250   if ((num_ct_writes % 1000000) == 0) {
  4255     jint num_ct_writes_filtered =
  4251     jint num_ct_writes_filtered =
  4256       num_ct_writes_filtered_in_hr +
  4252       num_ct_writes_filtered_in_hr +
  4257       num_ct_writes_filtered_null +
  4253       num_ct_writes_filtered_null;
  4258       num_ct_writes_filtered_pop;
       
  4259 
  4254 
  4260     tty->print_cr("%d potential CT writes: %5.2f%% filtered\n"
  4255     tty->print_cr("%d potential CT writes: %5.2f%% filtered\n"
  4261                   "   (%5.2f%% intra-HR, %5.2f%% null, %5.2f%% popular).",
  4256                   "   (%5.2f%% intra-HR, %5.2f%% null).",
  4262                   num_ct_writes,
  4257                   num_ct_writes,
  4263                   100.0*(float)num_ct_writes_filtered/(float)num_ct_writes,
  4258                   100.0*(float)num_ct_writes_filtered/(float)num_ct_writes,
  4264                   100.0*(float)num_ct_writes_filtered_in_hr/
  4259                   100.0*(float)num_ct_writes_filtered_in_hr/
  4265                   (float)num_ct_writes,
  4260                   (float)num_ct_writes,
  4266                   100.0*(float)num_ct_writes_filtered_null/
  4261                   100.0*(float)num_ct_writes_filtered_null/
  4267                   (float)num_ct_writes,
       
  4268                   100.0*(float)num_ct_writes_filtered_pop/
       
  4269                   (float)num_ct_writes);
  4262                   (float)num_ct_writes);
  4270   }
  4263   }
  4271   return Thread::current();
  4264   return Thread::current();
  4272 }
  4265 }
  4273 
  4266