OLD | NEW |
---|---|
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
214 unsigned index = info.deoptimization_index; | 214 unsigned index = info.deoptimization_index; |
215 unsigned gap_size = info.pc_after_gap - info.pc; | 215 unsigned gap_size = info.pc_after_gap - info.pc; |
216 uint32_t encoding = SafepointEntry::DeoptimizationIndexField::encode(index); | 216 uint32_t encoding = SafepointEntry::DeoptimizationIndexField::encode(index); |
217 encoding |= SafepointEntry::GapCodeSizeField::encode(gap_size); | 217 encoding |= SafepointEntry::GapCodeSizeField::encode(gap_size); |
218 encoding |= SafepointEntry::ArgumentsField::encode(info.arguments); | 218 encoding |= SafepointEntry::ArgumentsField::encode(info.arguments); |
219 encoding |= SafepointEntry::SaveDoublesField::encode(info.has_doubles); | 219 encoding |= SafepointEntry::SaveDoublesField::encode(info.has_doubles); |
220 return encoding; | 220 return encoding; |
221 } | 221 } |
222 | 222 |
223 | 223 |
224 int SafepointTableBuilder::CountShortDeoptimizationIntervals(unsigned limit) { | |
225 int res = 0; | |
fschneider
2011/02/02 12:54:16
small nit: result instead of res
Kevin Millikin (Chromium)
2011/02/02 13:05:33
No reason not to spell out 'result'.
Lasse Reichstein
2011/02/03 14:14:12
Done.
| |
226 if (deoptimization_info_.length() > 0) { | |
Kevin Millikin (Chromium)
2011/02/02 13:05:33
if (!deoptimization_info_.is_empty()) ...
Lasse Reichstein
2011/02/03 14:14:12
Done.
| |
227 unsigned last_gap_end = deoptimization_info_[0].pc_after_gap; | |
Kevin Millikin (Chromium)
2011/02/02 13:05:33
It's not necessarily the last one, it's the previo
Lasse Reichstein
2011/02/03 14:14:12
Ack. Pardon my bad Danglish.
(Not that it's even g
| |
228 for (int i = 0, n = deoptimization_info_.length(); i < n; i++) { | |
229 DeoptimizationInfo info = deoptimization_info_[i]; | |
230 if (static_cast<int>(info.deoptimization_index) == | |
Kevin Millikin (Chromium)
2011/02/02 13:05:33
It's probably clearer without the continue:
if (d
Lasse Reichstein
2011/02/03 14:14:12
Done.
| |
231 Safepoint::kNoDeoptimizationIndex) { | |
232 continue; | |
233 } | |
234 if (last_gap_end + limit > info.pc) { | |
235 res++; | |
236 } | |
237 last_gap_end = info.pc_after_gap; | |
238 } | |
239 } | |
240 return res; | |
241 } | |
242 | |
243 | |
244 | |
224 } } // namespace v8::internal | 245 } } // namespace v8::internal |
OLD | NEW |