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 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 } | 199 } |
200 | 200 |
201 | 201 |
202 void OptimizingCompilerThread::InstallOptimizedFunctions() { | 202 void OptimizingCompilerThread::InstallOptimizedFunctions() { |
203 ASSERT(!IsOptimizerThread()); | 203 ASSERT(!IsOptimizerThread()); |
204 HandleScope handle_scope(isolate_); | 204 HandleScope handle_scope(isolate_); |
205 | 205 |
206 OptimizingCompiler* compiler; | 206 OptimizingCompiler* compiler; |
207 while (true) { | 207 while (true) { |
208 { LockGuard<Mutex> access_queue(&queue_mutex_); | 208 { LockGuard<Mutex> access_queue(&queue_mutex_); |
209 if (!output_queue_.Dequeue(&optimizing_compiler)) break; | 209 if (!output_queue_.Dequeue(&compiler)) break; |
210 } | 210 } |
211 Compiler::InstallOptimizedCode(compiler); | 211 Compiler::InstallOptimizedCode(compiler); |
212 } | 212 } |
213 | 213 |
214 // Remove the oldest OSR candidates that are ready so that we | 214 // Remove the oldest OSR candidates that are ready so that we |
215 // only have limited number of them waiting. | 215 // only have limited number of them waiting. |
216 if (FLAG_concurrent_osr) RemoveStaleOSRCandidates(); | 216 if (FLAG_concurrent_osr) RemoveStaleOSRCandidates(); |
217 } | 217 } |
218 | 218 |
219 | 219 |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 #ifdef DEBUG | 297 #ifdef DEBUG |
298 bool OptimizingCompilerThread::IsOptimizerThread() { | 298 bool OptimizingCompilerThread::IsOptimizerThread() { |
299 if (!FLAG_concurrent_recompilation) return false; | 299 if (!FLAG_concurrent_recompilation) return false; |
300 LockGuard<Mutex> lock_guard(&thread_id_mutex_); | 300 LockGuard<Mutex> lock_guard(&thread_id_mutex_); |
301 return ThreadId::Current().ToInteger() == thread_id_; | 301 return ThreadId::Current().ToInteger() == thread_id_; |
302 } | 302 } |
303 #endif | 303 #endif |
304 | 304 |
305 | 305 |
306 } } // namespace v8::internal | 306 } } // namespace v8::internal |
OLD | NEW |