equal
deleted
inserted
replaced
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); |