X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/81345200c95645a1b0d2635520f96ad55dfde63f..refs/heads/master:/disassembler/Disassembler.h?ds=inline diff --git a/disassembler/Disassembler.h b/disassembler/Disassembler.h index d086c83..6eaf7b6 100644 --- a/disassembler/Disassembler.h +++ b/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 @@ -26,11 +26,14 @@ #ifndef Disassembler_h #define Disassembler_h +#include #include +#include namespace JSC { class MacroAssemblerCodePtr; +class MacroAssemblerCodeRef; enum InstructionSubsetHint { MacroAssemblerSubset, LLVMSubset }; @@ -47,6 +50,14 @@ inline bool tryToDisassemble(const MacroAssemblerCodePtr&, size_t, const char*, // the range of machine code addresses. void disassemble(const MacroAssemblerCodePtr&, size_t, const char* prefix, PrintStream& out, InstructionSubsetHint = MacroAssemblerSubset); +// 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, + InstructionSubsetHint = MacroAssemblerSubset); + +JS_EXPORT_PRIVATE void waitForAsynchronousDisassembly(); + } // namespace JSC #endif // Disassembler_h