Chromium Code Reviews

Side by Side Diff: src/objects.h

Issue 1140743004: Generalize builtins inlining flag to allow forced inlining of any function (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
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 7075 matching lines...)
7086 7086
7087 // True if the function has any duplicated parameter names. 7087 // True if the function has any duplicated parameter names.
7088 DECL_BOOLEAN_ACCESSORS(has_duplicate_parameters) 7088 DECL_BOOLEAN_ACCESSORS(has_duplicate_parameters)
7089 7089
7090 // Indicates whether the function is a native function. 7090 // Indicates whether the function is a native function.
7091 // These needs special treatment in .call and .apply since 7091 // These needs special treatment in .call and .apply since
7092 // null passed as the receiver should not be translated to the 7092 // null passed as the receiver should not be translated to the
7093 // global object. 7093 // global object.
7094 DECL_BOOLEAN_ACCESSORS(native) 7094 DECL_BOOLEAN_ACCESSORS(native)
7095 7095
7096 // Indicate that this builtin needs to be inlined in crankshaft. 7096 // Indicate that this function should always be inlined in optimized code.
7097 DECL_BOOLEAN_ACCESSORS(inline_builtin) 7097 DECL_BOOLEAN_ACCESSORS(force_inline)
7098 7098
7099 // Indicates that the function was created by the Function function. 7099 // Indicates that the function was created by the Function function.
7100 // Though it's anonymous, toString should treat it as if it had the name 7100 // Though it's anonymous, toString should treat it as if it had the name
7101 // "anonymous". We don't set the name itself so that the system does not 7101 // "anonymous". We don't set the name itself so that the system does not
7102 // see a binding for it. 7102 // see a binding for it.
7103 DECL_BOOLEAN_ACCESSORS(name_should_print_as_anonymous) 7103 DECL_BOOLEAN_ACCESSORS(name_should_print_as_anonymous)
7104 7104
7105 // Indicates whether the function is a bound function created using 7105 // Indicates whether the function is a bound function created using
7106 // the bind function. 7106 // the bind function.
7107 DECL_BOOLEAN_ACCESSORS(bound) 7107 DECL_BOOLEAN_ACCESSORS(bound)
(...skipping 257 matching lines...)
7365 enum CompilerHints { 7365 enum CompilerHints {
7366 kAllowLazyCompilation, 7366 kAllowLazyCompilation,
7367 kAllowLazyCompilationWithoutContext, 7367 kAllowLazyCompilationWithoutContext,
7368 kOptimizationDisabled, 7368 kOptimizationDisabled,
7369 kStrictModeFunction, 7369 kStrictModeFunction,
7370 kStrongModeFunction, 7370 kStrongModeFunction,
7371 kUsesArguments, 7371 kUsesArguments,
7372 kUsesSuperProperty, 7372 kUsesSuperProperty,
7373 kHasDuplicateParameters, 7373 kHasDuplicateParameters,
7374 kNative, 7374 kNative,
7375 kInlineBuiltin, 7375 kForceInline,
7376 kBoundFunction, 7376 kBoundFunction,
7377 kIsAnonymous, 7377 kIsAnonymous,
7378 kNameShouldPrintAsAnonymous, 7378 kNameShouldPrintAsAnonymous,
7379 kIsFunction, 7379 kIsFunction,
7380 kDontCache, 7380 kDontCache,
7381 kDontFlush, 7381 kDontFlush,
7382 kIsArrow, 7382 kIsArrow,
7383 kIsGenerator, 7383 kIsGenerator,
7384 kIsConciseMethod, 7384 kIsConciseMethod,
7385 kIsAccessorFunction, 7385 kIsAccessorFunction,
(...skipping 3745 matching lines...)
11131 } else { 11131 } else {
11132 value &= ~(1 << bit_position); 11132 value &= ~(1 << bit_position);
11133 } 11133 }
11134 return value; 11134 return value;
11135 } 11135 }
11136 }; 11136 };
11137 11137
11138 } } // namespace v8::internal 11138 } } // namespace v8::internal
11139 11139
11140 #endif // V8_OBJECTS_H_ 11140 #endif // V8_OBJECTS_H_
OLDNEW
« src/hydrogen.cc ('K') | « src/math.js ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine