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

Side by Side Diff: src/objects.h

Issue 23542029: Simplify installing concurrently recompiled code. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: add stack check when calling function that is in recompile queue. Created 7 years, 3 months 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 6984 matching lines...) Expand 10 before | Expand all | Expand 10 after
6995 // Tells whether or not this function has been optimized. 6995 // Tells whether or not this function has been optimized.
6996 inline bool IsOptimized(); 6996 inline bool IsOptimized();
6997 6997
6998 // Tells whether or not this function can be optimized. 6998 // Tells whether or not this function can be optimized.
6999 inline bool IsOptimizable(); 6999 inline bool IsOptimizable();
7000 7000
7001 // Mark this function for lazy recompilation. The function will be 7001 // Mark this function for lazy recompilation. The function will be
7002 // recompiled the next time it is executed. 7002 // recompiled the next time it is executed.
7003 void MarkForLazyRecompilation(); 7003 void MarkForLazyRecompilation();
7004 void MarkForConcurrentRecompilation(); 7004 void MarkForConcurrentRecompilation();
7005 void MarkForInstallingRecompiledCode(); 7005 void MarkForInstallingRecompiledCode();
Michael Starzinger 2013/09/12 10:53:10 The implementation of MarkForInstallingRecompiledC
7006 void MarkInRecompileQueue(); 7006 void MarkInRecompileQueue();
7007 7007
7008 // Helpers to compile this function. Returns true on success, false on 7008 // Helpers to compile this function. Returns true on success, false on
7009 // failure (e.g., stack overflow during compilation). 7009 // failure (e.g., stack overflow during compilation).
7010 static bool EnsureCompiled(Handle<JSFunction> function, 7010 static bool EnsureCompiled(Handle<JSFunction> function,
7011 ClearExceptionFlag flag); 7011 ClearExceptionFlag flag);
7012 static bool CompileLazy(Handle<JSFunction> function, 7012 static bool CompileLazy(Handle<JSFunction> function,
7013 ClearExceptionFlag flag); 7013 ClearExceptionFlag flag);
7014 static Handle<Code> CompileOsr(Handle<JSFunction> function, 7014 static Handle<Code> CompileOsr(Handle<JSFunction> function,
7015 BailoutId osr_ast_id, 7015 BailoutId osr_ast_id,
7016 ClearExceptionFlag flag); 7016 ClearExceptionFlag flag);
7017 static bool CompileOptimized(Handle<JSFunction> function, 7017 static bool CompileOptimized(Handle<JSFunction> function,
7018 ClearExceptionFlag flag); 7018 ClearExceptionFlag flag);
7019 7019
7020 // Tells whether or not the function is already marked for lazy 7020 // Tells whether or not the function is already marked for lazy
7021 // recompilation. 7021 // recompilation.
7022 inline bool IsMarkedForLazyRecompilation(); 7022 inline bool IsMarkedForLazyRecompilation();
7023 inline bool IsMarkedForConcurrentRecompilation(); 7023 inline bool IsMarkedForConcurrentRecompilation();
7024 inline bool IsMarkedForInstallingRecompiledCode();
7025 7024
7026 // Tells whether or not the function is on the concurrent recompilation queue. 7025 // Tells whether or not the function is on the concurrent recompilation queue.
7027 inline bool IsInRecompileQueue(); 7026 inline bool IsInRecompileQueue();
7028 7027
7029 // Check whether or not this function is inlineable. 7028 // Check whether or not this function is inlineable.
7030 bool IsInlineable(); 7029 bool IsInlineable();
7031 7030
7032 // [literals_or_bindings]: Fixed array holding either 7031 // [literals_or_bindings]: Fixed array holding either
7033 // the materialized literals or the bindings of a bound function. 7032 // the materialized literals or the bindings of a bound function.
7034 // 7033 //
(...skipping 3212 matching lines...) Expand 10 before | Expand all | Expand 10 after
10247 } else { 10246 } else {
10248 value &= ~(1 << bit_position); 10247 value &= ~(1 << bit_position);
10249 } 10248 }
10250 return value; 10249 return value;
10251 } 10250 }
10252 }; 10251 };
10253 10252
10254 } } // namespace v8::internal 10253 } } // namespace v8::internal
10255 10254
10256 #endif // V8_OBJECTS_H_ 10255 #endif // V8_OBJECTS_H_
OLDNEW
« src/ia32/builtins-ia32.cc ('K') | « src/mips/builtins-mips.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698