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

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

Issue 2523053002: Implement rewind: drop one or more frames from the debugger. (Closed)
Patch Set: code review Created 4 years, 1 month 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
« no previous file with comments | « runtime/observatory/tests/service/test_helper.dart ('k') | runtime/vm/dart_entry.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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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/code_generator.h" 5 #include "vm/code_generator.h"
6 6
7 #include "vm/assembler.h" 7 #include "vm/assembler.h"
8 #include "vm/ast.h" 8 #include "vm/ast.h"
9 #include "vm/code_patcher.h" 9 #include "vm/code_patcher.h"
10 #include "vm/compiler.h" 10 #include "vm/compiler.h"
(...skipping 2197 matching lines...) Expand 10 before | Expand all | Expand 10 after
2208 2208
2209 // Return value tells deoptimization stub to remove the given number of bytes 2209 // Return value tells deoptimization stub to remove the given number of bytes
2210 // from the stack. 2210 // from the stack.
2211 arguments.SetReturn(Smi::Handle(Smi::New(deopt_arg_count * kWordSize))); 2211 arguments.SetReturn(Smi::Handle(Smi::New(deopt_arg_count * kWordSize)));
2212 #else 2212 #else
2213 UNREACHABLE(); 2213 UNREACHABLE();
2214 #endif // !DART_PRECOMPILED_RUNTIME 2214 #endif // !DART_PRECOMPILED_RUNTIME
2215 } 2215 }
2216 2216
2217 2217
2218 DEFINE_RUNTIME_ENTRY(RewindPostDeopt, 0) {
2219 #if !defined(DART_PRECOMPILED_RUNTIME)
2220 isolate->debugger()->RewindPostDeopt();
2221 #else
2222 UNREACHABLE();
2223 #endif // !DART_PRECOMPILED_RUNTIME
2224 }
2225
2218 DEFINE_LEAF_RUNTIME_ENTRY(intptr_t, 2226 DEFINE_LEAF_RUNTIME_ENTRY(intptr_t,
2219 BigintCompare, 2227 BigintCompare,
2220 2, 2228 2,
2221 RawBigint* left, 2229 RawBigint* left,
2222 RawBigint* right) { 2230 RawBigint* right) {
2223 Thread* thread = Thread::Current(); 2231 Thread* thread = Thread::Current();
2224 StackZone zone(thread); 2232 StackZone zone(thread);
2225 HANDLESCOPE(thread); 2233 HANDLESCOPE(thread);
2226 const Bigint& big_left = Bigint::Handle(left); 2234 const Bigint& big_left = Bigint::Handle(left);
2227 const Bigint& big_right = Bigint::Handle(right); 2235 const Bigint& big_right = Bigint::Handle(right);
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
2282 const intptr_t elm_size = old_data.ElementSizeInBytes(); 2290 const intptr_t elm_size = old_data.ElementSizeInBytes();
2283 const TypedData& new_data = 2291 const TypedData& new_data =
2284 TypedData::Handle(TypedData::New(cid, new_size, Heap::kOld)); 2292 TypedData::Handle(TypedData::New(cid, new_size, Heap::kOld));
2285 TypedData::Copy(new_data, 0, old_data, 0, old_size * elm_size); 2293 TypedData::Copy(new_data, 0, old_data, 0, old_size * elm_size);
2286 typed_data_cell.SetAt(0, new_data); 2294 typed_data_cell.SetAt(0, new_data);
2287 arguments.SetReturn(new_data); 2295 arguments.SetReturn(new_data);
2288 } 2296 }
2289 2297
2290 2298
2291 } // namespace dart 2299 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/observatory/tests/service/test_helper.dart ('k') | runtime/vm/dart_entry.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698