Flutter Engine
The Flutter Engine
asm_intrinsifier.h
Go to the documentation of this file.
1// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
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.
4// Class for intrinsifying functions.
5
6#ifndef RUNTIME_VM_COMPILER_ASM_INTRINSIFIER_H_
7#define RUNTIME_VM_COMPILER_ASM_INTRINSIFIER_H_
8
9#if defined(DART_PRECOMPILED_RUNTIME)
10#error "AOT runtime should not use compiler sources (including header files)"
11#endif // defined(DART_PRECOMPILED_RUNTIME)
12
13#include "vm/allocation.h"
16
17namespace dart {
18
19// Forward declarations.
20class FlowGraphCompiler;
21class Function;
22class TargetEntryInstr;
23class ParsedFunction;
24class FlowGraph;
25
26namespace compiler {
27class Assembler;
28class Intrinsifier;
29class Label;
30
31class AsmIntrinsifier : public AllStatic {
32 private:
33 friend class Intrinsifier;
34
35#define DECLARE_FUNCTION(class_name, function_name, enum_name, fp) \
36 static void enum_name(Assembler* assembler, Label* normal_ir_body);
38
39#undef DECLARE_FUNCTION
40
41 static void IntrinsifyRegExpExecuteMatch(Assembler* assembler,
42 Label* normal_ir_body,
43 bool sticky);
44
45 static void StringEquality(Assembler* assembler,
46 Register obj1,
47 Register obj2,
48 Register temp1,
49 Register temp2,
51 Label* normal_ir_body,
52 intptr_t string_cid);
53};
54
55} // namespace compiler
56} // namespace dart
57
58#endif // RUNTIME_VM_COMPILER_ASM_INTRINSIFIER_H_
#define DECLARE_FUNCTION(class_name, function_name, enum_name, fp)
GAsyncResult * result
Definition: dart_vm.cc:33
#define ALL_INTRINSICS_LIST(V)