2012-01-13 20:07:54 +00:00
|
|
|
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
2011-10-05 05:20:07 +00:00
|
|
|
// 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.
|
|
|
|
|
2016-10-26 07:26:03 +00:00
|
|
|
#ifndef RUNTIME_VM_CPU_H_
|
|
|
|
#define RUNTIME_VM_CPU_H_
|
2011-10-05 05:20:07 +00:00
|
|
|
|
|
|
|
#include "vm/allocation.h"
|
2017-07-13 15:08:33 +00:00
|
|
|
#include "vm/globals.h"
|
2011-10-05 05:20:07 +00:00
|
|
|
|
|
|
|
namespace dart {
|
|
|
|
|
|
|
|
// Forward Declarations.
|
2012-02-02 19:05:06 +00:00
|
|
|
class Error;
|
2011-10-05 05:20:07 +00:00
|
|
|
class Instance;
|
|
|
|
|
|
|
|
class CPU : public AllStatic {
|
|
|
|
public:
|
|
|
|
static void FlushICache(uword start, uword size);
|
|
|
|
static const char* Id();
|
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace dart
|
|
|
|
|
2014-02-24 19:28:30 +00:00
|
|
|
#if defined(TARGET_ARCH_IA32)
|
|
|
|
#include "vm/cpu_ia32.h"
|
|
|
|
#elif defined(TARGET_ARCH_X64)
|
|
|
|
#include "vm/cpu_x64.h"
|
|
|
|
#elif defined(TARGET_ARCH_ARM)
|
|
|
|
#include "vm/cpu_arm.h"
|
2014-04-02 17:39:32 +00:00
|
|
|
#elif defined(TARGET_ARCH_ARM64)
|
|
|
|
#include "vm/cpu_arm64.h"
|
2016-04-18 21:02:01 +00:00
|
|
|
#elif defined(TARGET_ARCH_DBC)
|
|
|
|
#include "vm/cpu_dbc.h"
|
2014-02-24 19:28:30 +00:00
|
|
|
#else
|
|
|
|
#error Unknown architecture.
|
|
|
|
#endif
|
|
|
|
|
2016-10-26 07:26:03 +00:00
|
|
|
#endif // RUNTIME_VM_CPU_H_
|