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

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

Issue 77413004: Pushes 0 for PC marker in runtime call stubs on ARM and MIPS. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 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 | Annotate | Revision Log
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/bigint_operations.h" 9 #include "vm/bigint_operations.h"
10 #include "vm/code_patcher.h" 10 #include "vm/code_patcher.h"
(...skipping 1322 matching lines...) Expand 10 before | Expand all | Expand 10 after
1333 if (interrupt_bits & Isolate::kVmStatusInterrupt) { 1333 if (interrupt_bits & Isolate::kVmStatusInterrupt) {
1334 Dart_IsolateInterruptCallback callback = isolate->VmStatsCallback(); 1334 Dart_IsolateInterruptCallback callback = isolate->VmStatsCallback();
1335 if (callback) { 1335 if (callback) {
1336 (*callback)(); 1336 (*callback)();
1337 } 1337 }
1338 } 1338 }
1339 1339
1340 if (FLAG_use_osr && (interrupt_bits == 0)) { 1340 if (FLAG_use_osr && (interrupt_bits == 0)) {
1341 DartFrameIterator iterator; 1341 DartFrameIterator iterator;
1342 StackFrame* frame = iterator.NextFrame(); 1342 StackFrame* frame = iterator.NextFrame();
1343 ASSERT(frame != NULL);
1343 const Function& function = Function::Handle(frame->LookupDartFunction()); 1344 const Function& function = Function::Handle(frame->LookupDartFunction());
1344 ASSERT(!function.IsNull()); 1345 ASSERT(!function.IsNull());
1345 if (!CanOptimizeFunction(function, isolate)) return; 1346 if (!CanOptimizeFunction(function, isolate)) return;
1346 intptr_t osr_id = 1347 intptr_t osr_id =
1347 Code::Handle(function.unoptimized_code()).GetDeoptIdForOsr(frame->pc()); 1348 Code::Handle(function.unoptimized_code()).GetDeoptIdForOsr(frame->pc());
1348 if (FLAG_trace_osr) { 1349 if (FLAG_trace_osr) {
1349 OS::Print("Attempting OSR for %s at id=%" Pd ", count=%" Pd "\n", 1350 OS::Print("Attempting OSR for %s at id=%" Pd ", count=%" Pd "\n",
1350 function.ToFullyQualifiedCString(), 1351 function.ToFullyQualifiedCString(),
1351 osr_id, 1352 osr_id,
1352 function.usage_counter()); 1353 function.usage_counter());
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
1698 // of the given value. 1699 // of the given value.
1699 // Arg0: Field object; 1700 // Arg0: Field object;
1700 // Arg1: Value that is being stored. 1701 // Arg1: Value that is being stored.
1701 DEFINE_RUNTIME_ENTRY(UpdateFieldCid, 2) { 1702 DEFINE_RUNTIME_ENTRY(UpdateFieldCid, 2) {
1702 const Field& field = Field::CheckedHandle(arguments.ArgAt(0)); 1703 const Field& field = Field::CheckedHandle(arguments.ArgAt(0));
1703 const Object& value = Object::Handle(arguments.ArgAt(1)); 1704 const Object& value = Object::Handle(arguments.ArgAt(1));
1704 field.UpdateGuardedCidAndLength(value); 1705 field.UpdateGuardedCidAndLength(value);
1705 } 1706 }
1706 1707
1707 } // namespace dart 1708 } // namespace dart
OLDNEW
« no previous file with comments | « pkg/pkg.status ('k') | runtime/vm/stack_frame.cc » ('j') | runtime/vm/stub_code_arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698