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 "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assert-scope.h" | 9 #include "src/assert-scope.h" |
10 #include "src/builtins.h" | 10 #include "src/builtins.h" |
(...skipping 7244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7255 | 7255 |
7256 // Indicates that code for this function cannot be cached. | 7256 // Indicates that code for this function cannot be cached. |
7257 DECL_BOOLEAN_ACCESSORS(dont_cache) | 7257 DECL_BOOLEAN_ACCESSORS(dont_cache) |
7258 | 7258 |
7259 // Indicates that code for this function cannot be flushed. | 7259 // Indicates that code for this function cannot be flushed. |
7260 DECL_BOOLEAN_ACCESSORS(dont_flush) | 7260 DECL_BOOLEAN_ACCESSORS(dont_flush) |
7261 | 7261 |
7262 // Indicates that this function is a generator. | 7262 // Indicates that this function is a generator. |
7263 DECL_BOOLEAN_ACCESSORS(is_generator) | 7263 DECL_BOOLEAN_ACCESSORS(is_generator) |
7264 | 7264 |
| 7265 // Indicates that this function is an arrow function. |
| 7266 DECL_BOOLEAN_ACCESSORS(is_arrow) |
| 7267 |
7265 // Indicates whether or not the code in the shared function support | 7268 // Indicates whether or not the code in the shared function support |
7266 // deoptimization. | 7269 // deoptimization. |
7267 inline bool has_deoptimization_support(); | 7270 inline bool has_deoptimization_support(); |
7268 | 7271 |
7269 // Enable deoptimization support through recompiled code. | 7272 // Enable deoptimization support through recompiled code. |
7270 void EnableDeoptimizationSupport(Code* recompiled); | 7273 void EnableDeoptimizationSupport(Code* recompiled); |
7271 | 7274 |
7272 // Disable (further) attempted optimization of all functions sharing this | 7275 // Disable (further) attempted optimization of all functions sharing this |
7273 // shared function info. | 7276 // shared function info. |
7274 void DisableOptimization(BailoutReason reason); | 7277 void DisableOptimization(BailoutReason reason); |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7450 kHasDuplicateParameters, | 7453 kHasDuplicateParameters, |
7451 kNative, | 7454 kNative, |
7452 kInlineBuiltin, | 7455 kInlineBuiltin, |
7453 kBoundFunction, | 7456 kBoundFunction, |
7454 kIsAnonymous, | 7457 kIsAnonymous, |
7455 kNameShouldPrintAsAnonymous, | 7458 kNameShouldPrintAsAnonymous, |
7456 kIsFunction, | 7459 kIsFunction, |
7457 kDontCache, | 7460 kDontCache, |
7458 kDontFlush, | 7461 kDontFlush, |
7459 kIsGenerator, | 7462 kIsGenerator, |
| 7463 kIsArrow, |
7460 kCompilerHintsCount // Pseudo entry | 7464 kCompilerHintsCount // Pseudo entry |
7461 }; | 7465 }; |
7462 | 7466 |
7463 class DeoptCountBits: public BitField<int, 0, 4> {}; | 7467 class DeoptCountBits: public BitField<int, 0, 4> {}; |
7464 class OptReenableTriesBits: public BitField<int, 4, 18> {}; | 7468 class OptReenableTriesBits: public BitField<int, 4, 18> {}; |
7465 class ICAgeBits: public BitField<int, 22, 8> {}; | 7469 class ICAgeBits: public BitField<int, 22, 8> {}; |
7466 | 7470 |
7467 class OptCountBits: public BitField<int, 0, 22> {}; | 7471 class OptCountBits: public BitField<int, 0, 22> {}; |
7468 class DisabledOptimizationReasonBits: public BitField<int, 22, 8> {}; | 7472 class DisabledOptimizationReasonBits: public BitField<int, 22, 8> {}; |
7469 | 7473 |
(...skipping 3748 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11218 } else { | 11222 } else { |
11219 value &= ~(1 << bit_position); | 11223 value &= ~(1 << bit_position); |
11220 } | 11224 } |
11221 return value; | 11225 return value; |
11222 } | 11226 } |
11223 }; | 11227 }; |
11224 | 11228 |
11225 } } // namespace v8::internal | 11229 } } // namespace v8::internal |
11226 | 11230 |
11227 #endif // V8_OBJECTS_H_ | 11231 #endif // V8_OBJECTS_H_ |
OLD | NEW |