]> git.saurik.com Git - apple/javascriptcore.git/blob - dfg/DFGUseKind.cpp
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / dfg / DFGUseKind.cpp
1 /*
2 * Copyright (C) 2013-2015 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 "DFGUseKind.h"
28
29 #if ENABLE(DFG_JIT)
30
31 #include "JSCInlines.h"
32
33 namespace WTF {
34
35 using namespace JSC::DFG;
36
37 void printInternal(PrintStream& out, UseKind useKind)
38 {
39 switch (useKind) {
40 case UntypedUse:
41 out.print("Untyped");
42 return;
43 case Int32Use:
44 out.print("Int32");
45 return;
46 case KnownInt32Use:
47 out.print("KnownInt32");
48 return;
49 case Int52RepUse:
50 out.print("Int52Rep");
51 return;
52 case MachineIntUse:
53 out.print("MachineInt");
54 return;
55 case NumberUse:
56 out.print("Number");
57 return;
58 case RealNumberUse:
59 out.print("RealNumber");
60 return;
61 case DoubleRepUse:
62 out.print("DoubleRep");
63 return;
64 case DoubleRepRealUse:
65 out.print("DoubleRepReal");
66 return;
67 case DoubleRepMachineIntUse:
68 out.print("DoubleRepMachineInt");
69 return;
70 case BooleanUse:
71 out.print("Boolean");
72 return;
73 case CellUse:
74 out.print("Cell");
75 return;
76 case KnownCellUse:
77 out.print("KnownCell");
78 return;
79 case ObjectUse:
80 out.print("Object");
81 return;
82 case FunctionUse:
83 out.print("Function");
84 return;
85 case FinalObjectUse:
86 out.print("FinalObject");
87 return;
88 case ObjectOrOtherUse:
89 out.print("ObjectOrOther");
90 return;
91 case StringIdentUse:
92 out.print("StringIdent");
93 return;
94 case StringUse:
95 out.print("String");
96 return;
97 case KnownStringUse:
98 out.print("KnownString");
99 return;
100 case StringObjectUse:
101 out.print("StringObject");
102 return;
103 case StringOrStringObjectUse:
104 out.print("StringOrStringObject");
105 return;
106 case NotStringVarUse:
107 out.print("NotStringVar");
108 return;
109 case NotCellUse:
110 out.print("NotCell");
111 return;
112 case OtherUse:
113 out.print("Other");
114 return;
115 case MiscUse:
116 out.print("Misc");
117 return;
118 case LastUseKind:
119 RELEASE_ASSERT_NOT_REACHED();
120 return;
121 }
122 RELEASE_ASSERT_NOT_REACHED();
123 }
124
125 } // namespace WTF
126
127 #endif // ENABLE(DFG_JIT)
128