]> git.saurik.com Git - apple/javascriptcore.git/blob - dfg/DFGCommon.cpp
JavaScriptCore-1218.0.1.tar.gz
[apple/javascriptcore.git] / dfg / DFGCommon.cpp
1 /*
2 * Copyright (C) 2013 Apple Inc. All rights reserved.
3 *
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
26 #include "config.h"
27 #include "DFGCommon.h"
28
29 #if ENABLE(DFG_JIT)
30
31 #include "DFGNode.h"
32
33 namespace JSC { namespace DFG {
34
35 void NodePointerTraits::dump(Node* value, PrintStream& out)
36 {
37 out.print(value);
38 }
39
40 } } // namespace JSC::DFG
41
42 namespace WTF {
43
44 using namespace JSC::DFG;
45
46 void printInternal(PrintStream& out, OptimizationFixpointState state)
47 {
48 switch (state) {
49 case BeforeFixpoint:
50 out.print("BeforeFixpoint");
51 break;
52 case FixpointNotConverged:
53 out.print("FixpointNotConverged");
54 break;
55 case FixpointConverged:
56 out.print("FixpointConverged");
57 break;
58 default:
59 RELEASE_ASSERT_NOT_REACHED();
60 break;
61 }
62 }
63
64 void printInternal(PrintStream& out, GraphForm form)
65 {
66 switch (form) {
67 case LoadStore:
68 out.print("LoadStore");
69 break;
70 case ThreadedCPS:
71 out.print("ThreadedCPS");
72 break;
73 default:
74 RELEASE_ASSERT_NOT_REACHED();
75 break;
76 }
77 }
78
79 void printInternal(PrintStream& out, UnificationState state)
80 {
81 switch (state) {
82 case LocallyUnified:
83 out.print("LocallyUnified");
84 break;
85 case GloballyUnified:
86 out.print("GloballyUnified");
87 break;
88 default:
89 RELEASE_ASSERT_NOT_REACHED();
90 break;
91 }
92 }
93
94 void printInternal(PrintStream& out, RefCountState state)
95 {
96 switch (state) {
97 case EverythingIsLive:
98 out.print("EverythingIsLive");
99 break;
100 case ExactRefCount:
101 out.print("ExactRefCount");
102 break;
103 default:
104 RELEASE_ASSERT_NOT_REACHED();
105 break;
106 }
107 }
108
109 void printInternal(PrintStream& out, ProofStatus status)
110 {
111 switch (status) {
112 case IsProved:
113 out.print("IsProved");
114 break;
115 case NeedsCheck:
116 out.print("NeedsCheck");
117 break;
118 default:
119 RELEASE_ASSERT_NOT_REACHED();
120 break;
121 }
122 }
123
124 } // namespace WTF
125
126 #endif // ENABLE(DFG_JIT)
127