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

Side by Side Diff: src/compiler.h

Issue 8700001: Relax inlining limits for simple leaf functions (second version). (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 9 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 | Annotate | Revision Log
« no previous file with comments | « src/ast.cc ('k') | src/compiler.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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 // Strict mode - used in eager compilation. 217 // Strict mode - used in eager compilation.
218 class StrictModeFlagField: public BitField<StrictModeFlag, 4, 1> {}; 218 class StrictModeFlagField: public BitField<StrictModeFlag, 4, 1> {};
219 // Is this a function from our natives. 219 // Is this a function from our natives.
220 class IsNative: public BitField<bool, 6, 1> {}; 220 class IsNative: public BitField<bool, 6, 1> {};
221 // Is this code being compiled with support for deoptimization.. 221 // Is this code being compiled with support for deoptimization..
222 class SupportsDeoptimization: public BitField<bool, 7, 1> {}; 222 class SupportsDeoptimization: public BitField<bool, 7, 1> {};
223 // If compiling for debugging produce just full code matching the 223 // If compiling for debugging produce just full code matching the
224 // initial mode setting. 224 // initial mode setting.
225 class IsCompilingForDebugging: public BitField<bool, 8, 1> {}; 225 class IsCompilingForDebugging: public BitField<bool, 8, 1> {};
226 226
227
228 unsigned flags_; 227 unsigned flags_;
229 228
230 // Fields filled in by the compilation pipeline. 229 // Fields filled in by the compilation pipeline.
231 // AST filled in by the parser. 230 // AST filled in by the parser.
232 FunctionLiteral* function_; 231 FunctionLiteral* function_;
233 // The scope of the function literal as a convenience. Set to indicate 232 // The scope of the function literal as a convenience. Set to indicate
234 // that scopes have been analyzed. 233 // that scopes have been analyzed.
235 Scope* scope_; 234 Scope* scope_;
236 // The global scope provided as a convenience. 235 // The global scope provided as a convenience.
237 Scope* global_scope_; 236 Scope* global_scope_;
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 static bool CompileLazy(CompilationInfo* info); 303 static bool CompileLazy(CompilationInfo* info);
305 304
306 // Compile a shared function info object (the function is possibly lazily 305 // Compile a shared function info object (the function is possibly lazily
307 // compiled). 306 // compiled).
308 static Handle<SharedFunctionInfo> BuildFunctionInfo(FunctionLiteral* node, 307 static Handle<SharedFunctionInfo> BuildFunctionInfo(FunctionLiteral* node,
309 Handle<Script> script); 308 Handle<Script> script);
310 309
311 // Set the function info for a newly compiled function. 310 // Set the function info for a newly compiled function.
312 static void SetFunctionInfo(Handle<SharedFunctionInfo> function_info, 311 static void SetFunctionInfo(Handle<SharedFunctionInfo> function_info,
313 FunctionLiteral* lit, 312 FunctionLiteral* lit,
313 CompilationInfo* info,
314 bool is_toplevel, 314 bool is_toplevel,
315 Handle<Script> script); 315 Handle<Script> script);
316 316
317 #ifdef ENABLE_DEBUGGER_SUPPORT 317 #ifdef ENABLE_DEBUGGER_SUPPORT
318 static bool MakeCodeForLiveEdit(CompilationInfo* info); 318 static bool MakeCodeForLiveEdit(CompilationInfo* info);
319 #endif 319 #endif
320 320
321 static void RecordFunctionCompilation(Logger::LogEventsAndTags tag, 321 static void RecordFunctionCompilation(Logger::LogEventsAndTags tag,
322 CompilationInfo* info, 322 CompilationInfo* info,
323 Handle<SharedFunctionInfo> shared); 323 Handle<SharedFunctionInfo> shared);
324 }; 324 };
325 325
326 326
327 } } // namespace v8::internal 327 } } // namespace v8::internal
328 328
329 #endif // V8_COMPILER_H_ 329 #endif // V8_COMPILER_H_
OLDNEW
« no previous file with comments | « src/ast.cc ('k') | src/compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698