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
3// BSD-style license that can be found in the LICENSE file.
4
5#ifndef RUNTIME_VM_NATIVE_SYMBOL_H_
6#define RUNTIME_VM_NATIVE_SYMBOL_H_
7
8#include "vm/allocation.h"
9#include "vm/globals.h"
10
11namespace dart {
12
13class Mutex;
14
15class NativeSymbolResolver : public AllStatic {
16 public:
17 static void Init();
18 static void Cleanup();
19 static char* LookupSymbolName(uword pc, uword* start);
20 static bool LookupSharedObject(uword pc,
21 uword* dso_base = nullptr,
22 char** dso_name = nullptr);
23 static void FreeSymbolName(char* name);
24 static void AddSymbols(const char* dso_name, void* buffer, size_t size);
25};
26
27} // namespace dart
28
29#endif // RUNTIME_VM_NATIVE_SYMBOL_H_
30