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

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

Issue 2960413002: Omit JIT compiler from precompiled runtime on ARM, ARM64 and IA32. (Closed)
Patch Set: Moved trace_irregexp flag to flag_list.h Created 3 years, 5 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/flag_list.h ('k') | runtime/vm/isolate.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/intermediate_language.h" 5 #include "vm/intermediate_language.h"
6 6
7 #include "vm/bit_vector.h" 7 #include "vm/bit_vector.h"
8 #include "vm/bootstrap.h" 8 #include "vm/bootstrap.h"
9 #include "vm/compiler.h" 9 #include "vm/compiler.h"
10 #include "vm/constant_propagator.h" 10 #include "vm/constant_propagator.h"
(...skipping 4191 matching lines...) Expand 10 before | Expand all | Expand 10 after
4202 case MethodRecognizer::kDoubleMod: 4202 case MethodRecognizer::kDoubleMod:
4203 case MethodRecognizer::kMathDoublePow: 4203 case MethodRecognizer::kMathDoublePow:
4204 case MethodRecognizer::kMathAtan2: 4204 case MethodRecognizer::kMathAtan2:
4205 return 2; 4205 return 2;
4206 default: 4206 default:
4207 UNREACHABLE(); 4207 UNREACHABLE();
4208 } 4208 }
4209 return 0; 4209 return 0;
4210 } 4210 }
4211 4211
4212 // Use expected function signatures to help MSVC compiler resolve overloading.
4213 typedef double (*UnaryMathCFunction)(double x);
4214 typedef double (*BinaryMathCFunction)(double x, double y);
4215
4216 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4217 LibcPow,
4218 2,
4219 true /* is_float */,
4220 reinterpret_cast<RuntimeFunction>(static_cast<BinaryMathCFunction>(&pow)));
4221
4222 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4223 DartModulo,
4224 2,
4225 true /* is_float */,
4226 reinterpret_cast<RuntimeFunction>(
4227 static_cast<BinaryMathCFunction>(&DartModulo)));
4228
4229 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4230 LibcAtan2,
4231 2,
4232 true /* is_float */,
4233 reinterpret_cast<RuntimeFunction>(
4234 static_cast<BinaryMathCFunction>(&atan2_ieee)));
4235
4236 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4237 LibcFloor,
4238 1,
4239 true /* is_float */,
4240 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&floor)));
4241
4242 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4243 LibcCeil,
4244 1,
4245 true /* is_float */,
4246 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&ceil)));
4247
4248 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4249 LibcTrunc,
4250 1,
4251 true /* is_float */,
4252 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&trunc)));
4253
4254 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4255 LibcRound,
4256 1,
4257 true /* is_float */,
4258 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&round)));
4259
4260 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4261 LibcCos,
4262 1,
4263 true /* is_float */,
4264 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&cos)));
4265
4266 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4267 LibcSin,
4268 1,
4269 true /* is_float */,
4270 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&sin)));
4271
4272 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4273 LibcAsin,
4274 1,
4275 true /* is_float */,
4276 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&asin)));
4277
4278 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4279 LibcAcos,
4280 1,
4281 true /* is_float */,
4282 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&acos)));
4283
4284 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4285 LibcTan,
4286 1,
4287 true /* is_float */,
4288 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&tan)));
4289
4290 DEFINE_RAW_LEAF_RUNTIME_ENTRY(
4291 LibcAtan,
4292 1,
4293 true /* is_float */,
4294 reinterpret_cast<RuntimeFunction>(static_cast<UnaryMathCFunction>(&atan)));
4295
4296 4212
4297 const RuntimeEntry& InvokeMathCFunctionInstr::TargetFunction() const { 4213 const RuntimeEntry& InvokeMathCFunctionInstr::TargetFunction() const {
4298 switch (recognized_kind_) { 4214 switch (recognized_kind_) {
4299 case MethodRecognizer::kDoubleTruncate: 4215 case MethodRecognizer::kDoubleTruncate:
4300 return kLibcTruncRuntimeEntry; 4216 return kLibcTruncRuntimeEntry;
4301 case MethodRecognizer::kDoubleRound: 4217 case MethodRecognizer::kDoubleRound:
4302 return kLibcRoundRuntimeEntry; 4218 return kLibcRoundRuntimeEntry;
4303 case MethodRecognizer::kDoubleFloor: 4219 case MethodRecognizer::kDoubleFloor:
4304 return kLibcFloorRuntimeEntry; 4220 return kLibcFloorRuntimeEntry;
4305 case MethodRecognizer::kDoubleCeil: 4221 case MethodRecognizer::kDoubleCeil:
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
4393 "native function '%s' (%" Pd " arguments) cannot be found", 4309 "native function '%s' (%" Pd " arguments) cannot be found",
4394 native_name().ToCString(), function().NumParameters()); 4310 native_name().ToCString(), function().NumParameters());
4395 } 4311 }
4396 set_is_auto_scope(auto_setup_scope); 4312 set_is_auto_scope(auto_setup_scope);
4397 set_native_c_function(native_function); 4313 set_native_c_function(native_function);
4398 } 4314 }
4399 4315
4400 #undef __ 4316 #undef __
4401 4317
4402 } // namespace dart 4318 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/flag_list.h ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698