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

Side by Side Diff: src/objects.h

Issue 1417213005: Remove several JSFunction delegator functions. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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
« no previous file with comments | « src/isolate.cc ('k') | src/objects.cc » ('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 6811 matching lines...) Expand 10 before | Expand all | Expand 10 after
6822 6822
6823 // Whether this function is defined in native code or extensions. 6823 // Whether this function is defined in native code or extensions.
6824 inline bool IsBuiltin(); 6824 inline bool IsBuiltin();
6825 6825
6826 // Check whether or not this function is inlineable. 6826 // Check whether or not this function is inlineable.
6827 bool IsInlineable(); 6827 bool IsInlineable();
6828 6828
6829 // Source size of this function. 6829 // Source size of this function.
6830 int SourceSize(); 6830 int SourceSize();
6831 6831
6832 // Returns `false` if formal parameters include rest parameters, optional
6833 // parameters, or destructuring parameters.
6834 // TODO(caitp): make this a flag set during parsing
6832 inline bool has_simple_parameters(); 6835 inline bool has_simple_parameters();
6833 6836
6834 // Initialize a SharedFunctionInfo from a parsed function literal. 6837 // Initialize a SharedFunctionInfo from a parsed function literal.
6835 static void InitFromFunctionLiteral(Handle<SharedFunctionInfo> shared_info, 6838 static void InitFromFunctionLiteral(Handle<SharedFunctionInfo> shared_info,
6836 FunctionLiteral* lit); 6839 FunctionLiteral* lit);
6837 6840
6838 // Dispatched behavior. 6841 // Dispatched behavior.
6839 DECLARE_PRINTER(SharedFunctionInfo) 6842 DECLARE_PRINTER(SharedFunctionInfo)
6840 DECLARE_VERIFIER(SharedFunctionInfo) 6843 DECLARE_VERIFIER(SharedFunctionInfo)
6841 6844
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
7218 7221
7219 // [code]: The generated code object for this function. Executed 7222 // [code]: The generated code object for this function. Executed
7220 // when the function is invoked, e.g. foo() or new foo(). See 7223 // when the function is invoked, e.g. foo() or new foo(). See
7221 // [[Call]] and [[Construct]] description in ECMA-262, section 7224 // [[Call]] and [[Construct]] description in ECMA-262, section
7222 // 8.6.2, page 27. 7225 // 8.6.2, page 27.
7223 inline Code* code(); 7226 inline Code* code();
7224 inline void set_code(Code* code); 7227 inline void set_code(Code* code);
7225 inline void set_code_no_write_barrier(Code* code); 7228 inline void set_code_no_write_barrier(Code* code);
7226 inline void ReplaceCode(Code* code); 7229 inline void ReplaceCode(Code* code);
7227 7230
7228 // Tells whether this function is builtin.
7229 inline bool IsBuiltin();
7230
7231 // Tells whether this function inlines the given shared function info. 7231 // Tells whether this function inlines the given shared function info.
7232 bool Inlines(SharedFunctionInfo* candidate); 7232 bool Inlines(SharedFunctionInfo* candidate);
7233 7233
7234 // Tells whether this function should be subject to debugging.
7235 inline bool IsSubjectToDebugging();
7236
7237 // Tells whether or not the function needs arguments adaption.
7238 inline bool NeedsArgumentsAdaption();
7239
7240 // Tells whether or not this function has been optimized. 7234 // Tells whether or not this function has been optimized.
7241 inline bool IsOptimized(); 7235 inline bool IsOptimized();
7242 7236
7243 // Mark this function for lazy recompilation. The function will be 7237 // Mark this function for lazy recompilation. The function will be
7244 // recompiled the next time it is executed. 7238 // recompiled the next time it is executed.
7245 void MarkForOptimization(); 7239 void MarkForOptimization();
7246 void AttemptConcurrentOptimization(); 7240 void AttemptConcurrentOptimization();
7247 7241
7248 // Tells whether or not the function is already marked for lazy 7242 // Tells whether or not the function is already marked for lazy
7249 // recompilation. 7243 // recompilation.
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
7338 inline Object* instance_prototype(); 7332 inline Object* instance_prototype();
7339 static void SetPrototype(Handle<JSFunction> function, 7333 static void SetPrototype(Handle<JSFunction> function,
7340 Handle<Object> value); 7334 Handle<Object> value);
7341 static void SetInstancePrototype(Handle<JSFunction> function, 7335 static void SetInstancePrototype(Handle<JSFunction> function,
7342 Handle<Object> value); 7336 Handle<Object> value);
7343 7337
7344 // After prototype is removed, it will not be created when accessed, and 7338 // After prototype is removed, it will not be created when accessed, and
7345 // [[Construct]] from this function will not be allowed. 7339 // [[Construct]] from this function will not be allowed.
7346 bool RemovePrototype(); 7340 bool RemovePrototype();
7347 7341
7348 // Accessor for this function's initial map's [[class]]
7349 // property. This is primarily used by ECMA native functions. This
7350 // method sets the class_name field of this function's initial map
7351 // to a given value. It creates an initial map if this function does
7352 // not have one. Note that this method does not copy the initial map
7353 // if it has one already, but simply replaces it with the new value.
7354 // Instances created afterwards will have a map whose [[class]] is
7355 // set to 'value', but there is no guarantees on instances created
7356 // before.
7357 void SetInstanceClassName(String* name);
7358
7359 // Returns if this function has been compiled to native code yet. 7342 // Returns if this function has been compiled to native code yet.
7360 inline bool is_compiled(); 7343 inline bool is_compiled();
7361 7344
7362 // Returns `false` if formal parameters include rest parameters, optional
7363 // parameters, or destructuring parameters.
7364 // TODO(caitp): make this a flag set during parsing
7365 inline bool has_simple_parameters();
7366
7367 // [next_function_link]: Links functions into various lists, e.g. the list 7345 // [next_function_link]: Links functions into various lists, e.g. the list
7368 // of optimized functions hanging off the native_context. The CodeFlusher 7346 // of optimized functions hanging off the native_context. The CodeFlusher
7369 // uses this link to chain together flushing candidates. Treated weakly 7347 // uses this link to chain together flushing candidates. Treated weakly
7370 // by the garbage collector. 7348 // by the garbage collector.
7371 DECL_ACCESSORS(next_function_link, Object) 7349 DECL_ACCESSORS(next_function_link, Object)
7372 7350
7373 // Prints the name of the function using PrintF. 7351 // Prints the name of the function using PrintF.
7374 void PrintName(FILE* out = stdout); 7352 void PrintName(FILE* out = stdout);
7375 7353
7376 DECLARE_CAST(JSFunction) 7354 DECLARE_CAST(JSFunction)
(...skipping 3424 matching lines...) Expand 10 before | Expand all | Expand 10 after
10801 // (elements + properties) in the current level. 10779 // (elements + properties) in the current level.
10802 int levelLength_ = 0; 10780 int levelLength_ = 0;
10803 10781
10804 DISALLOW_COPY_AND_ASSIGN(KeyAccumulator); 10782 DISALLOW_COPY_AND_ASSIGN(KeyAccumulator);
10805 }; 10783 };
10806 10784
10807 } // NOLINT, false-positive due to second-order macros. 10785 } // NOLINT, false-positive due to second-order macros.
10808 } // NOLINT, false-positive due to second-order macros. 10786 } // NOLINT, false-positive due to second-order macros.
10809 10787
10810 #endif // V8_OBJECTS_H_ 10788 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/isolate.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698