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

Side by Side Diff: src/objects.h

Issue 21340002: Generate a custom OSR entrypoint for OSR compiles on all platforms, and transition to optimized cod… (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Remerge with recent changes. 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 1196 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698