Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(600)

Side by Side Diff: src/ic/ic-state.h

Issue 618643002: Replace OStream with std::ostream. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/ic/ic.cc ('k') | src/ic/ic-state.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_IC_STATE_H_ 5 #ifndef V8_IC_STATE_H_
6 #define V8_IC_STATE_H_ 6 #define V8_IC_STATE_H_
7 7
8 #include "src/macro-assembler.h" 8 #include "src/macro-assembler.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 44
45 private: 45 private:
46 class ArgcBits : public BitField<int, 0, Code::kArgumentsBits> {}; 46 class ArgcBits : public BitField<int, 0, Code::kArgumentsBits> {};
47 class CallTypeBits : public BitField<CallType, Code::kArgumentsBits, 1> {}; 47 class CallTypeBits : public BitField<CallType, Code::kArgumentsBits, 1> {};
48 48
49 const int argc_; 49 const int argc_;
50 const CallType call_type_; 50 const CallType call_type_;
51 }; 51 };
52 52
53 53
54 OStream& operator<<(OStream& os, const CallICState& s); 54 std::ostream& operator<<(std::ostream& os, const CallICState& s);
55 55
56 56
57 // Mode to overwrite BinaryExpression values. 57 // Mode to overwrite BinaryExpression values.
58 enum OverwriteMode { NO_OVERWRITE, OVERWRITE_LEFT, OVERWRITE_RIGHT }; 58 enum OverwriteMode { NO_OVERWRITE, OVERWRITE_LEFT, OVERWRITE_RIGHT };
59 59
60 class BinaryOpICState FINAL BASE_EMBEDDED { 60 class BinaryOpICState FINAL BASE_EMBEDDED {
61 public: 61 public:
62 BinaryOpICState(Isolate* isolate, ExtraICState extra_ic_state); 62 BinaryOpICState(Isolate* isolate, ExtraICState extra_ic_state);
63 63
64 BinaryOpICState(Isolate* isolate, Token::Value op, OverwriteMode mode) 64 BinaryOpICState(Isolate* isolate, Token::Value op, OverwriteMode mode)
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 132
133 Type* GetLeftType(Zone* zone) const { return KindToType(left_kind_, zone); } 133 Type* GetLeftType(Zone* zone) const { return KindToType(left_kind_, zone); }
134 Type* GetRightType(Zone* zone) const { return KindToType(right_kind_, zone); } 134 Type* GetRightType(Zone* zone) const { return KindToType(right_kind_, zone); }
135 Type* GetResultType(Zone* zone) const; 135 Type* GetResultType(Zone* zone) const;
136 136
137 void Update(Handle<Object> left, Handle<Object> right, Handle<Object> result); 137 void Update(Handle<Object> left, Handle<Object> right, Handle<Object> result);
138 138
139 Isolate* isolate() const { return isolate_; } 139 Isolate* isolate() const { return isolate_; }
140 140
141 private: 141 private:
142 friend OStream& operator<<(OStream& os, const BinaryOpICState& s); 142 friend std::ostream& operator<<(std::ostream& os, const BinaryOpICState& s);
143 143
144 enum Kind { NONE, SMI, INT32, NUMBER, STRING, GENERIC }; 144 enum Kind { NONE, SMI, INT32, NUMBER, STRING, GENERIC };
145 145
146 Kind UpdateKind(Handle<Object> object, Kind kind) const; 146 Kind UpdateKind(Handle<Object> object, Kind kind) const;
147 147
148 static const char* KindToString(Kind kind); 148 static const char* KindToString(Kind kind);
149 static Type* KindToType(Kind kind, Zone* zone); 149 static Type* KindToType(Kind kind, Zone* zone);
150 static bool KindMaybeSmi(Kind kind) { 150 static bool KindMaybeSmi(Kind kind) {
151 return (kind >= SMI && kind <= NUMBER) || kind == GENERIC; 151 return (kind >= SMI && kind <= NUMBER) || kind == GENERIC;
152 } 152 }
(...skipping 13 matching lines...) Expand all
166 Token::Value op_; 166 Token::Value op_;
167 OverwriteMode mode_; 167 OverwriteMode mode_;
168 Kind left_kind_; 168 Kind left_kind_;
169 Kind right_kind_; 169 Kind right_kind_;
170 Kind result_kind_; 170 Kind result_kind_;
171 Maybe<int> fixed_right_arg_; 171 Maybe<int> fixed_right_arg_;
172 Isolate* isolate_; 172 Isolate* isolate_;
173 }; 173 };
174 174
175 175
176 OStream& operator<<(OStream& os, const BinaryOpICState& s); 176 std::ostream& operator<<(std::ostream& os, const BinaryOpICState& s);
177 177
178 178
179 class CompareICState { 179 class CompareICState {
180 public: 180 public:
181 // The type/state lattice is defined by the following inequations: 181 // The type/state lattice is defined by the following inequations:
182 // UNINITIALIZED < ... 182 // UNINITIALIZED < ...
183 // ... < GENERIC 183 // ... < GENERIC
184 // SMI < NUMBER 184 // SMI < NUMBER
185 // INTERNALIZED_STRING < STRING 185 // INTERNALIZED_STRING < STRING
186 // KNOWN_OBJECT < OBJECT 186 // KNOWN_OBJECT < OBJECT
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 private: 229 private:
230 class ContextualModeBits : public BitField<ContextualMode, 0, 1> {}; 230 class ContextualModeBits : public BitField<ContextualMode, 0, 1> {};
231 STATIC_ASSERT(static_cast<int>(NOT_CONTEXTUAL) == 0); 231 STATIC_ASSERT(static_cast<int>(NOT_CONTEXTUAL) == 0);
232 232
233 const ExtraICState state_; 233 const ExtraICState state_;
234 }; 234 };
235 } 235 }
236 } 236 }
237 237
238 #endif // V8_IC_STATE_H_ 238 #endif // V8_IC_STATE_H_
OLDNEW
« no previous file with comments | « src/ic/ic.cc ('k') | src/ic/ic-state.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698