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

Side by Side Diff: src/objects.h

Issue 766663003: harmony-classes: Implement 'super(...)' call syntactic restriction. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Patch for landing Created 6 years 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
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 6813 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698