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

Side by Side Diff: src/compiler/js-operator.h

Issue 1092353002: [strong] Disallow implicit conversions for binary arithmetic operations (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: cl feedback 5 Created 5 years, 8 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
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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_COMPILER_JS_OPERATOR_H_ 5 #ifndef V8_COMPILER_JS_OPERATOR_H_
6 #define V8_COMPILER_JS_OPERATOR_H_ 6 #define V8_COMPILER_JS_OPERATOR_H_
7 7
8 #include "src/runtime/runtime.h" 8 #include "src/runtime/runtime.h"
9 #include "src/unique.h" 9 #include "src/unique.h"
10 10
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 // AST. Most operators have no parameters, thus can be globally shared for all 210 // AST. Most operators have no parameters, thus can be globally shared for all
211 // graphs. 211 // graphs.
212 class JSOperatorBuilder final : public ZoneObject { 212 class JSOperatorBuilder final : public ZoneObject {
213 public: 213 public:
214 explicit JSOperatorBuilder(Zone* zone); 214 explicit JSOperatorBuilder(Zone* zone);
215 215
216 const Operator* Equal(); 216 const Operator* Equal();
217 const Operator* NotEqual(); 217 const Operator* NotEqual();
218 const Operator* StrictEqual(); 218 const Operator* StrictEqual();
219 const Operator* StrictNotEqual(); 219 const Operator* StrictNotEqual();
220 const Operator* LessThan(); 220 const Operator* LessThan(LanguageMode language_mode);
221 const Operator* GreaterThan(); 221 const Operator* GreaterThan(LanguageMode language_mode);
222 const Operator* LessThanOrEqual(); 222 const Operator* LessThanOrEqual(LanguageMode language_mode);
223 const Operator* GreaterThanOrEqual(); 223 const Operator* GreaterThanOrEqual(LanguageMode language_mode);
224 const Operator* BitwiseOr(); 224 const Operator* BitwiseOr(LanguageMode language_mode);
225 const Operator* BitwiseXor(); 225 const Operator* BitwiseXor(LanguageMode language_mode);
226 const Operator* BitwiseAnd(); 226 const Operator* BitwiseAnd(LanguageMode language_mode);
227 const Operator* ShiftLeft(); 227 const Operator* ShiftLeft(LanguageMode language_mode);
228 const Operator* ShiftRight(); 228 const Operator* ShiftRight(LanguageMode language_mode);
229 const Operator* ShiftRightLogical(); 229 const Operator* ShiftRightLogical(LanguageMode language_mode);
230 const Operator* Add(); 230 const Operator* Add(LanguageMode language_mode);
231 const Operator* Subtract(); 231 const Operator* Subtract(LanguageMode language_mode);
232 const Operator* Multiply(); 232 const Operator* Multiply(LanguageMode language_mode);
233 const Operator* Divide(); 233 const Operator* Divide(LanguageMode language_mode);
234 const Operator* Modulus(); 234 const Operator* Modulus(LanguageMode language_mode);
235 235
236 const Operator* UnaryNot(); 236 const Operator* UnaryNot();
237 const Operator* ToBoolean(); 237 const Operator* ToBoolean();
238 const Operator* ToNumber(); 238 const Operator* ToNumber();
239 const Operator* ToString(); 239 const Operator* ToString();
240 const Operator* ToName(); 240 const Operator* ToName();
241 const Operator* ToObject(); 241 const Operator* ToObject();
242 const Operator* Yield(); 242 const Operator* Yield();
243 243
244 const Operator* Create(); 244 const Operator* Create();
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 Zone* const zone_; 286 Zone* const zone_;
287 287
288 DISALLOW_COPY_AND_ASSIGN(JSOperatorBuilder); 288 DISALLOW_COPY_AND_ASSIGN(JSOperatorBuilder);
289 }; 289 };
290 290
291 } // namespace compiler 291 } // namespace compiler
292 } // namespace internal 292 } // namespace internal
293 } // namespace v8 293 } // namespace v8
294 294
295 #endif // V8_COMPILER_JS_OPERATOR_H_ 295 #endif // V8_COMPILER_JS_OPERATOR_H_
OLDNEW
« no previous file with comments | « src/compiler/js-generic-lowering.cc ('k') | src/compiler/js-operator.cc » ('j') | src/ic/ic.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698