OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 8049 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8060 | 8060 |
8061 // Tells whether or not the function is on the concurrent recompilation queue. | 8061 // Tells whether or not the function is on the concurrent recompilation queue. |
8062 inline bool IsInOptimizationQueue(); | 8062 inline bool IsInOptimizationQueue(); |
8063 | 8063 |
8064 // Completes inobject slack tracking on initial map if it is active. | 8064 // Completes inobject slack tracking on initial map if it is active. |
8065 inline void CompleteInobjectSlackTrackingIfActive(); | 8065 inline void CompleteInobjectSlackTrackingIfActive(); |
8066 | 8066 |
8067 // [feedback_vector_cell]: Fixed array holding the feedback vector. | 8067 // [feedback_vector_cell]: Fixed array holding the feedback vector. |
8068 DECL_ACCESSORS(feedback_vector_cell, Cell) | 8068 DECL_ACCESSORS(feedback_vector_cell, Cell) |
8069 | 8069 |
| 8070 enum FeedbackVectorState { |
| 8071 TOP_LEVEL_SCRIPT_NEEDS_VECTOR, |
| 8072 NEEDS_VECTOR, |
| 8073 HAS_VECTOR |
| 8074 }; |
| 8075 |
| 8076 inline FeedbackVectorState GetFeedbackVectorState(Isolate* isolate) const; |
| 8077 |
8070 // feedback_vector() can be used once the function is compiled. | 8078 // feedback_vector() can be used once the function is compiled. |
8071 inline FeedbackVector* feedback_vector() const; | 8079 inline FeedbackVector* feedback_vector() const; |
8072 inline bool has_feedback_vector() const; | 8080 inline bool has_feedback_vector() const; |
8073 static void EnsureLiterals(Handle<JSFunction> function); | 8081 static void EnsureLiterals(Handle<JSFunction> function); |
8074 | 8082 |
8075 // Unconditionally clear the type feedback vector (including vector ICs). | 8083 // Unconditionally clear the type feedback vector (including vector ICs). |
8076 void ClearTypeFeedbackInfo(); | 8084 void ClearTypeFeedbackInfo(); |
8077 | 8085 |
8078 // Clear the type feedback vector with a more subtle policy at GC time. | 8086 // Clear the type feedback vector with a more subtle policy at GC time. |
8079 void ClearTypeFeedbackInfoAtGCTime(); | 8087 void ClearTypeFeedbackInfoAtGCTime(); |
(...skipping 3543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11623 } | 11631 } |
11624 }; | 11632 }; |
11625 | 11633 |
11626 | 11634 |
11627 } // NOLINT, false-positive due to second-order macros. | 11635 } // NOLINT, false-positive due to second-order macros. |
11628 } // NOLINT, false-positive due to second-order macros. | 11636 } // NOLINT, false-positive due to second-order macros. |
11629 | 11637 |
11630 #include "src/objects/object-macros-undef.h" | 11638 #include "src/objects/object-macros-undef.h" |
11631 | 11639 |
11632 #endif // V8_OBJECTS_H_ | 11640 #endif // V8_OBJECTS_H_ |
OLD | NEW |