summaryrefslogtreecommitdiff
path: root/src/pal/src/init
diff options
context:
space:
mode:
authorSteve MacLean <sdmaclea.qdt@qualcommdatacenter.com>2017-06-12 17:14:12 -0400
committerMaoni Stephens <Maoni0@users.noreply.github.com>2017-06-12 14:14:12 -0700
commit0ee3b5e64a98dc71aefed2304fe4bcf7f66ca9f5 (patch)
tree8f099e2391d8990de1c7d0f4ca4c3fcae6839e4d /src/pal/src/init
parentc655981474be1d3aa0165408e5c3914c5cfc35a1 (diff)
downloadcoreclr-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.cpp57
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);