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 7397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7408 | 7408 |
7409 // Is this a function or top-level/eval code. | 7409 // Is this a function or top-level/eval code. |
7410 DECL_BOOLEAN_ACCESSORS(is_function) | 7410 DECL_BOOLEAN_ACCESSORS(is_function) |
7411 | 7411 |
7412 // Indicates that code for this function cannot be compiled with Crankshaft. | 7412 // Indicates that code for this function cannot be compiled with Crankshaft. |
7413 DECL_BOOLEAN_ACCESSORS(dont_crankshaft) | 7413 DECL_BOOLEAN_ACCESSORS(dont_crankshaft) |
7414 | 7414 |
7415 // Indicates that code for this function cannot be flushed. | 7415 // Indicates that code for this function cannot be flushed. |
7416 DECL_BOOLEAN_ACCESSORS(dont_flush) | 7416 DECL_BOOLEAN_ACCESSORS(dont_flush) |
7417 | 7417 |
7418 // Indicates that this function is a generator. | |
7419 DECL_BOOLEAN_ACCESSORS(is_generator) | |
7420 | |
7421 // Indicates that this function is an async function. | |
7422 DECL_BOOLEAN_ACCESSORS(is_async) | |
7423 | |
7424 // Indicates that this function can be suspended, either via YieldExpressions | |
7425 // or AwaitExpressions. | |
7426 inline bool is_resumable() const; | |
7427 | |
7428 // Indicates that this function is an arrow function. | |
7429 DECL_BOOLEAN_ACCESSORS(is_arrow) | |
7430 | |
7431 // Indicates that this function is a concise method. | |
7432 DECL_BOOLEAN_ACCESSORS(is_concise_method) | |
7433 | |
7434 // Indicates that this function is a getter. | |
7435 DECL_BOOLEAN_ACCESSORS(is_getter_function) | |
7436 | |
7437 // Indicates that this function is a setter. | |
7438 DECL_BOOLEAN_ACCESSORS(is_setter_function) | |
7439 | |
7440 // Indicates that this function is a default constructor. | |
7441 DECL_BOOLEAN_ACCESSORS(is_default_constructor) | |
7442 | |
7443 // Indicates that this is a constructor for a base class with instance fields. | 7418 // Indicates that this is a constructor for a base class with instance fields. |
7444 DECL_BOOLEAN_ACCESSORS(requires_class_field_init) | 7419 DECL_BOOLEAN_ACCESSORS(requires_class_field_init) |
7445 // Indicates that this is a synthesized function to set up class instance | 7420 // Indicates that this is a synthesized function to set up class instance |
7446 // fields. | 7421 // fields. |
7447 DECL_BOOLEAN_ACCESSORS(is_class_field_initializer) | 7422 DECL_BOOLEAN_ACCESSORS(is_class_field_initializer) |
7448 | 7423 |
7449 // Indicates that this function is an asm function. | 7424 // Indicates that this function is an asm function. |
7450 DECL_BOOLEAN_ACCESSORS(asm_function) | 7425 DECL_BOOLEAN_ACCESSORS(asm_function) |
7451 | 7426 |
7452 // Indicates that the the shared function info is deserialized from cache. | 7427 // Indicates that the the shared function info is deserialized from cache. |
7453 DECL_BOOLEAN_ACCESSORS(deserialized) | 7428 DECL_BOOLEAN_ACCESSORS(deserialized) |
7454 | 7429 |
7455 // Indicates that the the shared function info has never been compiled before. | 7430 // Indicates that the the shared function info has never been compiled before. |
7456 DECL_BOOLEAN_ACCESSORS(never_compiled) | 7431 DECL_BOOLEAN_ACCESSORS(never_compiled) |
7457 | 7432 |
7458 // Whether this function was created from a FunctionDeclaration. | 7433 // Whether this function was created from a FunctionDeclaration. |
7459 DECL_BOOLEAN_ACCESSORS(is_declaration) | 7434 DECL_BOOLEAN_ACCESSORS(is_declaration) |
7460 | 7435 |
7461 // Indicates that asm->wasm conversion failed and should not be re-attempted. | 7436 // Indicates that asm->wasm conversion failed and should not be re-attempted. |
7462 DECL_BOOLEAN_ACCESSORS(is_asm_wasm_broken) | 7437 DECL_BOOLEAN_ACCESSORS(is_asm_wasm_broken) |
7463 | 7438 |
7464 inline FunctionKind kind(); | 7439 inline FunctionKind kind() const; |
7465 inline void set_kind(FunctionKind kind); | 7440 inline void set_kind(FunctionKind kind); |
7466 | 7441 |
7467 // Indicates whether or not the code in the shared function support | 7442 // Indicates whether or not the code in the shared function support |
7468 // deoptimization. | 7443 // deoptimization. |
7469 inline bool has_deoptimization_support(); | 7444 inline bool has_deoptimization_support(); |
7470 | 7445 |
7471 // Enable deoptimization support through recompiled code. | 7446 // Enable deoptimization support through recompiled code. |
7472 void EnableDeoptimizationSupport(Code* recompiled); | 7447 void EnableDeoptimizationSupport(Code* recompiled); |
7473 | 7448 |
7474 // Disable (further) attempted optimization of all functions sharing this | 7449 // Disable (further) attempted optimization of all functions sharing this |
(...skipping 3976 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11451 } | 11426 } |
11452 return value; | 11427 return value; |
11453 } | 11428 } |
11454 }; | 11429 }; |
11455 | 11430 |
11456 | 11431 |
11457 } // NOLINT, false-positive due to second-order macros. | 11432 } // NOLINT, false-positive due to second-order macros. |
11458 } // NOLINT, false-positive due to second-order macros. | 11433 } // NOLINT, false-positive due to second-order macros. |
11459 | 11434 |
11460 #endif // V8_OBJECTS_H_ | 11435 #endif // V8_OBJECTS_H_ |
OLD | NEW |