X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/93a3786624b2768d89bfa27e46598dc64e2fb70a..refs/heads/master:/dfg/DFGDriver.h diff --git a/dfg/DFGDriver.h b/dfg/DFGDriver.h index 2b50484..a456dc6 100644 --- a/dfg/DFGDriver.h +++ b/dfg/DFGDriver.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011 Apple Inc. All rights reserved. + * Copyright (C) 2011, 2013, 2014 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -27,26 +27,26 @@ #define DFGDriver_h #include "CallFrame.h" -#include +#include "DFGCompilationMode.h" +#include "DFGPlan.h" namespace JSC { class CodeBlock; class JITCode; -class VM; class MacroAssemblerCodePtr; +class VM; namespace DFG { JS_EXPORT_PRIVATE unsigned getNumCompilations(); -#if ENABLE(DFG_JIT) -bool tryCompile(ExecState*, CodeBlock*, JITCode&, unsigned bytecodeIndex); -bool tryCompileFunction(ExecState*, CodeBlock*, JITCode&, MacroAssemblerCodePtr& jitCodeWithArityCheck, unsigned bytecodeIndex); -#else -inline bool tryCompile(ExecState*, CodeBlock*, JITCode&, unsigned) { return false; } -inline bool tryCompileFunction(ExecState*, CodeBlock*, JITCode&, MacroAssemblerCodePtr&, unsigned) { return false; } -#endif +// If the worklist is non-null, we do a concurrent compile. Otherwise we do a synchronous +// compile. Even if we do a synchronous compile, we call the callback with the result. +CompilationResult compile( + VM&, CodeBlock*, CodeBlock* profiledDFGCodeBlock, CompilationMode, + unsigned osrEntryBytecodeIndex, const Operands& mustHandleValues, + PassRefPtr); } } // namespace JSC::DFG