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

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

Issue 2416243002: Make unittests work in component build (Closed)
Patch Set: updates Created 4 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
« no previous file with comments | « src/compiler/js-intrinsic-lowering.h ('k') | src/compiler/js-typed-lowering.h » ('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 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/base/compiler-specific.h"
9 #include "src/globals.h"
8 #include "src/runtime/runtime.h" 10 #include "src/runtime/runtime.h"
9 #include "src/type-hints.h" 11 #include "src/type-hints.h"
10 12
11 namespace v8 { 13 namespace v8 {
12 namespace internal { 14 namespace internal {
13 namespace compiler { 15 namespace compiler {
14 16
15 // Forward declarations. 17 // Forward declarations.
16 class Operator; 18 class Operator;
17 struct JSOperatorGlobalCache; 19 struct JSOperatorGlobalCache;
18 20
19 21
20 // Defines a pair of {TypeFeedbackVector} and {TypeFeedbackVectorSlot}, which 22 // Defines a pair of {TypeFeedbackVector} and {TypeFeedbackVectorSlot}, which
21 // is used to access the type feedback for a certain {Node}. 23 // is used to access the type feedback for a certain {Node}.
22 class VectorSlotPair { 24 class V8_EXPORT_PRIVATE VectorSlotPair {
23 public: 25 public:
24 VectorSlotPair(); 26 VectorSlotPair();
25 VectorSlotPair(Handle<TypeFeedbackVector> vector, FeedbackVectorSlot slot) 27 VectorSlotPair(Handle<TypeFeedbackVector> vector, FeedbackVectorSlot slot)
26 : vector_(vector), slot_(slot) {} 28 : vector_(vector), slot_(slot) {}
27 29
28 bool IsValid() const { return !vector_.is_null() && !slot_.IsInvalid(); } 30 bool IsValid() const { return !vector_.is_null() && !slot_.IsInvalid(); }
29 31
30 Handle<TypeFeedbackVector> vector() const { return vector_; } 32 Handle<TypeFeedbackVector> vector() const { return vector_; }
31 FeedbackVectorSlot slot() const { return slot_; } 33 FeedbackVectorSlot slot() const { return slot_; }
32 34
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 const bool immutable_; 177 const bool immutable_;
176 const uint16_t depth_; 178 const uint16_t depth_;
177 const uint32_t index_; 179 const uint32_t index_;
178 }; 180 };
179 181
180 bool operator==(ContextAccess const&, ContextAccess const&); 182 bool operator==(ContextAccess const&, ContextAccess const&);
181 bool operator!=(ContextAccess const&, ContextAccess const&); 183 bool operator!=(ContextAccess const&, ContextAccess const&);
182 184
183 size_t hash_value(ContextAccess const&); 185 size_t hash_value(ContextAccess const&);
184 186
185 std::ostream& operator<<(std::ostream&, ContextAccess const&); 187 V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream&, ContextAccess const&);
186 188
187 ContextAccess const& ContextAccessOf(Operator const*); 189 ContextAccess const& ContextAccessOf(Operator const*);
188 190
189 // Defines the name and ScopeInfo for a new catch context. This is used as a 191 // Defines the name and ScopeInfo for a new catch context. This is used as a
190 // parameter by the JSCreateCatchContext operator. 192 // parameter by the JSCreateCatchContext operator.
191 class CreateCatchContextParameters final { 193 class CreateCatchContextParameters final {
192 public: 194 public:
193 CreateCatchContextParameters(Handle<String> catch_name, 195 CreateCatchContextParameters(Handle<String> catch_name,
194 Handle<ScopeInfo> scope_info); 196 Handle<ScopeInfo> scope_info);
195 197
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 411
410 const CreateLiteralParameters& CreateLiteralParametersOf(const Operator* op); 412 const CreateLiteralParameters& CreateLiteralParametersOf(const Operator* op);
411 413
412 BinaryOperationHint BinaryOperationHintOf(const Operator* op); 414 BinaryOperationHint BinaryOperationHintOf(const Operator* op);
413 415
414 CompareOperationHint CompareOperationHintOf(const Operator* op); 416 CompareOperationHint CompareOperationHintOf(const Operator* op);
415 417
416 // Interface for building JavaScript-level operators, e.g. directly from the 418 // Interface for building JavaScript-level operators, e.g. directly from the
417 // AST. Most operators have no parameters, thus can be globally shared for all 419 // AST. Most operators have no parameters, thus can be globally shared for all
418 // graphs. 420 // graphs.
419 class JSOperatorBuilder final : public ZoneObject { 421 class V8_EXPORT_PRIVATE JSOperatorBuilder final
422 : public NON_EXPORTED_BASE(ZoneObject) {
420 public: 423 public:
421 explicit JSOperatorBuilder(Zone* zone); 424 explicit JSOperatorBuilder(Zone* zone);
422 425
423 const Operator* Equal(CompareOperationHint hint); 426 const Operator* Equal(CompareOperationHint hint);
424 const Operator* NotEqual(CompareOperationHint hint); 427 const Operator* NotEqual(CompareOperationHint hint);
425 const Operator* StrictEqual(CompareOperationHint hint); 428 const Operator* StrictEqual(CompareOperationHint hint);
426 const Operator* StrictNotEqual(CompareOperationHint hint); 429 const Operator* StrictNotEqual(CompareOperationHint hint);
427 const Operator* LessThan(CompareOperationHint hint); 430 const Operator* LessThan(CompareOperationHint hint);
428 const Operator* GreaterThan(CompareOperationHint hint); 431 const Operator* GreaterThan(CompareOperationHint hint);
429 const Operator* LessThanOrEqual(CompareOperationHint hint); 432 const Operator* LessThanOrEqual(CompareOperationHint hint);
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 Zone* const zone_; 535 Zone* const zone_;
533 536
534 DISALLOW_COPY_AND_ASSIGN(JSOperatorBuilder); 537 DISALLOW_COPY_AND_ASSIGN(JSOperatorBuilder);
535 }; 538 };
536 539
537 } // namespace compiler 540 } // namespace compiler
538 } // namespace internal 541 } // namespace internal
539 } // namespace v8 542 } // namespace v8
540 543
541 #endif // V8_COMPILER_JS_OPERATOR_H_ 544 #endif // V8_COMPILER_JS_OPERATOR_H_
OLDNEW
« no previous file with comments | « src/compiler/js-intrinsic-lowering.h ('k') | src/compiler/js-typed-lowering.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698