OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 1445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1456 explicit PlatformData(HANDLE thread) : thread_(thread) {} | 1456 explicit PlatformData(HANDLE thread) : thread_(thread) {} |
1457 HANDLE thread_; | 1457 HANDLE thread_; |
1458 }; | 1458 }; |
1459 | 1459 |
1460 | 1460 |
1461 // Initialize a Win32 thread object. The thread has an invalid thread | 1461 // Initialize a Win32 thread object. The thread has an invalid thread |
1462 // handle until it is started. | 1462 // handle until it is started. |
1463 | 1463 |
1464 Thread::Thread() : ThreadHandle(ThreadHandle::INVALID) { | 1464 Thread::Thread() : ThreadHandle(ThreadHandle::INVALID) { |
1465 data_ = new PlatformData(kNoThread); | 1465 data_ = new PlatformData(kNoThread); |
| 1466 set_name("v8:<unknown>"); |
| 1467 } |
| 1468 |
| 1469 |
| 1470 Thread::Thread(const char* name) : ThreadHandle(ThreadHandle::INVALID) { |
| 1471 data_ = new PlatformData(kNoThread); |
| 1472 set_name(name); |
| 1473 } |
| 1474 |
| 1475 |
| 1476 void Thread::set_name(const char* name) { |
| 1477 strncpy(name_, name, sizeof(name_)); |
| 1478 name_[sizeof(name_) - 1] = '\0'; |
1466 } | 1479 } |
1467 | 1480 |
1468 | 1481 |
1469 // Close our own handle for the thread. | 1482 // Close our own handle for the thread. |
1470 Thread::~Thread() { | 1483 Thread::~Thread() { |
1471 if (data_->thread_ != kNoThread) CloseHandle(data_->thread_); | 1484 if (data_->thread_ != kNoThread) CloseHandle(data_->thread_); |
1472 delete data_; | 1485 delete data_; |
1473 } | 1486 } |
1474 | 1487 |
1475 | 1488 |
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1920 | 1933 |
1921 // Release the thread handles | 1934 // Release the thread handles |
1922 CloseHandle(data_->sampler_thread_); | 1935 CloseHandle(data_->sampler_thread_); |
1923 CloseHandle(data_->profiled_thread_); | 1936 CloseHandle(data_->profiled_thread_); |
1924 } | 1937 } |
1925 | 1938 |
1926 | 1939 |
1927 #endif // ENABLE_LOGGING_AND_PROFILING | 1940 #endif // ENABLE_LOGGING_AND_PROFILING |
1928 | 1941 |
1929 } } // namespace v8::internal | 1942 } } // namespace v8::internal |
OLD | NEW |