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 1196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1207 V(kNoCasesLeft, "no cases left") \ | 1207 V(kNoCasesLeft, "no cases left") \ |
1208 V(kNoEmptyArraysHereInEmitFastAsciiArrayJoin, \ | 1208 V(kNoEmptyArraysHereInEmitFastAsciiArrayJoin, \ |
1209 "No empty arrays here in EmitFastAsciiArrayJoin") \ | 1209 "No empty arrays here in EmitFastAsciiArrayJoin") \ |
1210 V(kNonInitializerAssignmentToConst, \ | 1210 V(kNonInitializerAssignmentToConst, \ |
1211 "non-initializer assignment to const") \ | 1211 "non-initializer assignment to const") \ |
1212 V(kNonSmiIndex, "Non-smi index") \ | 1212 V(kNonSmiIndex, "Non-smi index") \ |
1213 V(kNonSmiKeyInArrayLiteral, "Non-smi key in array literal") \ | 1213 V(kNonSmiKeyInArrayLiteral, "Non-smi key in array literal") \ |
1214 V(kNonSmiValue, "Non-smi value") \ | 1214 V(kNonSmiValue, "Non-smi value") \ |
1215 V(kNotEnoughVirtualRegistersForValues, \ | 1215 V(kNotEnoughVirtualRegistersForValues, \ |
1216 "not enough virtual registers for values") \ | 1216 "not enough virtual registers for values") \ |
| 1217 V(kNotEnoughSpillSlotsForOsr, \ |
| 1218 "not enough spill slots for OSR") \ |
1217 V(kNotEnoughVirtualRegistersRegalloc, \ | 1219 V(kNotEnoughVirtualRegistersRegalloc, \ |
1218 "not enough virtual registers (regalloc)") \ | 1220 "not enough virtual registers (regalloc)") \ |
1219 V(kObjectFoundInSmiOnlyArray, "object found in smi-only array") \ | 1221 V(kObjectFoundInSmiOnlyArray, "object found in smi-only array") \ |
1220 V(kObjectLiteralWithComplexProperty, \ | 1222 V(kObjectLiteralWithComplexProperty, \ |
1221 "Object literal with complex property") \ | 1223 "Object literal with complex property") \ |
1222 V(kOddballInStringTableIsNotUndefinedOrTheHole, \ | 1224 V(kOddballInStringTableIsNotUndefinedOrTheHole, \ |
1223 "oddball in string table is not undefined or the hole") \ | 1225 "oddball in string table is not undefined or the hole") \ |
1224 V(kOperandIsASmiAndNotAName, "Operand is a smi and not a name") \ | 1226 V(kOperandIsASmiAndNotAName, "Operand is a smi and not a name") \ |
1225 V(kOperandIsASmiAndNotAString, "Operand is a smi and not a string") \ | 1227 V(kOperandIsASmiAndNotAString, "Operand is a smi and not a string") \ |
1226 V(kOperandIsASmi, "Operand is a smi") \ | 1228 V(kOperandIsASmi, "Operand is a smi") \ |
(...skipping 5742 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6969 void MarkForConcurrentRecompilation(); | 6971 void MarkForConcurrentRecompilation(); |
6970 void MarkForInstallingRecompiledCode(); | 6972 void MarkForInstallingRecompiledCode(); |
6971 void MarkInRecompileQueue(); | 6973 void MarkInRecompileQueue(); |
6972 | 6974 |
6973 // Helpers to compile this function. Returns true on success, false on | 6975 // Helpers to compile this function. Returns true on success, false on |
6974 // failure (e.g., stack overflow during compilation). | 6976 // failure (e.g., stack overflow during compilation). |
6975 static bool EnsureCompiled(Handle<JSFunction> function, | 6977 static bool EnsureCompiled(Handle<JSFunction> function, |
6976 ClearExceptionFlag flag); | 6978 ClearExceptionFlag flag); |
6977 static bool CompileLazy(Handle<JSFunction> function, | 6979 static bool CompileLazy(Handle<JSFunction> function, |
6978 ClearExceptionFlag flag); | 6980 ClearExceptionFlag flag); |
| 6981 static Handle<Code> CompileOsr(Handle<JSFunction> function, |
| 6982 BailoutId osr_ast_id, |
| 6983 ClearExceptionFlag flag); |
6979 static bool CompileOptimized(Handle<JSFunction> function, | 6984 static bool CompileOptimized(Handle<JSFunction> function, |
6980 BailoutId osr_ast_id, | |
6981 ClearExceptionFlag flag); | 6985 ClearExceptionFlag flag); |
6982 | 6986 |
6983 // Tells whether or not the function is already marked for lazy | 6987 // Tells whether or not the function is already marked for lazy |
6984 // recompilation. | 6988 // recompilation. |
6985 inline bool IsMarkedForLazyRecompilation(); | 6989 inline bool IsMarkedForLazyRecompilation(); |
6986 inline bool IsMarkedForConcurrentRecompilation(); | 6990 inline bool IsMarkedForConcurrentRecompilation(); |
6987 inline bool IsMarkedForInstallingRecompiledCode(); | 6991 inline bool IsMarkedForInstallingRecompiledCode(); |
6988 | 6992 |
6989 // Tells whether or not the function is on the concurrent recompilation queue. | 6993 // Tells whether or not the function is on the concurrent recompilation queue. |
6990 inline bool IsInRecompileQueue(); | 6994 inline bool IsInRecompileQueue(); |
(...skipping 3217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10208 } else { | 10212 } else { |
10209 value &= ~(1 << bit_position); | 10213 value &= ~(1 << bit_position); |
10210 } | 10214 } |
10211 return value; | 10215 return value; |
10212 } | 10216 } |
10213 }; | 10217 }; |
10214 | 10218 |
10215 } } // namespace v8::internal | 10219 } } // namespace v8::internal |
10216 | 10220 |
10217 #endif // V8_OBJECTS_H_ | 10221 #endif // V8_OBJECTS_H_ |
OLD | NEW |