diff options
author | bunnei <bunneidev@gmail.com> | 2016-05-13 03:51:35 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2016-05-13 03:51:35 +0200 |
commit | 0d8bd3ba369a4a6264ba99a66dbc17e1e14e1440 (patch) | |
tree | c7341fcf893002e87fbe18b0a04b221aff46bf13 /src/core/hle/kernel/process.h | |
parent | Merge pull request #1783 from JayFoxRox/cleanup-shadersetup (diff) | |
parent | Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap. (diff) | |
download | yuzu-0d8bd3ba369a4a6264ba99a66dbc17e1e14e1440.tar yuzu-0d8bd3ba369a4a6264ba99a66dbc17e1e14e1440.tar.gz yuzu-0d8bd3ba369a4a6264ba99a66dbc17e1e14e1440.tar.bz2 yuzu-0d8bd3ba369a4a6264ba99a66dbc17e1e14e1440.tar.lz yuzu-0d8bd3ba369a4a6264ba99a66dbc17e1e14e1440.tar.xz yuzu-0d8bd3ba369a4a6264ba99a66dbc17e1e14e1440.tar.zst yuzu-0d8bd3ba369a4a6264ba99a66dbc17e1e14e1440.zip |
Diffstat (limited to 'src/core/hle/kernel/process.h')
-rw-r--r-- | src/core/hle/kernel/process.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/core/hle/kernel/process.h b/src/core/hle/kernel/process.h index a06afef2b..d781ef32c 100644 --- a/src/core/hle/kernel/process.h +++ b/src/core/hle/kernel/process.h @@ -142,8 +142,11 @@ public: MemoryRegionInfo* memory_region = nullptr; - /// Bitmask of the used TLS slots - std::bitset<300> used_tls_slots; + /// The Thread Local Storage area is allocated as processes create threads, + /// each TLS area is 0x200 bytes, so one page (0x1000) is split up in 8 parts, and each part + /// holds the TLS for a specific thread. This vector contains which parts are in use for each page as a bitmask. + /// This vector will grow as more pages are allocated for new threads. + std::vector<std::bitset<8>> tls_slots; VAddr GetLinearHeapAreaAddress() const; VAddr GetLinearHeapBase() const; |