OLD | NEW |
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_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include "allocation.h" | 8 #include "allocation.h" |
9 #include "assert-scope.h" | 9 #include "assert-scope.h" |
10 #include "builtins.h" | 10 #include "builtins.h" |
(...skipping 7099 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7110 | 7110 |
7111 // Indicates that code for this function cannot be cached. | 7111 // Indicates that code for this function cannot be cached. |
7112 DECL_BOOLEAN_ACCESSORS(dont_cache) | 7112 DECL_BOOLEAN_ACCESSORS(dont_cache) |
7113 | 7113 |
7114 // Indicates that code for this function cannot be flushed. | 7114 // Indicates that code for this function cannot be flushed. |
7115 DECL_BOOLEAN_ACCESSORS(dont_flush) | 7115 DECL_BOOLEAN_ACCESSORS(dont_flush) |
7116 | 7116 |
7117 // Indicates that this function is a generator. | 7117 // Indicates that this function is a generator. |
7118 DECL_BOOLEAN_ACCESSORS(is_generator) | 7118 DECL_BOOLEAN_ACCESSORS(is_generator) |
7119 | 7119 |
| 7120 // Indicated that this function is an arrow function. |
| 7121 DECL_BOOLEAN_ACCESSORS(is_arrow) |
| 7122 |
7120 // Indicates whether or not the code in the shared function support | 7123 // Indicates whether or not the code in the shared function support |
7121 // deoptimization. | 7124 // deoptimization. |
7122 inline bool has_deoptimization_support(); | 7125 inline bool has_deoptimization_support(); |
7123 | 7126 |
7124 // Enable deoptimization support through recompiled code. | 7127 // Enable deoptimization support through recompiled code. |
7125 void EnableDeoptimizationSupport(Code* recompiled); | 7128 void EnableDeoptimizationSupport(Code* recompiled); |
7126 | 7129 |
7127 // Disable (further) attempted optimization of all functions sharing this | 7130 // Disable (further) attempted optimization of all functions sharing this |
7128 // shared function info. | 7131 // shared function info. |
7129 void DisableOptimization(BailoutReason reason); | 7132 void DisableOptimization(BailoutReason reason); |
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7315 kInlineBuiltin, | 7318 kInlineBuiltin, |
7316 kBoundFunction, | 7319 kBoundFunction, |
7317 kIsAnonymous, | 7320 kIsAnonymous, |
7318 kNameShouldPrintAsAnonymous, | 7321 kNameShouldPrintAsAnonymous, |
7319 kIsFunction, | 7322 kIsFunction, |
7320 kDontOptimize, | 7323 kDontOptimize, |
7321 kDontInline, | 7324 kDontInline, |
7322 kDontCache, | 7325 kDontCache, |
7323 kDontFlush, | 7326 kDontFlush, |
7324 kIsGenerator, | 7327 kIsGenerator, |
| 7328 kIsArrow, |
7325 kCompilerHintsCount // Pseudo entry | 7329 kCompilerHintsCount // Pseudo entry |
7326 }; | 7330 }; |
7327 | 7331 |
7328 class DeoptCountBits: public BitField<int, 0, 4> {}; | 7332 class DeoptCountBits: public BitField<int, 0, 4> {}; |
7329 class OptReenableTriesBits: public BitField<int, 4, 18> {}; | 7333 class OptReenableTriesBits: public BitField<int, 4, 18> {}; |
7330 class ICAgeBits: public BitField<int, 22, 8> {}; | 7334 class ICAgeBits: public BitField<int, 22, 8> {}; |
7331 | 7335 |
7332 class OptCountBits: public BitField<int, 0, 22> {}; | 7336 class OptCountBits: public BitField<int, 0, 22> {}; |
7333 class DisabledOptimizationReasonBits: public BitField<int, 22, 8> {}; | 7337 class DisabledOptimizationReasonBits: public BitField<int, 22, 8> {}; |
7334 | 7338 |
(...skipping 3735 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11070 } else { | 11074 } else { |
11071 value &= ~(1 << bit_position); | 11075 value &= ~(1 << bit_position); |
11072 } | 11076 } |
11073 return value; | 11077 return value; |
11074 } | 11078 } |
11075 }; | 11079 }; |
11076 | 11080 |
11077 } } // namespace v8::internal | 11081 } } // namespace v8::internal |
11078 | 11082 |
11079 #endif // V8_OBJECTS_H_ | 11083 #endif // V8_OBJECTS_H_ |
OLD | NEW |