Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Side by Side Diff: src/objects.h

Issue 718833002: Classes: Cleanup default constructor flag (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/objects-inl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 6806 matching lines...) Expand 10 before | Expand all | Expand 10 after
6817 // spending time attempting to optimize it again. 6817 // spending time attempting to optimize it again.
6818 DECL_BOOLEAN_ACCESSORS(optimization_disabled) 6818 DECL_BOOLEAN_ACCESSORS(optimization_disabled)
6819 6819
6820 // Indicates the language mode. 6820 // Indicates the language mode.
6821 inline StrictMode strict_mode(); 6821 inline StrictMode strict_mode();
6822 inline void set_strict_mode(StrictMode strict_mode); 6822 inline void set_strict_mode(StrictMode strict_mode);
6823 6823
6824 // False if the function definitely does not allocate an arguments object. 6824 // False if the function definitely does not allocate an arguments object.
6825 DECL_BOOLEAN_ACCESSORS(uses_arguments) 6825 DECL_BOOLEAN_ACCESSORS(uses_arguments)
6826 6826
6827 // Indicates that this function uses super. This is needed to set up the
6828 // [[HomeObject]] on the function instance.
6829 DECL_BOOLEAN_ACCESSORS(uses_super)
6830
6827 // True if the function has any duplicated parameter names. 6831 // True if the function has any duplicated parameter names.
6828 DECL_BOOLEAN_ACCESSORS(has_duplicate_parameters) 6832 DECL_BOOLEAN_ACCESSORS(has_duplicate_parameters)
6829 6833
6830 // Indicates whether the function is a native function. 6834 // Indicates whether the function is a native function.
6831 // These needs special treatment in .call and .apply since 6835 // These needs special treatment in .call and .apply since
6832 // null passed as the receiver should not be translated to the 6836 // null passed as the receiver should not be translated to the
6833 // global object. 6837 // global object.
6834 DECL_BOOLEAN_ACCESSORS(native) 6838 DECL_BOOLEAN_ACCESSORS(native)
6835 6839
6836 // Indicate that this builtin needs to be inlined in crankshaft. 6840 // Indicate that this builtin needs to be inlined in crankshaft.
(...skipping 27 matching lines...) Expand all
6864 6868
6865 // Indicates that this function is an arrow function. 6869 // Indicates that this function is an arrow function.
6866 DECL_BOOLEAN_ACCESSORS(is_arrow) 6870 DECL_BOOLEAN_ACCESSORS(is_arrow)
6867 6871
6868 // Indicates that this function is a concise method. 6872 // Indicates that this function is a concise method.
6869 DECL_BOOLEAN_ACCESSORS(is_concise_method) 6873 DECL_BOOLEAN_ACCESSORS(is_concise_method)
6870 6874
6871 // Indicates that this function is a default constructor. 6875 // Indicates that this function is a default constructor.
6872 DECL_BOOLEAN_ACCESSORS(is_default_constructor) 6876 DECL_BOOLEAN_ACCESSORS(is_default_constructor)
6873 6877
6874 // Indicates that this function is a default constructor that needs to call
6875 // super.
6876 DECL_BOOLEAN_ACCESSORS(is_default_constructor_call_super)
6877
6878 // Indicates that this function is an asm function. 6878 // Indicates that this function is an asm function.
6879 DECL_BOOLEAN_ACCESSORS(asm_function) 6879 DECL_BOOLEAN_ACCESSORS(asm_function)
6880 6880
6881 // Indicates that the the shared function info is deserialized from cache. 6881 // Indicates that the the shared function info is deserialized from cache.
6882 DECL_BOOLEAN_ACCESSORS(deserialized) 6882 DECL_BOOLEAN_ACCESSORS(deserialized)
6883 6883
6884 inline FunctionKind kind(); 6884 inline FunctionKind kind();
6885 inline void set_kind(FunctionKind kind); 6885 inline void set_kind(FunctionKind kind);
6886 6886
6887 // Indicates whether or not the code in the shared function support 6887 // Indicates whether or not the code in the shared function support
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
7098 static const int kStartPositionShift = 2; 7098 static const int kStartPositionShift = 2;
7099 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); 7099 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1);
7100 7100
7101 // Bit positions in compiler_hints. 7101 // Bit positions in compiler_hints.
7102 enum CompilerHints { 7102 enum CompilerHints {
7103 kAllowLazyCompilation, 7103 kAllowLazyCompilation,
7104 kAllowLazyCompilationWithoutContext, 7104 kAllowLazyCompilationWithoutContext,
7105 kOptimizationDisabled, 7105 kOptimizationDisabled,
7106 kStrictModeFunction, 7106 kStrictModeFunction,
7107 kUsesArguments, 7107 kUsesArguments,
7108 kUsesSuper,
7108 kHasDuplicateParameters, 7109 kHasDuplicateParameters,
7109 kNative, 7110 kNative,
7110 kInlineBuiltin, 7111 kInlineBuiltin,
7111 kBoundFunction, 7112 kBoundFunction,
7112 kIsAnonymous, 7113 kIsAnonymous,
7113 kNameShouldPrintAsAnonymous, 7114 kNameShouldPrintAsAnonymous,
7114 kIsFunction, 7115 kIsFunction,
7115 kDontCache, 7116 kDontCache,
7116 kDontFlush, 7117 kDontFlush,
7117 kIsArrow, 7118 kIsArrow,
7118 kIsGenerator, 7119 kIsGenerator,
7119 kIsConciseMethod, 7120 kIsConciseMethod,
7120 kIsDefaultConstructor, 7121 kIsDefaultConstructor,
7121 kIsDefaultConstructorCallSuper,
7122 kIsAsmFunction, 7122 kIsAsmFunction,
7123 kDeserialized, 7123 kDeserialized,
7124 kCompilerHintsCount // Pseudo entry 7124 kCompilerHintsCount // Pseudo entry
7125 }; 7125 };
7126 7126
7127 class FunctionKindBits : public BitField<FunctionKind, kIsArrow, 5> {}; 7127 class FunctionKindBits : public BitField<FunctionKind, kIsArrow, 4> {};
7128 7128
7129 class DeoptCountBits : public BitField<int, 0, 4> {}; 7129 class DeoptCountBits : public BitField<int, 0, 4> {};
7130 class OptReenableTriesBits : public BitField<int, 4, 18> {}; 7130 class OptReenableTriesBits : public BitField<int, 4, 18> {};
7131 class ICAgeBits : public BitField<int, 22, 8> {}; 7131 class ICAgeBits : public BitField<int, 22, 8> {};
7132 7132
7133 class OptCountBits : public BitField<int, 0, 22> {}; 7133 class OptCountBits : public BitField<int, 0, 22> {};
7134 class DisabledOptimizationReasonBits : public BitField<int, 22, 8> {}; 7134 class DisabledOptimizationReasonBits : public BitField<int, 22, 8> {};
7135 7135
7136 private: 7136 private:
7137 #if V8_HOST_ARCH_32_BIT 7137 #if V8_HOST_ARCH_32_BIT
(...skipping 3833 matching lines...) Expand 10 before | Expand all | Expand 10 after
10971 } else { 10971 } else {
10972 value &= ~(1 << bit_position); 10972 value &= ~(1 << bit_position);
10973 } 10973 }
10974 return value; 10974 return value;
10975 } 10975 }
10976 }; 10976 };
10977 10977
10978 } } // namespace v8::internal 10978 } } // namespace v8::internal
10979 10979
10980 #endif // V8_OBJECTS_H_ 10980 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698