OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ppapi/native_client/src/trusted/plugin/pnacl_translate_thread.h" | 5 #include "ppapi/native_client/src/trusted/plugin/pnacl_translate_thread.h" |
6 | 6 |
7 #include <iterator> | 7 #include <iterator> |
8 | 8 |
9 #include "native_client/src/trusted/desc/nacl_desc_wrapper.h" | 9 #include "native_client/src/trusted/desc/nacl_desc_wrapper.h" |
10 #include "ppapi/cpp/var.h" | 10 #include "ppapi/cpp/var.h" |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 error_info.message()); | 179 error_info.message()); |
180 return; | 180 return; |
181 } | 181 } |
182 | 182 |
183 llc_subprocess_active_ = true; | 183 llc_subprocess_active_ = true; |
184 core->CallOnMainThread(0, | 184 core->CallOnMainThread(0, |
185 coordinator_->GetUMATimeCallback( | 185 coordinator_->GetUMATimeCallback( |
186 "NaCl.Perf.PNaClLoadTime.LoadCompiler", | 186 "NaCl.Perf.PNaClLoadTime.LoadCompiler", |
187 NaClGetTimeOfDayMicroseconds() - llc_start_time), | 187 NaClGetTimeOfDayMicroseconds() - llc_start_time), |
188 PP_OK); | 188 PP_OK); |
189 // Run LLC. | |
190 PluginReverseInterface* llc_reverse = | |
191 llc_subprocess_->service_runtime()->rev_interface(); | |
192 for (size_t i = 0; i < obj_files_->size(); i++) { | |
193 llc_reverse->AddTempQuotaManagedFile((*obj_files_)[i]->identifier()); | |
194 } | |
195 } | 189 } |
196 | 190 |
197 int64_t compile_start_time = NaClGetTimeOfDayMicroseconds(); | 191 int64_t compile_start_time = NaClGetTimeOfDayMicroseconds(); |
198 bool init_success; | 192 bool init_success; |
199 | 193 |
200 std::vector<char> split_args; | 194 std::vector<char> split_args; |
201 GetLlcCommandLine(plugin_, | 195 GetLlcCommandLine(plugin_, |
202 &split_args, | 196 &split_args, |
203 obj_files_->size(), | 197 obj_files_->size(), |
204 pnacl_options_->opt_level, | 198 pnacl_options_->opt_level, |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 "Link process could not be created: " + | 349 "Link process could not be created: " + |
356 error_info.message()); | 350 error_info.message()); |
357 return false; | 351 return false; |
358 } | 352 } |
359 ld_subprocess_active_ = true; | 353 ld_subprocess_active_ = true; |
360 core->CallOnMainThread(0, | 354 core->CallOnMainThread(0, |
361 coordinator_->GetUMATimeCallback( | 355 coordinator_->GetUMATimeCallback( |
362 "NaCl.Perf.PNaClLoadTime.LoadLinker", | 356 "NaCl.Perf.PNaClLoadTime.LoadLinker", |
363 NaClGetTimeOfDayMicroseconds() - ld_start_time), | 357 NaClGetTimeOfDayMicroseconds() - ld_start_time), |
364 PP_OK); | 358 PP_OK); |
365 PluginReverseInterface* ld_reverse = | |
366 ld_subprocess_->service_runtime()->rev_interface(); | |
367 ld_reverse->AddTempQuotaManagedFile(nexe_file_->identifier()); | |
368 } | 359 } |
369 | 360 |
370 int64_t link_start_time = NaClGetTimeOfDayMicroseconds(); | 361 int64_t link_start_time = NaClGetTimeOfDayMicroseconds(); |
371 // Run LD. | 362 // Run LD. |
372 bool success = ld_subprocess_->InvokeSrpcMethod( | 363 bool success = ld_subprocess_->InvokeSrpcMethod( |
373 "RunWithSplit", | 364 "RunWithSplit", |
374 "ihhhhhhhhhhhhhhhhh", | 365 "ihhhhhhhhhhhhhhhhh", |
375 ¶ms, | 366 ¶ms, |
376 static_cast<int>(obj_files_->size()), | 367 static_cast<int>(obj_files_->size()), |
377 ld_in_files[0]->desc(), | 368 ld_in_files[0]->desc(), |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 AbortSubprocesses(); | 442 AbortSubprocesses(); |
452 if (translate_thread_ != NULL) | 443 if (translate_thread_ != NULL) |
453 NaClThreadJoin(translate_thread_.get()); | 444 NaClThreadJoin(translate_thread_.get()); |
454 PLUGIN_PRINTF(("~PnaclTranslateThread joined\n")); | 445 PLUGIN_PRINTF(("~PnaclTranslateThread joined\n")); |
455 NaClCondVarDtor(&buffer_cond_); | 446 NaClCondVarDtor(&buffer_cond_); |
456 NaClMutexDtor(&cond_mu_); | 447 NaClMutexDtor(&cond_mu_); |
457 NaClMutexDtor(&subprocess_mu_); | 448 NaClMutexDtor(&subprocess_mu_); |
458 } | 449 } |
459 | 450 |
460 } // namespace plugin | 451 } // namespace plugin |
OLD | NEW |