diff options
Diffstat (limited to 'Source/JavaScriptCore/disassembler/Disassembler.h')
-rw-r--r-- | Source/JavaScriptCore/disassembler/Disassembler.h | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/Source/JavaScriptCore/disassembler/Disassembler.h b/Source/JavaScriptCore/disassembler/Disassembler.h index 7088fc46a..9317449ee 100644 --- a/Source/JavaScriptCore/disassembler/Disassembler.h +++ b/Source/JavaScriptCore/disassembler/Disassembler.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012, 2013 Apple Inc. All rights reserved. + * Copyright (C) 2012, 2013, 2015 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -23,22 +23,22 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef Disassembler_h -#define Disassembler_h +#pragma once -#include <wtf/Platform.h> +#include "JSExportMacros.h" +#include <functional> #include <wtf/PrintStream.h> +#include <wtf/text/CString.h> namespace JSC { class MacroAssemblerCodePtr; - -enum InstructionSubsetHint { MacroAssemblerSubset, LLVMSubset }; +class MacroAssemblerCodeRef; #if ENABLE(DISASSEMBLER) -bool tryToDisassemble(const MacroAssemblerCodePtr&, size_t, const char* prefix, PrintStream&, InstructionSubsetHint = MacroAssemblerSubset); +bool tryToDisassemble(const MacroAssemblerCodePtr&, size_t, const char* prefix, PrintStream&); #else -inline bool tryToDisassemble(const MacroAssemblerCodePtr&, size_t, const char*, PrintStream&, InstructionSubsetHint = MacroAssemblerSubset) +inline bool tryToDisassemble(const MacroAssemblerCodePtr&, size_t, const char*, PrintStream&) { return false; } @@ -46,9 +46,13 @@ inline bool tryToDisassemble(const MacroAssemblerCodePtr&, size_t, const char*, // Prints either the disassembly, or a line of text indicating that disassembly failed and // the range of machine code addresses. -void disassemble(const MacroAssemblerCodePtr&, size_t, const char* prefix, PrintStream& out, InstructionSubsetHint = MacroAssemblerSubset); +void disassemble(const MacroAssemblerCodePtr&, size_t, const char* prefix, PrintStream& out); -} // namespace JSC +// Asynchronous disassembly. This happens on another thread, and calls the provided +// callback when the disassembly is done. +void disassembleAsynchronously( + const CString& header, const MacroAssemblerCodeRef&, size_t, const char* prefix); -#endif // Disassembler_h +JS_EXPORT_PRIVATE void waitForAsynchronousDisassembly(); +} // namespace JSC |