src/hotspot/share/ci/ciMethodData.cpp
changeset 53307 b5281bf751ea
parent 53278 4b469f5f4bf2
child 53535 ce77e4d928f3
equal deleted inserted replaced
53306:8e260023fc53 53307:b5281bf751ea
   166     // data (concurrent deoptimizations before we acquired
   166     // data (concurrent deoptimizations before we acquired
   167     // extra_data_lock above) or can be removed (a safepoint may occur
   167     // extra_data_lock above) or can be removed (a safepoint may occur
   168     // in the prepare_metadata call above) as we translate the copy:
   168     // in the prepare_metadata call above) as we translate the copy:
   169     // update the copy as we go.
   169     // update the copy as we go.
   170     int tag = dp_src->tag();
   170     int tag = dp_src->tag();
   171     if (tag != DataLayout::arg_info_data_tag) {
   171     size_t entry_size = DataLayout::header_size_in_bytes();
   172       memcpy(dp_dst, dp_src, ((intptr_t)MethodData::next_extra(dp_src)) - ((intptr_t)dp_src));
   172     if (tag != DataLayout::no_tag) {
   173     }
   173       ProfileData* src_data = dp_src->data_in();
       
   174       entry_size = src_data->size_in_bytes();
       
   175     }
       
   176     memcpy(dp_dst, dp_src, entry_size);
   174 
   177 
   175     switch(tag) {
   178     switch(tag) {
   176     case DataLayout::speculative_trap_data_tag: {
   179     case DataLayout::speculative_trap_data_tag: {
   177       ciSpeculativeTrapData data_dst(dp_dst);
   180       ciSpeculativeTrapData data_dst(dp_dst);
   178       SpeculativeTrapData   data_src(dp_src);
   181       SpeculativeTrapData   data_src(dp_src);