1// Copyright (c) 2012, 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
5#ifndef RUNTIME_VM_CPU_H_
6#define RUNTIME_VM_CPU_H_
7
8#include "vm/allocation.h"
9#include "vm/globals.h"
10
11namespace dart {
12
13// Forward Declarations.
14class Error;
15class Instance;
16
17class CPU : public AllStatic {
18 public:
19 static void FlushICache(uword start, uword size);
20 static const char* Id();
21};
22
23} // namespace dart
24
25#if defined(TARGET_ARCH_IA32)
26#include "vm/cpu_ia32.h"
27#elif defined(TARGET_ARCH_X64)
28#include "vm/cpu_x64.h"
29#elif defined(TARGET_ARCH_ARM)
30#include "vm/cpu_arm.h"
31#elif defined(TARGET_ARCH_ARM64)
32#include "vm/cpu_arm64.h"
33#else
34#error Unknown architecture.
35#endif
36
37#endif // RUNTIME_VM_CPU_H_
38