dotnet-bot [Fri, 27 Feb 2015 05:33:21 +0000 (21:33 -0800)]
Add Virtual Stub Dispatch doc
Jan Kotas [Thu, 26 Feb 2015 19:05:37 +0000 (11:05 -0800)]
Merge pull request #346 from kangaroo/issue-345
Implement ExternalMethodFixupStub, VirtualMethodFixupStub and StubDispatchFixupStub for UNIX
Jan Kotas [Thu, 26 Feb 2015 19:04:38 +0000 (11:04 -0800)]
Merge pull request #351 from jkotas/gcsample
Add more comments to GCSample
Jan Kotas [Thu, 26 Feb 2015 18:29:52 +0000 (10:29 -0800)]
Merge pull request #348 from kangaroo/issue-222
[OSX] Resolve all compiler warnings in the PAL
Jan Kotas [Thu, 26 Feb 2015 18:28:54 +0000 (10:28 -0800)]
Merge pull request #347 from kangaroo/master
Fixup precode alignment issues were sorted on OSX a while back
Jan Kotas [Thu, 26 Feb 2015 18:27:06 +0000 (10:27 -0800)]
Add more comments to GCSample
Mike McLaughlin [Thu, 26 Feb 2015 17:41:41 +0000 (09:41 -0800)]
Merge pull request #338 from mikem8361/sospluginbuild1
Add check for lldb-3.5-dev package and enable lldb sos plugin build
Geoff Norton [Thu, 26 Feb 2015 08:52:42 +0000 (17:52 +0900)]
[OSX] Resolve all compiler warnings in the PAL
Remove the OSX specific implementations of GetVersion*, they relied on
deprecated functionality, and aren't really needed anywas. Unified the
behaviour with the rest of the PAL variants.
Removed the DEBUG channel from machmessage.cpp. It was unused.
Geoff Norton [Thu, 26 Feb 2015 08:41:25 +0000 (17:41 +0900)]
Fixup precode alignment issues were sorted on OSX a while back
Geoff Norton [Thu, 26 Feb 2015 08:12:49 +0000 (17:12 +0900)]
Implement ExternalMethodFixupStub, VirtualMethodFixupStub and StubDispatchFixupStub for UNIX
Jan Kotas [Thu, 26 Feb 2015 04:23:19 +0000 (20:23 -0800)]
Merge pull request #343 from jkotas/dead-stub
Delete dead code
Jan Kotas [Thu, 26 Feb 2015 03:59:28 +0000 (19:59 -0800)]
Delete dead code
Jan Kotas [Thu, 26 Feb 2015 03:41:28 +0000 (19:41 -0800)]
Merge pull request #337 from kangaroo/issue-324
Implement TheUMEntryPrestub and UMThunkStub for UNIX ABI
Geoff Norton [Tue, 24 Feb 2015 03:32:21 +0000 (12:32 +0900)]
Implement TheUMEntryPrestub and UMThunkStub for UNIX ABI
Rework all three stubs from windows calling convention to AMD64 calling convention.
Adjust all stacks to accomodate 2 additional argument registers, and 4 additional
xmm registers. Remove unneeded FEATURE_INCLUDE_ALL_INTERFACES code.
Jan Kotas [Thu, 26 Feb 2015 01:04:55 +0000 (17:04 -0800)]
Merge pull request #342 from dotnet-bot/from-tfs
Merge changes from TFS
Matt Ellis [Thu, 26 Feb 2015 00:25:54 +0000 (16:25 -0800)]
Merge pull request #341 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Thu, 26 Feb 2015 00:07:43 +0000 (16:07 -0800)]
Allow users to specify a no GC region (on behalf of maonis)
This mode lets users to specify an allocation amount for which no GCs would happen. Sometimes during the absolutely performance critical paths users have the desire to allocate without interference from the GC. If there is enough memory, GC will not kick in while this mode is set.
[tfs-changeset: 1421386]
Jan Kotas [Wed, 25 Feb 2015 23:44:01 +0000 (15:44 -0800)]
Merge pull request #340 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Wed, 25 Feb 2015 23:42:51 +0000 (15:42 -0800)]
Merge pull request #339 from lucasmeijer/fix-gc-sample
Fix gc sample
Jan Kotas [Wed, 25 Feb 2015 23:42:00 +0000 (15:42 -0800)]
Fix build break in Unix mscorlib
[tfs-changeset: 1421360]
dotnet-bot [Wed, 25 Feb 2015 22:46:31 +0000 (14:46 -0800)]
FI from $/DevDiv/FXMain to $/DevDiv/FX/Product/ProjectK **FI_LABEL=22625.00**
[tfs-changeset: 1421297]
Lucas Meijer [Wed, 25 Feb 2015 22:11:16 +0000 (14:11 -0800)]
fix indenting
Lucas Meijer [Wed, 25 Feb 2015 21:57:14 +0000 (13:57 -0800)]
use two CGCDescSeries, and fix incorrect size
Rich Lander [Wed, 25 Feb 2015 20:03:29 +0000 (12:03 -0800)]
Merge pull request #323 from david-mitchell/master
Fix miscellaneous grammar issues and perform light editing.
David Mitchell [Sun, 22 Feb 2015 22:02:16 +0000 (14:02 -0800)]
Fix grammar issues and perform light editing.
Matt Ellis [Wed, 25 Feb 2015 02:09:53 +0000 (18:09 -0800)]
Merge pull request #336 from dotnet-bot/from-tfs
Merge changes from TFS
dotnet-bot [Wed, 25 Feb 2015 00:47:43 +0000 (16:47 -0800)]
Add missing .gitmirrorall file to lldbplugin
[tfs-changeset: 1420614]
Mike McLaughlin [Tue, 24 Feb 2015 23:50:28 +0000 (15:50 -0800)]
Clean up lldb-3.5-dev package error message not to be so noisy. Uses a cached variable to only do the check and print the result once.
Matt Mitchell [Tue, 24 Feb 2015 20:53:47 +0000 (12:53 -0800)]
Merge pull request #334 from mmitche/random-fixes
Random fixes
Mike McLaughlin [Tue, 24 Feb 2015 20:32:02 +0000 (12:32 -0800)]
Merge remote-tracking branch 'upstream/master' into sospluginbuild1
Mike McLaughlin [Tue, 24 Feb 2015 20:21:59 +0000 (12:21 -0800)]
Add lldb dev package checking and enable the lldb plugin build.
Matt Mitchell [Tue, 24 Feb 2015 19:15:18 +0000 (11:15 -0800)]
Make the delta for this test += the targeted value
Stephen Toub [Tue, 24 Feb 2015 19:21:01 +0000 (14:21 -0500)]
Merge pull request #332 from stephentoub/remove_dll_exts
Remove .so extension from libcoreclr in mscorlib P/Invokes
Sergiy Kuryata [Tue, 24 Feb 2015 19:17:43 +0000 (11:17 -0800)]
Merge pull request #304 from mikem8361/soscommand1
These changes are the beginning of the SOS for coreclr under lldb.
Matt Mitchell [Tue, 24 Feb 2015 18:49:49 +0000 (10:49 -0800)]
Two random fixes
* Use uname -s on mac
* Don't print "Running ..." for pal tests (will still print failures). Cuts down on noise in output.
Mike McLaughlin [Tue, 24 Feb 2015 17:42:06 +0000 (09:42 -0800)]
Merge remote-tracking branch 'upstream/master' into soscommand1
Stephen Toub [Tue, 24 Feb 2015 17:17:47 +0000 (12:17 -0500)]
Remove .so extension from libcoreclr in mscorlib P/Invokes
Let the runtime apply the right extension based on the target platform.
Matt Mitchell [Tue, 24 Feb 2015 17:01:13 +0000 (09:01 -0800)]
Merge pull request #325 from kyulee1/switchtest
add a switch test
Stephen Toub [Tue, 24 Feb 2015 16:45:48 +0000 (11:45 -0500)]
Merge pull request #331 from stephentoub/redirect_ole32
Redirect mscorlib's ole32.dll P/Invokes to libcoreclr
Stephen Toub [Tue, 24 Feb 2015 15:23:01 +0000 (10:23 -0500)]
Redirect ole32.dll P/Invokes to libcoreclr
When FEATURE_PAL is defined, mscorlib P/Invokes to kernel32 and user32 are being redirected to libcoreclr.so (at least for now as a bring-up mechanism). However, P/Invokes to ole32.dll aren't being redirected (CoCreateGuid, CoTaskMemAlloc, etc.) even though all of the ones that are used exist in the PAL. This causes failures any time Guid.NewGuid is called, any time the StubHelpers string marshalers are used, etc.
This commit just adds ole32.dll to the set of libraries for which mscorlib redirects its P/Invokes to libcoreclr.
Kyungwoo Lee [Mon, 23 Feb 2015 20:41:16 +0000 (12:41 -0800)]
Add a switch test to cover Jit codegen.
This is a test case to cover switch expansion in Reader.
Mike McLaughlin [Tue, 24 Feb 2015 03:58:21 +0000 (19:58 -0800)]
Merge remote-tracking branch 'upstream/master' into soscommand1
Mike McLaughlin [Tue, 24 Feb 2015 03:56:59 +0000 (19:56 -0800)]
Add check for lldb-3.5-dev package and enable lldb sos plugin build.
Matt Mitchell [Tue, 24 Feb 2015 01:19:57 +0000 (17:19 -0800)]
Merge pull request #287 from mmitche/output-paths
Place binaries and intermediates in folders that include OS
Matt Mitchell [Tue, 24 Feb 2015 00:34:11 +0000 (16:34 -0800)]
Place binaries and intermediates in folders that include OS
Rework the output paths so that the OS may appear in them. This then follows the same form as corefx. This solves a number of problems:
1) When building unix mscorlib after the regular build, we would use the wrong intermediates for incremental.
2) When testing windows after building unix mscorlib we'd use the wrong outputs and fail.
This change removes our cmake directory and moves cmake generated files into intermediates (under OS/arch paths)
The reason is that the intermediates go under here when actually doing the build, and on unix based systems, we need to generate the cmake files for different builds into different directories for the purpose of preserving incremental builds.
Change clean behavior
Clean should simply delete the root binary. We also should not make assumptions about
whether necessary directories are available when we begin to build and should create them every time if
necessary.
Create directories as needed.
Mike McLaughlin [Mon, 23 Feb 2015 23:40:48 +0000 (15:40 -0800)]
Don't build the lldb plugin until we can install the lldb-3.5-dev package on the CI machines.
Rich Lander [Mon, 23 Feb 2015 23:20:50 +0000 (15:20 -0800)]
Merge pull request #320 from richlander/rich-build
Clarify Visual Studio pre-req
Stephen Toub [Mon, 23 Feb 2015 22:15:55 +0000 (17:15 -0500)]
Merge pull request #326 from stephentoub/mres_datetime
Change MRES to use DateTime.UtcNow instead of Now
Stephen Toub [Mon, 23 Feb 2015 20:44:23 +0000 (15:44 -0500)]
Change MRES to use DateTime.UtcNow instead of Now
In debug builds, ManualResetEventSlim is storing the last time that Set and Reset are called, using DateTime.Now. This in turn requires time zone information, which is currently not implemented on Unix, causing any usage of ManualResetEventSlim.Set/Reset in a debug build to throw a NotImplementedException.
This change just switches the usage to be DateTime.UtcNow instead of DateTime.Now to avoid the need for time zone information. I was tempted to remove these debug-only fields entirely, but in case someone's actually using them during debugging, doesn't seem particularly harmful to leave them.
Mike McLaughlin [Mon, 23 Feb 2015 18:09:14 +0000 (10:09 -0800)]
Merge remote-tracking branch 'upstream/master' into soscommand1
Bengu Li [Mon, 23 Feb 2015 17:32:50 +0000 (09:32 -0800)]
Merge pull request #322 from libengu/AltJitNameChange
Change alternative JIT name to LLILC
Bengu Li [Sun, 22 Feb 2015 21:28:45 +0000 (13:28 -0800)]
Allow alternative JIT configurable.
Bengu Li [Sun, 22 Feb 2015 17:45:50 +0000 (09:45 -0800)]
Change alternative JIT name to LLILC
Richard Lander [Sun, 22 Feb 2015 02:05:26 +0000 (18:05 -0800)]
Clarify Visual Studio pre-req
Jan Kotas [Sun, 22 Feb 2015 00:51:12 +0000 (16:51 -0800)]
Merge pull request #317 from janvorli/fix-cfi-annotation
Fix cfi annotation for NDirectImportThunk and JIT_RareDisableHelper
Pat Gavlin [Sun, 22 Feb 2015 00:26:43 +0000 (16:26 -0800)]
Merge pull request #319 from pgavlin/FixClangWarnings
Fix warnings generated when building with Clang on Linux.
Pat Gavlin [Sat, 21 Feb 2015 18:23:28 +0000 (10:23 -0800)]
Fix warnings generated when building with Clang on Linux.
There were three classes of warnings that needed to be fixed:
1) Warnings for unused typedefs
2) Warnings for pointer to boolena conversions that were always true
3) Warnings for taking the absolute value of unsigned values
(1) accounted for the majority of the warnings. All of these warnings
originated from macro definitions debugreturn.h, staticcontract.h,
or pal_assert.h. In the first two cases, typedefs were used as
compile-time checks to ensure certain invariants inside of method or
function bodies. These cases were addressed by using an empty member
of the typedef under an "if (0)" guard. In the third case, typedefs
were used for compile-time assertions that may appear in any location
in a source file; these have been updated to use C++11's static_assert.
(2) and (3) were much more straightforward: the former was addressed by
explicitly comparing the source pointer against NULL and the latter by
removing the offending calls to abs().
This change also contains a small update to .gitignore to ignore the
binaries directory and CMake artifacts created by build.sh.
Mike McLaughlin [Sat, 21 Feb 2015 18:53:01 +0000 (10:53 -0800)]
Merge pull request #3 from kangaroo/soscommand1-osx
OSX Support
Rich Lander [Sat, 21 Feb 2015 15:56:47 +0000 (07:56 -0800)]
Merge pull request #316 from richlander/master
Add dotnet standards doc
Jan Vorlicek [Sat, 21 Feb 2015 01:20:44 +0000 (02:20 +0100)]
Merge pull request #312 from janvorli/pal-exception-tests
Enable several PAL exception tests
Geoff Norton [Sat, 21 Feb 2015 01:16:31 +0000 (17:16 -0800)]
Fix SOS command to not break the OSX build, and be linkable against apples LLDB.framework
Jan Vorlicek [Sat, 21 Feb 2015 01:16:27 +0000 (02:16 +0100)]
Fix cfi annotation for NDirectImportThunk and JIT_RareDisableHelper
The title says all
Pat Gavlin [Sat, 21 Feb 2015 00:41:27 +0000 (16:41 -0800)]
Merge pull request #313 from pgavlin/LibUnwindCheck
Move the error that is emitted when libunwind is missing into CMake.
Rich Lander [Sat, 21 Feb 2015 00:34:40 +0000 (16:34 -0800)]
Add dotnet standards doc
Pat Gavlin [Fri, 20 Feb 2015 23:53:39 +0000 (15:53 -0800)]
Move the error that is emitted when libunwind is missing into CMake.
This provides a friendlier user experience when libunwind is not
installed, as configuration fails earlier than the build does.
Jan Vorlicek [Fri, 20 Feb 2015 23:28:15 +0000 (00:28 +0100)]
Remove duplicate check for number of exception arguments
I have added a check for the exception arguments in my last commit, but it turns
out there was already one, only in a wrong place. So the exceptionRecord.NumberParameters
was set incorrectly to the unclipped value.
Mike McLaughlin [Fri, 20 Feb 2015 23:10:11 +0000 (15:10 -0800)]
More review feedback changes. Fixed message when the sos module isn't found. Changed the plugin make file to build on OSx only if the environment vars are set. Fixed IP2MD command on windows.
Jan Vorlicek [Fri, 20 Feb 2015 23:05:06 +0000 (00:05 +0100)]
Merge pull request #308 from janvorli/exception-handling
Reimplement native exception handling for PAL
Jan Vorlicek [Fri, 20 Feb 2015 22:58:05 +0000 (23:58 +0100)]
Enable several PAL exception tests
This change enables several PAL exception tests to test the
new exception handling stuff.
Jan Vorlicek [Fri, 20 Feb 2015 22:30:54 +0000 (23:30 +0100)]
Merge pull request #310 from kangaroo/issue-307
Check for libunwind in configure
Mike McLaughlin [Fri, 20 Feb 2015 22:15:47 +0000 (14:15 -0800)]
Merge remote-tracking branch 'upstream/master' into soscommand1
Mike McLaughlin [Fri, 20 Feb 2015 22:13:03 +0000 (14:13 -0800)]
Review feedback. Fixed the sos plugin make file to use the LLDB_INCLUDE_DIR and LLDB_LIB_DIR environment variables if set. Otherwise, it assumes the lldb-3.5-dev package is installed.
Jan Vorlicek [Fri, 20 Feb 2015 21:13:24 +0000 (22:13 +0100)]
Cleanup more
I am removing few other things from the seh-unwind.cpp. First, the code that verified the
stack unwindibility actually couldn't work since in most cases, it would reach a managed
frame and then get screwed. It happened to few people in the recent past and they
were mislead into thinking that it is a problem of the coreclr unwinder.
There is no reasonable way to find out whether a frame is managed or native inside PAL,
that's why I am removign that stuff.
Also, there was now unused vectored exception handling stuff that I am also removing.
Another change is in the pal.h / pal.cpp where the type of the argv parameter was
const char **argv, which prevented passing in char** (the compiler was ok with it in C,
but failed in C++). I have changed it to const char * const *argv, which allows
passing in the char** as well.
Jan Vorlicek [Fri, 20 Feb 2015 19:19:02 +0000 (20:19 +0100)]
Add comments to PAL_TRY, PAL_EXCEPT etc.
This change just adds comments to those methods.
Geoff Norton [Fri, 20 Feb 2015 17:25:16 +0000 (09:25 -0800)]
Improve error messaging to be a bit more helpful on linux
Sergiy Kuryata [Fri, 20 Feb 2015 17:04:05 +0000 (09:04 -0800)]
Merge pull request #302 from dotnet-bot/from-tfs
Merge changes from TFS
Geoff Norton [Fri, 20 Feb 2015 16:53:55 +0000 (08:53 -0800)]
Unwind also needs _DEFAULT_SOURCE, in fact most everything does. Lets move it to toplevel
Geoff Norton [Fri, 20 Feb 2015 16:32:03 +0000 (08:32 -0800)]
Check for libunwind in configure, and setup seh-unwind to have possible other future alternatives
Jan Vorlicek [Fri, 20 Feb 2015 15:16:48 +0000 (16:16 +0100)]
Add missing dummy PAL_CheckVirtualUnwind in Release
With the previous commit, I haven't noticed that the dummy PAL_CheckVirtualUnwind() is now
missing in the release build. Adding it back.
Jan Kotas [Fri, 20 Feb 2015 14:46:36 +0000 (06:46 -0800)]
Merge pull request #309 from jkotas/deadcode
Delete dead code
Jan Vorlicek [Fri, 20 Feb 2015 14:27:55 +0000 (15:27 +0100)]
Reflect PR feedback
Remove few classes / macros from pal.h that are not used anymore.
Fix some line continuation backslash identations.
Jan Kotas [Fri, 20 Feb 2015 13:51:46 +0000 (05:51 -0800)]
Delete dead code
Jan Vorlicek [Fri, 20 Feb 2015 12:36:45 +0000 (13:36 +0100)]
Reimplement native exception handling for PAL
This change removes the preexisting exception handling in PAL that was simulating Windows
SEH using a lot of low level machinery. The only remaining part is the code that raises
the exception and that extracts the exception context information.
The PAL_TRY, PAL_EXCEPT, PAL_FINALLY, ... macros are reimplemented using plain C++ exception
handling.
Mike McLaughlin [Fri, 20 Feb 2015 04:55:14 +0000 (20:55 -0800)]
Change lldb plugin to use lldb dev package for its include and lib files.
NOTE: Now there is another pre-requisite package to install: sudo apt-get install lldb-3.5-dev
Not sure what to do for OS-X.
Wes Haggard [Fri, 20 Feb 2015 03:12:06 +0000 (19:12 -0800)]
Update README.md
Fixed broken contributing guide link.
Mike McLaughlin [Fri, 20 Feb 2015 02:35:46 +0000 (18:35 -0800)]
Merge remote-tracking branch 'upstream/master' into soscommand1
AlexGhiondea [Fri, 20 Feb 2015 01:27:59 +0000 (17:27 -0800)]
Merge pull request #294 from AlexGhiondea/localPublish
Setup the CoreCLR repo to use the LocalPackagePublish mechanism.
Mike McLaughlin [Fri, 20 Feb 2015 00:52:13 +0000 (16:52 -0800)]
Fixed Windows build for the DAC by restore the lib order back. Add the MAKEDLLNAME macros to properly format the "sos" and "mscoredaccore" library names when loaded. Cleaned up the sos command to only load the sos module once the first time the command is executed. Fixed a g_clrData ref count bug in LoadClrDebugDll.
John Chen [Thu, 19 Feb 2015 20:53:11 +0000 (12:53 -0800)]
OS bug 1704585: WoW64 breakpoint in crossgen!debugError when compiling ARMCHK
Remove call to DebugBreak when crossgen encounters a case not supported by MDIL. Such scenarios are expected in production.
Also fixed an uninitialized field in ZapperOptions, which caused some warnings from crossgen to be lost.
[tfs-changeset: 1418191]
Mike McLaughlin [Thu, 19 Feb 2015 20:46:47 +0000 (12:46 -0800)]
Merge branch 'master' into soscommand1
Mike McLaughlin [Thu, 19 Feb 2015 20:44:01 +0000 (12:44 -0800)]
Use the MAKEDLLNAME macro to properly name the dynamically loaded libraries .
Alex Ghiondea [Thu, 19 Feb 2015 00:26:30 +0000 (16:26 -0800)]
Setup the CoreCLR repo to use the LocalPackagePublish mechanism.
This will enable the 'local publish' of the CoreCLR package to a location where
it can be picked up by the CoreFx build. What this means is that you will be able
to build the CoreCLR package and use that to run the CoreFx tests on top of it.
Changes required to make this happen:
- Refactor the managed build to make sure the buildtools gets restored before
we attempt to use the targets it provides.
- Take a dependency to the Microsoft.DotNet.BuildTools to bring in the packages.targets
- Update the $(PackagesDir) to point to the <repo root>\packages to make it consistent with CoreFx
- Hook-up the LocalPackagePublish targets to the build of the CoreCLR NuGet packages
Mike McLaughlin [Thu, 19 Feb 2015 05:04:45 +0000 (21:04 -0800)]
Use environment vars to point to the lldb source and libraries. If not set, the lldb plugin doesn't compile.
LLDB_SRC_DIR - the root of the lldb source i.e. ~/linux/llvm/tools/lldb
LLVM_BUILD_DIR - the build directory where the lldb library is found.
Jan Kotas [Thu, 19 Feb 2015 03:38:20 +0000 (19:38 -0800)]
Merge pull request #271 from kangaroo/more-va_list-safety
Remove PAL_printf_arg_remover
Jan Vorlicek [Thu, 19 Feb 2015 01:08:34 +0000 (02:08 +0100)]
Merge branch 'unix_issue177'
Mike McLaughlin [Wed, 18 Feb 2015 19:55:23 +0000 (11:55 -0800)]
Ifdef out some PE specific DAC code. Still need to replace some of it with a linux specific to build/read the dac globals table.
Jan Vorlicek [Wed, 18 Feb 2015 10:36:37 +0000 (11:36 +0100)]
Reflect CR feedback
Rename VirtualUnwind in PAL to PAL_VirtualUnwind
Move .cfi annotation inside macros and update PROLOG_WITH_TRANSITION_BLOCK
to use these macros. I've verified that the annotation is correct by
stepping through the asm code and verifying that the stack trace is
correct at every instruction.
Matt Ellis [Wed, 18 Feb 2015 05:34:28 +0000 (21:34 -0800)]
Merge pull request #292 from ellismg/remove-unix-specific-encoding-workaround
Remove Unix specific hack in Encoding.GetEncoding
Sergiy Kuryata [Wed, 18 Feb 2015 04:18:09 +0000 (20:18 -0800)]
Merge pull request #289 from kangaroo/master
Fix redefine of HAVE_FTRUNCATE_LARGE_LENGTH_SUPPORT
Matt Ellis [Wed, 18 Feb 2015 03:53:41 +0000 (19:53 -0800)]
Remove Unix specific hack in Encoding.GetEncoding
During Hello World bring-up for Unix, we ran into a crash which at the
time I thought was incorrectly due to some missing support in
globalization leading to a first chance exception being thrown.
Instead the problem was that due to a JIT bug, a hashtable that the
Encodings code tried to construct was getting bad data passed to the
constructor which caused an exception to try to be thrown. The change
I provided caused the hashtable codepath to not be taken and hence
masked the issue.
Now that the JIT bug is fixed, we can remove this workaround. I
verified that HelloWorld still runs on Unix with these changes.