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

Side by Side 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, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/compiler.h" 5 #include "vm/compiler.h"
6 6
7 #include "vm/assembler.h" 7 #include "vm/assembler.h"
8 #include "vm/ast_printer.h" 8 #include "vm/ast_printer.h"
9 #include "vm/code_generator.h" 9 #include "vm/code_generator.h"
10 #include "vm/code_patcher.h" 10 #include "vm/code_patcher.h"
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 330
331 OS::Print("PC Descriptors for function '%s' {\n", function_fullname); 331 OS::Print("PC Descriptors for function '%s' {\n", function_fullname);
332 PcDescriptors::PrintHeaderString(); 332 PcDescriptors::PrintHeaderString();
333 const PcDescriptors& descriptors = 333 const PcDescriptors& descriptors =
334 PcDescriptors::Handle(code.pc_descriptors()); 334 PcDescriptors::Handle(code.pc_descriptors());
335 OS::Print("%s}\n", descriptors.ToCString()); 335 OS::Print("%s}\n", descriptors.ToCString());
336 336
337 const Array& deopt_info_array = Array::Handle(code.deopt_info_array()); 337 const Array& deopt_info_array = Array::Handle(code.deopt_info_array());
338 if (deopt_info_array.Length() > 0) { 338 if (deopt_info_array.Length() > 0) {
339 OS::Print("DeoptInfo: {\n"); 339 OS::Print("DeoptInfo: {\n");
340 for (intptr_t i = 0; i < deopt_info_array.Length(); i++) { 340 Smi& offset = Smi::Handle();
341 OS::Print(" %"Pd": %s\n", 341 DeoptInfo& info = DeoptInfo::Handle();
342 i, Object::Handle(deopt_info_array.At(i)).ToCString()); 342 Smi& reason = Smi::Handle();
343 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.
344 while (i < deopt_info_array.Length()) {
345 offset ^= deopt_info_array.At(i++);
346 info ^= deopt_info_array.At(i++);
347 reason ^= deopt_info_array.At(i++);
348 OS::Print("0x%"Px" %s (%s)\n",
349 start + offset.Value(),
350 info.ToCString(),
351 DeoptReasonToText(reason.Value()));
343 } 352 }
344 OS::Print("}\n"); 353 OS::Print("}\n");
345 } 354 }
346 355
347 const Array& object_table = Array::Handle(code.object_table()); 356 const Array& object_table = Array::Handle(code.object_table());
348 if (object_table.Length() > 0) { 357 if (object_table.Length() > 0) {
349 OS::Print("Object Table: {\n"); 358 OS::Print("Object Table: {\n");
350 for (intptr_t i = 0; i < object_table.Length(); i++) { 359 for (intptr_t i = 0; i < object_table.Length(); i++) {
351 OS::Print(" %"Pd": %s\n", i, 360 OS::Print(" %"Pd": %s\n", i,
352 Object::Handle(object_table.At(i)).ToCString()); 361 Object::Handle(object_table.At(i)).ToCString());
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 result = isolate->object_store()->sticky_error(); 593 result = isolate->object_store()->sticky_error();
585 isolate->object_store()->clear_sticky_error(); 594 isolate->object_store()->clear_sticky_error();
586 isolate->set_long_jump_base(base); 595 isolate->set_long_jump_base(base);
587 return result.raw(); 596 return result.raw();
588 } 597 }
589 UNREACHABLE(); 598 UNREACHABLE();
590 return Object::null(); 599 return Object::null();
591 } 600 }
592 601
593 } // namespace dart 602 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698