Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(807)

Unified Diff: runtime/vm/compiler.cc

Issue 10982088: Remove deoptimization index PC descriptors. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove code from an unrelated change. Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/compiler.cc
diff --git a/runtime/vm/compiler.cc b/runtime/vm/compiler.cc
index d462881fee0e42a6bd6c5c80b6260677ed23481b..55021aa7f790443f717d4c1335a37c98ce75bc68 100644
--- a/runtime/vm/compiler.cc
+++ b/runtime/vm/compiler.cc
@@ -337,9 +337,18 @@ static void DisassembleCode(const Function& function, bool optimized) {
const Array& deopt_info_array = Array::Handle(code.deopt_info_array());
if (deopt_info_array.Length() > 0) {
OS::Print("DeoptInfo: {\n");
- for (intptr_t i = 0; i < deopt_info_array.Length(); i++) {
- OS::Print(" %"Pd": %s\n",
- i, Object::Handle(deopt_info_array.At(i)).ToCString());
+ Smi& offset = Smi::Handle();
+ DeoptInfo& info = DeoptInfo::Handle();
+ Smi& reason = Smi::Handle();
+ intptr_t i = 0;
srdjan 2012/09/28 21:00:26 You need to move the knowledge about the deopt_inf
Kevin Millikin (Google) 2012/10/01 09:38:56 I stopped short of making it a subclass of Object.
+ while (i < deopt_info_array.Length()) {
+ offset ^= deopt_info_array.At(i++);
+ info ^= deopt_info_array.At(i++);
+ reason ^= deopt_info_array.At(i++);
+ OS::Print("0x%"Px" %s (%s)\n",
+ start + offset.Value(),
+ info.ToCString(),
+ DeoptReasonToText(reason.Value()));
}
OS::Print("}\n");
}

Powered by Google App Engine
This is Rietveld 408576698