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

Side by Side Diff: runtime/vm/object.cc

Issue 143263012: Ensure the debugger keeps a reference to code objects (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 11 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
« no previous file with comments | « runtime/vm/object.h ('k') | runtime/vm/raw_object.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/object.h" 5 #include "vm/object.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/assembler.h" 9 #include "vm/assembler.h"
10 #include "vm/cpu.h" 10 #include "vm/cpu.h"
(...skipping 9845 matching lines...) Expand 10 before | Expand all | Expand 10 after
9856 // larger than the previously added one. 9856 // larger than the previously added one.
9857 for (intptr_t i = kSCallTableEntryLength; 9857 for (intptr_t i = kSCallTableEntryLength;
9858 i < value.Length(); 9858 i < value.Length();
9859 i += kSCallTableEntryLength) { 9859 i += kSCallTableEntryLength) {
9860 ASSERT(value.At(i - kSCallTableEntryLength) < value.At(i)); 9860 ASSERT(value.At(i - kSCallTableEntryLength) < value.At(i));
9861 } 9861 }
9862 #endif // DEBUG 9862 #endif // DEBUG
9863 } 9863 }
9864 9864
9865 9865
9866 bool Code::HasBreakpoint() const {
9867 return Isolate::Current()->debugger()->HasBreakpoint(*this);
9868 }
9869
9870
9866 RawDeoptInfo* Code::GetDeoptInfoAtPc(uword pc, intptr_t* deopt_reason) const { 9871 RawDeoptInfo* Code::GetDeoptInfoAtPc(uword pc, intptr_t* deopt_reason) const {
9867 ASSERT(is_optimized()); 9872 ASSERT(is_optimized());
9868 const Instructions& instrs = Instructions::Handle(instructions()); 9873 const Instructions& instrs = Instructions::Handle(instructions());
9869 uword code_entry = instrs.EntryPoint(); 9874 uword code_entry = instrs.EntryPoint();
9870 const Array& table = Array::Handle(deopt_info_array()); 9875 const Array& table = Array::Handle(deopt_info_array());
9871 ASSERT(!table.IsNull()); 9876 ASSERT(!table.IsNull());
9872 // Linear search for the PC offset matching the target PC. 9877 // Linear search for the PC offset matching the target PC.
9873 intptr_t length = DeoptTable::GetLength(table); 9878 intptr_t length = DeoptTable::GetLength(table);
9874 Smi& offset = Smi::Handle(); 9879 Smi& offset = Smi::Handle();
9875 Smi& reason = Smi::Handle(); 9880 Smi& reason = Smi::Handle();
(...skipping 7217 matching lines...) Expand 10 before | Expand all | Expand 10 after
17093 return "_MirrorReference"; 17098 return "_MirrorReference";
17094 } 17099 }
17095 17100
17096 17101
17097 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const { 17102 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const {
17098 Instance::PrintToJSONStream(stream, ref); 17103 Instance::PrintToJSONStream(stream, ref);
17099 } 17104 }
17100 17105
17101 17106
17102 } // namespace dart 17107 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/object.h ('k') | runtime/vm/raw_object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698