• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  // Copyright 2010 the V8 project authors. All rights reserved.
2  // Use of this source code is governed by a BSD-style license that can be
3  // found in the LICENSE file.
4  
5  #ifndef V8_V8_TEST_H_
6  #define V8_V8_TEST_H_
7  
8  #include "v8.h"
9  
10  /**
11   * Testing support for the V8 JavaScript engine.
12   */
13  namespace v8 {
14  
15  class V8_EXPORT Testing {
16   public:
17    enum StressType {
18      kStressTypeOpt,
19      kStressTypeDeopt
20    };
21  
22    /**
23     * Set the type of stressing to do. The default if not set is kStressTypeOpt.
24     */
25    static void SetStressRunType(StressType type);
26  
27    /**
28     * Get the number of runs of a given test that is required to get the full
29     * stress coverage.
30     */
31    static int GetStressRuns();
32  
33    /**
34     * Indicate the number of the run which is about to start. The value of run
35     * should be between 0 and one less than the result from GetStressRuns()
36     */
37    static void PrepareStressRun(int run);
38  
39    /**
40     * Force deoptimization of all functions.
41     */
42    static void DeoptimizeAll();
43  };
44  
45  
46  }  // namespace v8
47  
48  #endif  // V8_V8_TEST_H_
49