Skip to content

Commit a99939b

Browse files
Fix dumping of cl_cache
- change creatOsReader and constructor of RegistryReader - move body of constructors of RegistryReader from .h to .cpp Change-Id: I57cbf51a57cb1cb7f9cd2473af766a79cf2035d2
1 parent fe228ea commit a99939b

File tree

4 files changed

+16
-17
lines changed

4 files changed

+16
-17
lines changed

runtime/compiler_interface/binary_cache.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,9 @@ const std::string BinaryCache::getCachedFileName(const HardwareInfo &hwInfo, con
5353
}
5454

5555
BinaryCache::BinaryCache() {
56-
std::unique_ptr<SettingsReader> settingsReader(SettingsReader::createOsReader(CL_CACHE_LOCATION));
57-
clCacheLocation = settingsReader->getSetting(settingsReader->appSpecificLocation("cl_cache_dir"), static_cast<std::string>(CL_CACHE_LOCATION));
56+
std::string keyName = "cl_cache_dir";
57+
std::unique_ptr<SettingsReader> settingsReader(SettingsReader::createOsReader(keyName));
58+
clCacheLocation = settingsReader->getSetting(settingsReader->appSpecificLocation(keyName), static_cast<std::string>(CL_CACHE_LOCATION));
5859
};
5960

6061
BinaryCache::~BinaryCache(){};
@@ -64,7 +65,6 @@ bool BinaryCache::cacheBinary(const std::string kernelFileHash, const char *pBin
6465
return false;
6566
}
6667
std::string filePath = clCacheLocation + PATH_SEPARATOR + kernelFileHash + ".cl_cache";
67-
6868
std::lock_guard<std::mutex> lock(cacheAccessMtx);
6969
if (writeDataToFile(
7070
filePath.c_str(),

runtime/os_interface/windows/debug_registry_reader.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,15 @@ SettingsReader *SettingsReader::createOsReader(bool userScope) {
1717
return new RegistryReader(userScope);
1818
}
1919
SettingsReader *SettingsReader::createOsReader(const std::string &regKey) {
20-
return new RegistryReader(regKey);
20+
return new RegistryReader("Software\\Intel\\IGFX\\OCL\\" + regKey);
21+
}
22+
23+
RegistryReader::RegistryReader(bool userScope) {
24+
igdrclHkeyType = userScope ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE;
25+
setUpProcessName();
26+
}
27+
RegistryReader::RegistryReader(const std::string &regKey) : registryReadRootKey(regKey) {
28+
setUpProcessName();
2129
}
2230
void RegistryReader::setUpProcessName() {
2331
char buff[MAX_PATH];
@@ -75,7 +83,6 @@ std::string RegistryReader::getSetting(const char *settingName, const std::strin
7583
0,
7684
KEY_READ,
7785
&Key);
78-
7986
if (ERROR_SUCCESS == success) {
8087
DWORD regType = REG_NONE;
8188
DWORD regSize = 0;
@@ -86,7 +93,6 @@ std::string RegistryReader::getSetting(const char *settingName, const std::strin
8693
&regType,
8794
NULL,
8895
&regSize);
89-
9096
if (success == ERROR_SUCCESS && regType == REG_SZ) {
9197
char *regData = new char[regSize];
9298
success = RegQueryValueExA(Key,

runtime/os_interface/windows/registry_reader.h

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,8 @@ class RegistryReader : public SettingsReader {
1919
int32_t getSetting(const char *settingName, int32_t defaultValue) override;
2020
bool getSetting(const char *settingName, bool defaultValue) override;
2121
std::string getSetting(const char *settingName, const std::string &value) override;
22-
RegistryReader(bool userScope) {
23-
igdrclHkeyType = userScope ? HKEY_CURRENT_USER : HKEY_LOCAL_MACHINE;
24-
setUpProcessName();
25-
}
26-
RegistryReader(std::string regKey) {
27-
registryReadRootKey.append(std::string(1, PATH_SEPARATOR)).append(regKey);
28-
setUpProcessName();
29-
}
22+
RegistryReader(bool userScope);
23+
RegistryReader(const std::string &regKey);
3024
const char *appSpecificLocation(const std::string &name) override;
3125

3226
protected:

unit_tests/os_interface/windows/registry_reader_tests.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ TEST_F(RegistryReaderTest, givenRegistryReaderWhenRegKeyNotExistThenReturnDefaul
5555
}
5656

5757
TEST_F(RegistryReaderTest, givenRegistryReaderWhenItIsCreatedWithRegKeySpecifiedThenRegKeyIsInitializedAccordingly) {
58-
std::string regKey = "regKey";
59-
std::string defaultKey = "Software\\Intel\\IGFX\\OCL";
58+
std::string regKey = "Software\\Intel\\IGFX\\OCL\\regKey";
6059
TestedRegistryReader registryReader(regKey);
61-
EXPECT_STREQ((defaultKey + "\\" + regKey).c_str(), registryReader.getRegKey());
60+
EXPECT_STREQ(regKey.c_str(), registryReader.getRegKey());
6261
}

0 commit comments

Comments
 (0)