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

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

Issue 2997993002: Revert "Reapply "Eliminate dependencies on assemblers and code stubs in precompiled runtime."" (Closed)
Patch Set: Created 3 years, 4 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
« no previous file with comments | « runtime/vm/runtime_entry.h ('k') | runtime/vm/runtime_entry_arm.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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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/runtime_entry.h" 5 #include "vm/runtime_entry.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 1686 matching lines...) Expand 10 before | Expand all | Expand 10 after
1697 // recursive stack trace collection. 1697 // recursive stack trace collection.
1698 intptr_t saved_stacktrace_every = FLAG_stacktrace_every; 1698 intptr_t saved_stacktrace_every = FLAG_stacktrace_every;
1699 FLAG_stacktrace_every = 0; 1699 FLAG_stacktrace_every = 0;
1700 DebuggerStackTrace* stack = isolate->debugger()->StackTrace(); 1700 DebuggerStackTrace* stack = isolate->debugger()->StackTrace();
1701 intptr_t num_frames = stack->Length(); 1701 intptr_t num_frames = stack->Length();
1702 for (intptr_t i = 0; i < num_frames; i++) { 1702 for (intptr_t i = 0; i < num_frames; i++) {
1703 ActivationFrame* frame = stack->FrameAt(i); 1703 ActivationFrame* frame = stack->FrameAt(i);
1704 #ifndef DART_PRECOMPILED_RUNTIME 1704 #ifndef DART_PRECOMPILED_RUNTIME
1705 // Ensure that we have unoptimized code. 1705 // Ensure that we have unoptimized code.
1706 frame->function().EnsureHasCompiledUnoptimizedCode(); 1706 frame->function().EnsureHasCompiledUnoptimizedCode();
1707 const int num_vars = frame->NumLocalVariables(); 1707 #endif
1708 #else
1709 // Variable locations and number are unknown when precompiling. 1708 // Variable locations and number are unknown when precompiling.
1710 const int num_vars = 0; 1709 const int num_vars =
1711 #endif 1710 FLAG_precompiled_runtime ? 0 : frame->NumLocalVariables();
1712 TokenPosition unused = TokenPosition::kNoSource; 1711 TokenPosition unused = TokenPosition::kNoSource;
1713 for (intptr_t v = 0; v < num_vars; v++) { 1712 for (intptr_t v = 0; v < num_vars; v++) {
1714 frame->VariableAt(v, &var_name, &unused, &unused, &unused, &var_value); 1713 frame->VariableAt(v, &var_name, &unused, &unused, &unused, &var_value);
1715 } 1714 }
1716 } 1715 }
1717 if (FLAG_stress_async_stacks) { 1716 if (FLAG_stress_async_stacks) {
1718 Debugger::CollectAwaiterReturnStackTrace(); 1717 Debugger::CollectAwaiterReturnStackTrace();
1719 } 1718 }
1720 FLAG_stacktrace_every = saved_stacktrace_every; 1719 FLAG_stacktrace_every = saved_stacktrace_every;
1721 } 1720 }
(...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after
2277 const Field& field = Field::CheckedHandle(arguments.ArgAt(0)); 2276 const Field& field = Field::CheckedHandle(arguments.ArgAt(0));
2278 const Object& value = Object::Handle(arguments.ArgAt(1)); 2277 const Object& value = Object::Handle(arguments.ArgAt(1));
2279 field.RecordStore(value); 2278 field.RecordStore(value);
2280 } 2279 }
2281 2280
2282 DEFINE_RUNTIME_ENTRY(InitStaticField, 1) { 2281 DEFINE_RUNTIME_ENTRY(InitStaticField, 1) {
2283 const Field& field = Field::CheckedHandle(arguments.ArgAt(0)); 2282 const Field& field = Field::CheckedHandle(arguments.ArgAt(0));
2284 field.EvaluateInitializer(); 2283 field.EvaluateInitializer();
2285 } 2284 }
2286 2285
2287 // Print the stop message.
2288 DEFINE_LEAF_RUNTIME_ENTRY(void, PrintStopMessage, 1, const char* message) {
2289 OS::Print("Stop message: %s\n", message);
2290 }
2291 END_LEAF_RUNTIME_ENTRY
2292
2293 // Use expected function signatures to help MSVC compiler resolve overloading. 2286 // Use expected function signatures to help MSVC compiler resolve overloading.
2294 typedef double (*UnaryMathCFunction)(double x); 2287 typedef double (*UnaryMathCFunction)(double x);
2295 typedef double (*BinaryMathCFunction)(double x, double y); 2288 typedef double (*BinaryMathCFunction)(double x, double y);
2296 2289
2297 DEFINE_RAW_LEAF_RUNTIME_ENTRY( 2290 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
2298 LibcPow, 2291 LibcPow,
2299 2, 2292 2,
2300 true /* is_float */, 2293 true /* is_float */,
2301 reinterpret_cast<RuntimeFunction>(static_cast<BinaryMathCFunction>(&pow))); 2294 reinterpret_cast<RuntimeFunction>(static_cast<BinaryMathCFunction>(&pow)));
2302 2295
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
2368 true /* is_float */, 2361 true /* is_float */,
2369 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&tan))); 2362 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&tan)));
2370 2363
2371 DEFINE_RAW_LEAF_RUNTIME_ENTRY( 2364 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
2372 LibcAtan, 2365 LibcAtan,
2373 1, 2366 1,
2374 true /* is_float */, 2367 true /* is_float */,
2375 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&atan))); 2368 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&atan)));
2376 2369
2377 } // namespace dart 2370 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/runtime_entry.h ('k') | runtime/vm/runtime_entry_arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698