blob: cfb113054afa718547188ed9b20bd979352c25b9 [file] [log] [blame]
// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
#include "vm/globals.h" // Needed here to get TARGET_ARCH_DBC.
#if defined(TARGET_ARCH_DBC)
#define SHOULD_NOT_INCLUDE_RUNTIME
#include "vm/class_id.h"
#include "vm/compiler/asm_intrinsifier.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/compiler/intrinsifier.h"
namespace dart {
namespace compiler {
DECLARE_FLAG(bool, interpret_irregexp);
#define DEFINE_FUNCTION(class_name, test_function_name, enum_name, fp) \
void AsmIntrinsifier::enum_name(Assembler* assembler, \
Label* normal_ir_body) { \
if (Simulator::IsSupportedIntrinsic(Simulator::k##enum_name##Intrinsic)) { \
assembler->Intrinsic(Simulator::k##enum_name##Intrinsic); \
} \
assembler->Bind(normal_ir_body); \
}
ALL_INTRINSICS_LIST(DEFINE_FUNCTION)
GRAPH_INTRINSICS_LIST(DEFINE_FUNCTION)
#undef DEFINE_FUNCTION
} // namespace compiler
} // namespace dart
#endif // defined TARGET_ARCH_DBC