diff options
author | Steve MacLean <sdmaclea.qdt@qualcommdatacenter.com> | 2017-06-12 17:14:12 -0400 |
---|---|---|
committer | Maoni Stephens <Maoni0@users.noreply.github.com> | 2017-06-12 14:14:12 -0700 |
commit | 0ee3b5e64a98dc71aefed2304fe4bcf7f66ca9f5 (patch) | |
tree | 8f099e2391d8990de1c7d0f4ca4c3fcae6839e4d /src/pal/src/init | |
parent | c655981474be1d3aa0165408e5c3914c5cfc35a1 (diff) | |
download | coreclr-0ee3b5e64a98dc71aefed2304fe4bcf7f66ca9f5.tar.gz coreclr-0ee3b5e64a98dc71aefed2304fe4bcf7f66ca9f5.tar.bz2 coreclr-0ee3b5e64a98dc71aefed2304fe4bcf7f66ca9f5.zip |
[Arm64/Unix] Add 64K page support (#10981)
* [Arm64/Unix] Support 64K pages
* GC move GCToOSInterface::Initialize() into InitializeGarbageCollector()
Diffstat (limited to 'src/pal/src/init')
-rw-r--r-- | src/pal/src/init/pal.cpp | 57 |
1 files changed, 23 insertions, 34 deletions
diff --git a/src/pal/src/init/pal.cpp b/src/pal/src/init/pal.cpp index 2fdafe4f8c..fea00b5ee6 100644 --- a/src/pal/src/init/pal.cpp +++ b/src/pal/src/init/pal.cpp @@ -265,17 +265,6 @@ Initialize( goto CLEANUP0; } -#if _DEBUG - // Verify that our page size is what we think it is. If it's - // different, we can't run. - if (VIRTUAL_PAGE_SIZE != getpagesize()) - { - ASSERT("VIRTUAL_PAGE_SIZE is incorrect for this system!\n" - "Change include/pal/virtual.h and clr/src/inc/stdmacros.h " - "to reflect the correct page size of %d.\n", getpagesize()); - } -#endif // _DEBUG - if (!INIT_IncreaseDescriptorLimit()) { ERROR("Unable to increase the file descriptor limit!\n"); @@ -465,28 +454,8 @@ Initialize( goto CLEANUP2; } - if (flags & PAL_INITIALIZE_SYNC_THREAD) - { - // - // Tell the synchronization manager to start its worker thread - // - palError = CPalSynchMgrController::StartWorker(pThread); - if (NO_ERROR != palError) - { - ERROR("Synch manager failed to start worker thread\n"); - goto CLEANUP5; - } - } - palError = ERROR_GEN_FAILURE; - /* initialize structured exception handling stuff (signals, etc) */ - if (FALSE == SEHInitialize(pThread, flags)) - { - ERROR("Unable to initialize SEH support\n"); - goto CLEANUP5; - } - if (FALSE == TIMEInitialize()) { ERROR("Unable to initialize TIME support\n"); @@ -508,13 +477,33 @@ Initialize( goto CLEANUP10; } + if (flags & PAL_INITIALIZE_SYNC_THREAD) + { + // + // Tell the synchronization manager to start its worker thread + // + palError = CPalSynchMgrController::StartWorker(pThread); + if (NO_ERROR != palError) + { + ERROR("Synch manager failed to start worker thread\n"); + goto CLEANUP13; + } + } + + /* initialize structured exception handling stuff (signals, etc) */ + if (FALSE == SEHInitialize(pThread, flags)) + { + ERROR("Unable to initialize SEH support\n"); + goto CLEANUP13; + } + if (flags & PAL_INITIALIZE_STD_HANDLES) { /* create file objects for standard handles */ if (!FILEInitStdHandles()) { ERROR("Unable to initialize standard file handles\n"); - goto CLEANUP13; + goto CLEANUP14; } } @@ -559,13 +548,13 @@ Initialize( /* No cleanup required for CRTInitStdStreams */ CLEANUP15: FILECleanupStdHandles(); +CLEANUP14: + SEHCleanup(); CLEANUP13: VIRTUALCleanup(); CLEANUP10: MAPCleanup(); CLEANUP6: - SEHCleanup(); -CLEANUP5: PROCCleanupInitialProcess(); CLEANUP2: free(exe_path); |