blob: b0046dde2b9f91afe77bd6c5d590b7d1e280c0ce [file] [log] [blame]
fpizlo@apple.com44225e62013-09-05 03:09:57 +00001/*
fpizlo@apple.com5d8d7f92017-08-06 04:43:37 +00002 * Copyright (C) 2013-2017 Apple Inc. All rights reserved.
fpizlo@apple.com44225e62013-09-05 03:09:57 +00003 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
ryanhaddad@apple.com22104f52016-09-28 17:08:17 +000026#pragma once
fpizlo@apple.com44225e62013-09-05 03:09:57 +000027
28#include "JSCJSValue.h"
29
30namespace JSC {
31
fpizlo@apple.com836099a2014-02-05 01:03:21 +000032class CodeBlock;
33class FunctionExecutable;
34
35JS_EXPORT_PRIVATE FunctionExecutable* getExecutableForFunction(JSValue theFunctionValue);
36JS_EXPORT_PRIVATE CodeBlock* getSomeBaselineCodeBlockForFunction(JSValue theFunctionValue);
37
fpizlo@apple.com44225e62013-09-05 03:09:57 +000038JS_EXPORT_PRIVATE JSValue numberOfDFGCompiles(JSValue function);
39JS_EXPORT_PRIVATE JSValue setNeverInline(JSValue function);
mark.lam@apple.com49e71b92015-08-28 05:59:44 +000040JS_EXPORT_PRIVATE JSValue setNeverOptimize(JSValue function);
msaboff@apple.com68953922014-05-07 00:34:34 +000041JS_EXPORT_PRIVATE JSValue optimizeNextInvocation(JSValue function);
fpizlo@apple.com44225e62013-09-05 03:09:57 +000042
msaboff@apple.comf0467952015-10-24 01:45:30 +000043JS_EXPORT_PRIVATE JSValue failNextNewCodeBlock(ExecState*);
fpizlo@apple.com44225e62013-09-05 03:09:57 +000044JS_EXPORT_PRIVATE JSValue numberOfDFGCompiles(ExecState*);
45JS_EXPORT_PRIVATE JSValue setNeverInline(ExecState*);
mark.lam@apple.com49e71b92015-08-28 05:59:44 +000046JS_EXPORT_PRIVATE JSValue setNeverOptimize(ExecState*);
commit-queue@webkit.org91b902c2016-08-20 02:00:44 +000047JS_EXPORT_PRIVATE JSValue setCannotUseOSRExitFuzzing(ExecState*);
msaboff@apple.com68953922014-05-07 00:34:34 +000048JS_EXPORT_PRIVATE JSValue optimizeNextInvocation(ExecState*);
fpizlo@apple.com44225e62013-09-05 03:09:57 +000049
fpizlo@apple.com9f1dad42014-07-18 04:34:16 +000050JS_EXPORT_PRIVATE unsigned numberOfExceptionFuzzChecks();
fpizlo@apple.com616e7b52015-03-26 01:26:56 +000051JS_EXPORT_PRIVATE unsigned numberOfExecutableAllocationFuzzChecks();
fpizlo@apple.com314e6982015-07-09 19:43:28 +000052JS_EXPORT_PRIVATE unsigned numberOfStaticOSRExitFuzzChecks();
fpizlo@apple.comf19f0142015-07-03 01:48:01 +000053JS_EXPORT_PRIVATE unsigned numberOfOSRExitFuzzChecks();
fpizlo@apple.com9f1dad42014-07-18 04:34:16 +000054
fpizlo@apple.combc16ddb2016-09-06 01:02:22 +000055JS_EXPORT_PRIVATE void finalizeStatsAtEndOfTesting();
56
fpizlo@apple.com5d8d7f92017-08-06 04:43:37 +000057JS_EXPORT_PRIVATE void waitForVMDestruction();
58
fpizlo@apple.com44225e62013-09-05 03:09:57 +000059} // namespace JSC