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

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

Issue 9484002: StepOver, StepInto, StepOut (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 10 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/code_patcher_ia32.cc ('k') | runtime/vm/debugger.h » ('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/globals.h" // Needed here to get TARGET_ARCH_X64. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_X64.
6 #if defined(TARGET_ARCH_X64) 6 #if defined(TARGET_ARCH_X64)
7 7
8 #include "vm/assembler.h" 8 #include "vm/assembler.h"
9 #include "vm/code_patcher.h" 9 #include "vm/code_patcher.h"
10 #include "vm/cpu.h" 10 #include "vm/cpu.h"
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 bool CodePatcher::IsDartCall(uword return_address) { 214 bool CodePatcher::IsDartCall(uword return_address) {
215 return DartCallPattern::IsValid(return_address); 215 return DartCallPattern::IsValid(return_address);
216 } 216 }
217 217
218 218
219 void CodePatcher::GetInstanceCallAt(uword return_address, 219 void CodePatcher::GetInstanceCallAt(uword return_address,
220 String* function_name, 220 String* function_name,
221 int* num_arguments, 221 int* num_arguments,
222 int* num_named_arguments, 222 int* num_named_arguments,
223 uword* target) { 223 uword* target) {
224 ASSERT(function_name != NULL);
225 ASSERT(num_arguments != NULL); 224 ASSERT(num_arguments != NULL);
226 ASSERT(num_named_arguments != NULL); 225 ASSERT(num_named_arguments != NULL);
227 ASSERT(target != NULL); 226 ASSERT(target != NULL);
228 InstanceCall call(return_address); 227 InstanceCall call(return_address);
229 *num_arguments = call.argument_count(); 228 *num_arguments = call.argument_count();
230 *num_named_arguments = call.named_argument_count(); 229 *num_named_arguments = call.named_argument_count();
231 *target = call.target(); 230 *target = call.target();
232 const ICData& ic_data = ICData::Handle(call.ic_data()); 231 const ICData& ic_data = ICData::Handle(call.ic_data());
233 *function_name = ic_data.target_name(); 232 *function_name = ic_data.target_name();
234 } 233 }
235 234
236 235
237 RawICData* CodePatcher::GetInstanceCallIcDataAt(uword return_address) { 236 RawICData* CodePatcher::GetInstanceCallIcDataAt(uword return_address) {
238 InstanceCall call(return_address); 237 InstanceCall call(return_address);
239 return call.ic_data(); 238 return call.ic_data();
240 } 239 }
241 240
242 241
243 intptr_t CodePatcher::InstanceCallSizeInBytes() { 242 intptr_t CodePatcher::InstanceCallSizeInBytes() {
244 return DartCallPattern::kCallPatternSize; 243 return DartCallPattern::kCallPatternSize;
245 } 244 }
246 245
247 } // namespace dart 246 } // namespace dart
248 247
249 #endif // defined TARGET_ARCH_X64 248 #endif // defined TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « runtime/vm/code_patcher_ia32.cc ('k') | runtime/vm/debugger.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698