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 <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 6813 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6824 // spending time attempting to optimize it again. | 6824 // spending time attempting to optimize it again. |
6825 DECL_BOOLEAN_ACCESSORS(optimization_disabled) | 6825 DECL_BOOLEAN_ACCESSORS(optimization_disabled) |
6826 | 6826 |
6827 // Indicates the language mode. | 6827 // Indicates the language mode. |
6828 inline StrictMode strict_mode(); | 6828 inline StrictMode strict_mode(); |
6829 inline void set_strict_mode(StrictMode strict_mode); | 6829 inline void set_strict_mode(StrictMode strict_mode); |
6830 | 6830 |
6831 // False if the function definitely does not allocate an arguments object. | 6831 // False if the function definitely does not allocate an arguments object. |
6832 DECL_BOOLEAN_ACCESSORS(uses_arguments) | 6832 DECL_BOOLEAN_ACCESSORS(uses_arguments) |
6833 | 6833 |
6834 // Indicates that this function uses super. This is needed to set up the | 6834 // Indicates that this function uses a super property. |
6835 // [[HomeObject]] on the function instance. | 6835 // This is needed to set up the [[HomeObject]] on the function instance. |
6836 DECL_BOOLEAN_ACCESSORS(uses_super) | 6836 DECL_BOOLEAN_ACCESSORS(uses_super_property) |
| 6837 |
| 6838 // Indicates that this function uses the super constructor. |
| 6839 DECL_BOOLEAN_ACCESSORS(uses_super_constructor_call) |
6837 | 6840 |
6838 // True if the function has any duplicated parameter names. | 6841 // True if the function has any duplicated parameter names. |
6839 DECL_BOOLEAN_ACCESSORS(has_duplicate_parameters) | 6842 DECL_BOOLEAN_ACCESSORS(has_duplicate_parameters) |
6840 | 6843 |
6841 // Indicates whether the function is a native function. | 6844 // Indicates whether the function is a native function. |
6842 // These needs special treatment in .call and .apply since | 6845 // These needs special treatment in .call and .apply since |
6843 // null passed as the receiver should not be translated to the | 6846 // null passed as the receiver should not be translated to the |
6844 // global object. | 6847 // global object. |
6845 DECL_BOOLEAN_ACCESSORS(native) | 6848 DECL_BOOLEAN_ACCESSORS(native) |
6846 | 6849 |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7105 static const int kStartPositionShift = 2; | 7108 static const int kStartPositionShift = 2; |
7106 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); | 7109 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); |
7107 | 7110 |
7108 // Bit positions in compiler_hints. | 7111 // Bit positions in compiler_hints. |
7109 enum CompilerHints { | 7112 enum CompilerHints { |
7110 kAllowLazyCompilation, | 7113 kAllowLazyCompilation, |
7111 kAllowLazyCompilationWithoutContext, | 7114 kAllowLazyCompilationWithoutContext, |
7112 kOptimizationDisabled, | 7115 kOptimizationDisabled, |
7113 kStrictModeFunction, | 7116 kStrictModeFunction, |
7114 kUsesArguments, | 7117 kUsesArguments, |
7115 kUsesSuper, | 7118 kUsesSuperProperty, |
| 7119 kUsesSuperConstructorCall, |
7116 kHasDuplicateParameters, | 7120 kHasDuplicateParameters, |
7117 kNative, | 7121 kNative, |
7118 kInlineBuiltin, | 7122 kInlineBuiltin, |
7119 kBoundFunction, | 7123 kBoundFunction, |
7120 kIsAnonymous, | 7124 kIsAnonymous, |
7121 kNameShouldPrintAsAnonymous, | 7125 kNameShouldPrintAsAnonymous, |
7122 kIsFunction, | 7126 kIsFunction, |
7123 kDontCache, | 7127 kDontCache, |
7124 kDontFlush, | 7128 kDontFlush, |
7125 kIsArrow, | 7129 kIsArrow, |
(...skipping 3867 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10993 } else { | 10997 } else { |
10994 value &= ~(1 << bit_position); | 10998 value &= ~(1 << bit_position); |
10995 } | 10999 } |
10996 return value; | 11000 return value; |
10997 } | 11001 } |
10998 }; | 11002 }; |
10999 | 11003 |
11000 } } // namespace v8::internal | 11004 } } // namespace v8::internal |
11001 | 11005 |
11002 #endif // V8_OBJECTS_H_ | 11006 #endif // V8_OBJECTS_H_ |
OLD | NEW |