Mercurial > hg > truffle
comparison src/share/vm/ci/ciMethodData.cpp @ 14702:d4dd5204c0aa
Merge
author | ehelin |
---|---|
date | Fri, 14 Mar 2014 13:27:18 +0100 |
parents | 53ed0f89f44e |
children | 92aa6797d639 78bbf4d43a14 |
comparison
equal
deleted
inserted
replaced
14701:d3ef21095134 | 14702:d4dd5204c0aa |
---|---|
85 DataLayout* dp_src = mdo->extra_data_base(); | 85 DataLayout* dp_src = mdo->extra_data_base(); |
86 DataLayout* end_src = mdo->extra_data_limit(); | 86 DataLayout* end_src = mdo->extra_data_limit(); |
87 DataLayout* dp_dst = extra_data_base(); | 87 DataLayout* dp_dst = extra_data_base(); |
88 for (;; dp_src = MethodData::next_extra(dp_src), dp_dst = MethodData::next_extra(dp_dst)) { | 88 for (;; dp_src = MethodData::next_extra(dp_src), dp_dst = MethodData::next_extra(dp_dst)) { |
89 assert(dp_src < end_src, "moved past end of extra data"); | 89 assert(dp_src < end_src, "moved past end of extra data"); |
90 assert(dp_src->tag() == dp_dst->tag(), err_msg("should be same tags %d != %d", dp_src->tag(), dp_dst->tag())); | 90 // New traps in the MDO can be added as we translate the copy so |
91 switch(dp_src->tag()) { | 91 // look at the entries in the copy. |
92 switch(dp_dst->tag()) { | |
92 case DataLayout::speculative_trap_data_tag: { | 93 case DataLayout::speculative_trap_data_tag: { |
93 ciSpeculativeTrapData* data_dst = new ciSpeculativeTrapData(dp_dst); | 94 ciSpeculativeTrapData* data_dst = new ciSpeculativeTrapData(dp_dst); |
94 SpeculativeTrapData* data_src = new SpeculativeTrapData(dp_src); | 95 SpeculativeTrapData* data_src = new SpeculativeTrapData(dp_src); |
95 data_dst->translate_from(data_src); | 96 data_dst->translate_from(data_src); |
96 break; | 97 break; |
100 case DataLayout::no_tag: | 101 case DataLayout::no_tag: |
101 case DataLayout::arg_info_data_tag: | 102 case DataLayout::arg_info_data_tag: |
102 // An empty slot or ArgInfoData entry marks the end of the trap data | 103 // An empty slot or ArgInfoData entry marks the end of the trap data |
103 return; | 104 return; |
104 default: | 105 default: |
105 fatal(err_msg("bad tag = %d", dp_src->tag())); | 106 fatal(err_msg("bad tag = %d", dp_dst->tag())); |
106 } | 107 } |
107 } | 108 } |
108 } | 109 } |
109 | 110 |
110 void ciMethodData::load_data() { | 111 void ciMethodData::load_data() { |