OLD | NEW |
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 6948 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6959 | 6959 |
6960 // Tells whether or not this function has been optimized. | 6960 // Tells whether or not this function has been optimized. |
6961 inline bool IsOptimized(); | 6961 inline bool IsOptimized(); |
6962 | 6962 |
6963 // Tells whether or not this function can be optimized. | 6963 // Tells whether or not this function can be optimized. |
6964 inline bool IsOptimizable(); | 6964 inline bool IsOptimizable(); |
6965 | 6965 |
6966 // Mark this function for lazy recompilation. The function will be | 6966 // Mark this function for lazy recompilation. The function will be |
6967 // recompiled the next time it is executed. | 6967 // recompiled the next time it is executed. |
6968 void MarkForLazyRecompilation(); | 6968 void MarkForLazyRecompilation(); |
6969 void MarkForParallelRecompilation(); | 6969 void MarkForConcurrentRecompilation(); |
6970 void MarkForInstallingRecompiledCode(); | 6970 void MarkForInstallingRecompiledCode(); |
6971 void MarkInRecompileQueue(); | 6971 void MarkInRecompileQueue(); |
6972 | 6972 |
6973 // Helpers to compile this function. Returns true on success, false on | 6973 // Helpers to compile this function. Returns true on success, false on |
6974 // failure (e.g., stack overflow during compilation). | 6974 // failure (e.g., stack overflow during compilation). |
6975 static bool EnsureCompiled(Handle<JSFunction> function, | 6975 static bool EnsureCompiled(Handle<JSFunction> function, |
6976 ClearExceptionFlag flag); | 6976 ClearExceptionFlag flag); |
6977 static bool CompileLazy(Handle<JSFunction> function, | 6977 static bool CompileLazy(Handle<JSFunction> function, |
6978 ClearExceptionFlag flag); | 6978 ClearExceptionFlag flag); |
6979 static bool CompileOptimized(Handle<JSFunction> function, | 6979 static bool CompileOptimized(Handle<JSFunction> function, |
6980 BailoutId osr_ast_id, | 6980 BailoutId osr_ast_id, |
6981 ClearExceptionFlag flag); | 6981 ClearExceptionFlag flag); |
6982 | 6982 |
6983 // Tells whether or not the function is already marked for lazy | 6983 // Tells whether or not the function is already marked for lazy |
6984 // recompilation. | 6984 // recompilation. |
6985 inline bool IsMarkedForLazyRecompilation(); | 6985 inline bool IsMarkedForLazyRecompilation(); |
6986 inline bool IsMarkedForParallelRecompilation(); | 6986 inline bool IsMarkedForConcurrentRecompilation(); |
6987 inline bool IsMarkedForInstallingRecompiledCode(); | 6987 inline bool IsMarkedForInstallingRecompiledCode(); |
6988 | 6988 |
6989 // Tells whether or not the function is on the parallel | 6989 // Tells whether or not the function is on the concurrent recompilation queue. |
6990 // recompilation queue. | |
6991 inline bool IsInRecompileQueue(); | 6990 inline bool IsInRecompileQueue(); |
6992 | 6991 |
6993 // Check whether or not this function is inlineable. | 6992 // Check whether or not this function is inlineable. |
6994 bool IsInlineable(); | 6993 bool IsInlineable(); |
6995 | 6994 |
6996 // [literals_or_bindings]: Fixed array holding either | 6995 // [literals_or_bindings]: Fixed array holding either |
6997 // the materialized literals or the bindings of a bound function. | 6996 // the materialized literals or the bindings of a bound function. |
6998 // | 6997 // |
6999 // If the function contains object, regexp or array literals, the | 6998 // If the function contains object, regexp or array literals, the |
7000 // literals array prefix contains the object, regexp, and array | 6999 // literals array prefix contains the object, regexp, and array |
(...skipping 3183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10184 } else { | 10183 } else { |
10185 value &= ~(1 << bit_position); | 10184 value &= ~(1 << bit_position); |
10186 } | 10185 } |
10187 return value; | 10186 return value; |
10188 } | 10187 } |
10189 }; | 10188 }; |
10190 | 10189 |
10191 } } // namespace v8::internal | 10190 } } // namespace v8::internal |
10192 | 10191 |
10193 #endif // V8_OBJECTS_H_ | 10192 #endif // V8_OBJECTS_H_ |
OLD | NEW |