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

Side by Side Diff: src/objects.h

Issue 702853002: Revert "Reland "Optimize function across closures."" (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.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 6769 matching lines...) Expand 10 before | Expand all | Expand 10 after
6780 inline void set_ast_node_count(int count); 6780 inline void set_ast_node_count(int count);
6781 6781
6782 inline int profiler_ticks() const; 6782 inline int profiler_ticks() const;
6783 inline void set_profiler_ticks(int ticks); 6783 inline void set_profiler_ticks(int ticks);
6784 6784
6785 // Inline cache age is used to infer whether the function survived a context 6785 // Inline cache age is used to infer whether the function survived a context
6786 // disposal or not. In the former case we reset the opt_count. 6786 // disposal or not. In the former case we reset the opt_count.
6787 inline int ic_age(); 6787 inline int ic_age();
6788 inline void set_ic_age(int age); 6788 inline void set_ic_age(int age);
6789 6789
6790 DECL_BOOLEAN_ACCESSORS(optimize_next_closure)
6791
6792 // Indicates if this function can be lazy compiled. 6790 // Indicates if this function can be lazy compiled.
6793 // This is used to determine if we can safely flush code from a function 6791 // This is used to determine if we can safely flush code from a function
6794 // when doing GC if we expect that the function will no longer be used. 6792 // when doing GC if we expect that the function will no longer be used.
6795 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation) 6793 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation)
6796 6794
6797 // Indicates if this function can be lazy compiled without a context. 6795 // Indicates if this function can be lazy compiled without a context.
6798 // This is used to determine if we can force compilation without reaching 6796 // This is used to determine if we can force compilation without reaching
6799 // the function through program execution but through other means (e.g. heap 6797 // the function through program execution but through other means (e.g. heap
6800 // iteration by the debugger). 6798 // iteration by the debugger).
6801 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation_without_context) 6799 DECL_BOOLEAN_ACCESSORS(allows_lazy_compilation_without_context)
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
7072 // the start_position_and_type field. 7070 // the start_position_and_type field.
7073 static const int kIsExpressionBit = 0; 7071 static const int kIsExpressionBit = 0;
7074 static const int kIsTopLevelBit = 1; 7072 static const int kIsTopLevelBit = 1;
7075 static const int kStartPositionShift = 2; 7073 static const int kStartPositionShift = 2;
7076 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1); 7074 static const int kStartPositionMask = ~((1 << kStartPositionShift) - 1);
7077 7075
7078 // Bit positions in compiler_hints. 7076 // Bit positions in compiler_hints.
7079 enum CompilerHints { 7077 enum CompilerHints {
7080 kAllowLazyCompilation, 7078 kAllowLazyCompilation,
7081 kAllowLazyCompilationWithoutContext, 7079 kAllowLazyCompilationWithoutContext,
7082 kOptimizeNextClosure,
7083 kOptimizationDisabled, 7080 kOptimizationDisabled,
7084 kStrictModeFunction, 7081 kStrictModeFunction,
7085 kUsesArguments, 7082 kUsesArguments,
7086 kHasDuplicateParameters, 7083 kHasDuplicateParameters,
7087 kNative, 7084 kNative,
7088 kInlineBuiltin, 7085 kInlineBuiltin,
7089 kBoundFunction, 7086 kBoundFunction,
7090 kIsAnonymous, 7087 kIsAnonymous,
7091 kNameShouldPrintAsAnonymous, 7088 kNameShouldPrintAsAnonymous,
7092 kIsFunction, 7089 kIsFunction,
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
7298 7295
7299 // Tells whether or not this function has been optimized. 7296 // Tells whether or not this function has been optimized.
7300 inline bool IsOptimized(); 7297 inline bool IsOptimized();
7301 7298
7302 // Tells whether or not this function can be optimized. 7299 // Tells whether or not this function can be optimized.
7303 inline bool IsOptimizable(); 7300 inline bool IsOptimizable();
7304 7301
7305 // Mark this function for lazy recompilation. The function will be 7302 // Mark this function for lazy recompilation. The function will be
7306 // recompiled the next time it is executed. 7303 // recompiled the next time it is executed.
7307 void MarkForOptimization(); 7304 void MarkForOptimization();
7308 void AttemptConcurrentOptimization(); 7305 void MarkForConcurrentOptimization();
7309 void MarkInOptimizationQueue(); 7306 void MarkInOptimizationQueue();
7310 7307
7311 // Tells whether or not the function is already marked for lazy 7308 // Tells whether or not the function is already marked for lazy
7312 // recompilation. 7309 // recompilation.
7313 inline bool IsMarkedForOptimization(); 7310 inline bool IsMarkedForOptimization();
7314 inline bool IsMarkedForConcurrentOptimization(); 7311 inline bool IsMarkedForConcurrentOptimization();
7315 7312
7316 // Tells whether or not the function is on the concurrent recompilation queue. 7313 // Tells whether or not the function is on the concurrent recompilation queue.
7317 inline bool IsInOptimizationQueue(); 7314 inline bool IsInOptimizationQueue();
7318 7315
(...skipping 3617 matching lines...) Expand 10 before | Expand all | Expand 10 after
10936 } else { 10933 } else {
10937 value &= ~(1 << bit_position); 10934 value &= ~(1 << bit_position);
10938 } 10935 }
10939 return value; 10936 return value;
10940 } 10937 }
10941 }; 10938 };
10942 10939
10943 } } // namespace v8::internal 10940 } } // namespace v8::internal
10944 10941
10945 #endif // V8_OBJECTS_H_ 10942 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698