platform/upstream/coreclr.git
8 years agoFix wrong codegen for comparing 16-bit unsigned values
Sejong Oh [Thu, 7 Jan 2016 23:41:10 +0000 (15:41 -0800)]
Fix wrong codegen for comparing 16-bit unsigned values

The changes fix a bug generating 16-bit signed comparison code to
compare unsigned 16-bit values.

8 years agoMerge pull request #2546 from AndyAyersMS/InlineTestCleanup
Jan Kotas [Thu, 7 Jan 2016 01:54:53 +0000 (17:54 -0800)]
Merge pull request #2546 from AndyAyersMS/InlineTestCleanup

Remove some redundant inlining tests

8 years agoMerge pull request #2529 from janvorli/fix-osx-build-with-new-cmake
Jan Vorlicek [Thu, 7 Jan 2016 01:40:46 +0000 (02:40 +0100)]
Merge pull request #2529 from janvorli/fix-osx-build-with-new-cmake

Fix build on OSX with CMake version >= 3.4

8 years agoMerge pull request #2543 from janvorli/fix-div-0-ovf-detection
Jan Kotas [Thu, 7 Jan 2016 01:35:22 +0000 (17:35 -0800)]
Merge pull request #2543 from janvorli/fix-div-0-ovf-detection

Fix div by zero or overflow detection on Unix

8 years agoRemove some redundant inlining tests
Andy Ayers [Wed, 6 Jan 2016 22:46:33 +0000 (14:46 -0800)]
Remove some redundant inlining tests

8 years agoFix div by zero or overflow detection on Unix
Jan Vorlicek [Wed, 6 Jan 2016 20:47:29 +0000 (21:47 +0100)]
Fix div by zero or overflow detection on Unix

This change fixes a bug in the code that detects whether a division error
is a division by zero or arithmetic overflow. The code was incorrectly
handling instructions with the SIB byte, since the rm was or-ed with the
rex_r bit even for the case when there was a SIB byte, which in case
where the rex_r was set made it miss the SIB byte.

8 years agoMerge pull request #2542 from wtgodbe/nightly2
William Godbe [Wed, 6 Jan 2016 18:32:42 +0000 (10:32 -0800)]
Merge pull request #2542 from wtgodbe/nightly2

Fixed build step, Priority 1 tests should now run nightly for OSX/Linux

8 years agoOne more fix for nightly run
William Godbe [Wed, 6 Jan 2016 18:23:37 +0000 (10:23 -0800)]
One more fix for nightly run

8 years agoMerge pull request #2533 from kyulee1/ildasmfix
Kyungwoo Lee [Wed, 6 Jan 2016 01:28:25 +0000 (17:28 -0800)]
Merge pull request #2533 from kyulee1/ildasmfix

Fix buffer overrun and _atoi64 in ildasm

8 years agoFix buffer overrun and _atoi64 in ildasm
Kyungwoo Lee [Tue, 5 Jan 2016 19:20:35 +0000 (11:20 -0800)]
Fix buffer overrun and _atoi64 in ildasm

PrettyPrintSigature allocates only 16 byte char array for prefix name, but the input string was synthesized from an 64 bit address -- szVarPrefix or szArgPrefix.
The maximum number of decimal digits for 64 bit value is 21, which overflows the allocated buffer.
Note actually ildasm even prepends '@' and appends '0' for the prefix name.
The fix is to declare MAX_PREFIX_SIZE as 32 and use it everywhere for the purpose.

This also fixes '_atoi64' which actually returns 32 bit value using '{PAL_}atol' in Unix.
Instead, I imports 'atoll' for the use of '_atoi64', which correctly converts string to 64 bit integer.

8 years agoMerge pull request #2530 from pgavlin/ImportJITTests
Pat Gavlin [Tue, 5 Jan 2016 20:40:13 +0000 (12:40 -0800)]
Merge pull request #2530 from pgavlin/ImportJITTests

Port more JIT tests.

8 years agoFix build on OSX with CMake version >= 3.4
Jan Vorlicek [Tue, 5 Jan 2016 15:03:57 +0000 (16:03 +0100)]
Fix build on OSX with CMake version >= 3.4

The new CMake version 3.4 has split <FLAGS> into <FLAGS> <INCLUDES>, so the
assembler invocation was not passing include paths anymore.
This fix adds the <INCLUDES> to the CMAKE_ASM_COMPILE_OBJECT variable
in the root CMakeLists.txt.

8 years agoMerge pull request #2516 from wtgodbe/nightly2
William Godbe [Tue, 5 Jan 2016 18:55:38 +0000 (10:55 -0800)]
Merge pull request #2516 from wtgodbe/nightly2

Fixed build step, Priority 1 tests should now run nightly for OSX/Linux

8 years agoMerge pull request #2491 from AndyAyersMS/LinqBenchmark
Andy Ayers [Tue, 5 Jan 2016 18:52:37 +0000 (10:52 -0800)]
Merge pull request #2491 from AndyAyersMS/LinqBenchmark

Add a simple set of Linq benchmarks

8 years agoPort more JIT tests.
Pat Gavlin [Tue, 5 Jan 2016 00:58:07 +0000 (16:58 -0800)]
Port more JIT tests.

Most of these tests were blocked on unnecessary usage
of SerializableAttribute and Environment.ExitCode.

8 years agoMerge pull request #1944 from JohnChen0/crossgen
John Chen [Tue, 5 Jan 2016 16:17:41 +0000 (08:17 -0800)]
Merge pull request #1944 from JohnChen0/crossgen

Improve crossgen error when mscorlib is missing (issue 1889)

8 years agoMerge pull request #2528 from janvorli/fix-docker-hang
Jan Kotas [Tue, 5 Jan 2016 16:02:36 +0000 (08:02 -0800)]
Merge pull request #2528 from janvorli/fix-docker-hang

Fix exception tracker popping in a corner case

8 years agoMerge pull request #2521 from kyulee1/fixlong
Kyungwoo Lee [Tue, 5 Jan 2016 14:42:47 +0000 (06:42 -0800)]
Merge pull request #2521 from kyulee1/fixlong

Fix bad-codegen from ilasm

8 years agoFix exception tracker popping in a corner case
Jan Vorlicek [Tue, 5 Jan 2016 10:09:53 +0000 (11:09 +0100)]
Fix exception tracker popping in a corner case

This change fixes exception tracker popping in case a managed exception is handled in
the CoreCLR native code. The current exception tracker has an empty scanned stack
range in that case and the existing code in the ExceptionTracker::PopTrackers was
skipping the popping in such case, considering it a case when an exception happened
while the exception tracker was being setup.
Adding check that the tracker is in the first pass to that condition fixes the problem,
since when the tracker is in the second pass, it cannot be the case in which the PopTrackers
wanted to skip the popping.
The tracker is then popped correctly in the code below.

I have also reverted a fix for the exception from filter which was conflicting with this
fix and this fix fixes the problem of the exception from filter too.

8 years agoImprove crossgen error when mscorlib is missing (issue 1889)
John Chen (JOCHEN7) [Thu, 29 Oct 2015 21:15:37 +0000 (14:15 -0700)]
Improve crossgen error when mscorlib is missing (issue 1889)

When mscorlib is missing, crossgen reports a "file not found" error,
without indicating which file is missing. This makes it hard to discover
the actual error. This commit improves error reporting in such cases.

8 years agoMerge pull request #2523 from jkotas/r2r_gettype
Jan Kotas [Tue, 5 Jan 2016 04:57:14 +0000 (20:57 -0800)]
Merge pull request #2523 from jkotas/r2r_gettype

Fix compilation of Object.GetType intrinsic in ReadyToRun mode

8 years agoMerge pull request #2446 from jashook/legacy_backend_excludes
Jan Kotas [Tue, 5 Jan 2016 03:30:29 +0000 (19:30 -0800)]
Merge pull request #2446 from jashook/legacy_backend_excludes

Add x86 legacy backend exclusions.

8 years agoMerge pull request #2506 from mikedn/staticwalk
Jan Kotas [Tue, 5 Jan 2016 03:27:31 +0000 (19:27 -0800)]
Merge pull request #2506 from mikedn/staticwalk

Make JIT's fgWalk*Rec functions static

8 years agoFix compilation of Object.GetType intrinsic in ReadyToRun mode
Jan Kotas [Mon, 4 Jan 2016 23:15:40 +0000 (15:15 -0800)]
Fix compilation of Object.GetType intrinsic in ReadyToRun mode

In ReadyToRun mode, the method entrypoint to call is always given to the JIT via getCallInfo. GenTreeIntrinsic was dropping this entrypoint that caused methods that use Object.GetType intrinsics to fail to compile in ReadyToRun mode. It is a fatal error in CoreRT because of there is no fallback to JIT at runtime.

The fix is to pass this entrypoint around in GenTreeIntrinsic.

Added a test case in the ReadyToRun unit test.

8 years agoAdd a simple set of Linq benchmarks
Andy Ayers [Wed, 30 Dec 2015 21:50:23 +0000 (13:50 -0800)]
Add a simple set of Linq benchmarks

8 years agoFix bad-codegen from ilasm
Kyungwoo Lee [Mon, 4 Jan 2016 21:37:08 +0000 (13:37 -0800)]
Fix bad-codegen from ilasm

Switch target should be 4 byte instead of 8 byte.
In Windows, size of long is same as size of int which is 4 byte, but this is 8 byte in Unix.

8 years agoFixed build for Pri1
William Godbe [Mon, 4 Jan 2016 17:57:26 +0000 (09:57 -0800)]
Fixed build for Pri1

8 years agoMerge pull request #2474 from gkhanna79/FixArm64
Gaurav Khanna [Mon, 4 Jan 2016 17:32:26 +0000 (09:32 -0800)]
Merge pull request #2474 from gkhanna79/FixArm64

Arm64 build fixes

8 years agoMerge pull request #2513 from taylorjonl/call-to-sqrt-is-ambiguous
Jan Kotas [Mon, 4 Jan 2016 12:25:43 +0000 (04:25 -0800)]
Merge pull request #2513 from taylorjonl/call-to-sqrt-is-ambiguous

Fix "call to 'sqrt' is ambiguous" error when building on SunOS

8 years agoFix "call to 'sqrt' is ambiguous" error when building on SunOS
Jonathan Taylor [Mon, 4 Jan 2016 07:12:24 +0000 (07:12 +0000)]
Fix "call to 'sqrt' is ambiguous" error when building on SunOS

Building on SunOS will fail with the message of "call to 'sqrt' is
ambiguous" because it can't determine the type of the constant value
passed to it. This change adds a cast to a double because every usage
uses this data type

8 years agoMerge pull request #2461 from LLITCHEV/GetTypeIntrinsic
Lubomir Litchev [Mon, 4 Jan 2016 04:26:40 +0000 (20:26 -0800)]
Merge pull request #2461 from LLITCHEV/GetTypeIntrinsic

Fix a bug in morphing GT_COMMA with op1 being the new GetType() intriā€¦

8 years agoMerge pull request #2505 from mikedn/deadcode
Jan Kotas [Mon, 4 Jan 2016 00:54:32 +0000 (16:54 -0800)]
Merge pull request #2505 from mikedn/deadcode

Remove dead code from JIT's earlyprop.cpp

8 years agoMerge pull request #2504 from mikedn/4044again
Jan Kotas [Mon, 4 Jan 2016 00:14:23 +0000 (16:14 -0800)]
Merge pull request #2504 from mikedn/4044again

Fix LNK4044 again

8 years agoMerge pull request #2503 from mikedn/4221again
Jan Kotas [Mon, 4 Jan 2016 00:13:11 +0000 (16:13 -0800)]
Merge pull request #2503 from mikedn/4221again

Disable LNK4221 again

8 years agoMerge pull request #2498 from taylorjonl/smartos
Jan Kotas [Mon, 4 Jan 2016 00:12:21 +0000 (16:12 -0800)]
Merge pull request #2498 from taylorjonl/smartos

Fixed issue where files in /opt/local/include are not found and LTTng is required on SmartOS

8 years agoMerge pull request #2496 from kyulee1/round2
Jan Kotas [Mon, 4 Jan 2016 00:10:41 +0000 (16:10 -0800)]
Merge pull request #2496 from kyulee1/round2

Enable ilasm round trip test for xPlatforms

8 years agoFix a bug in morphing GT_COMMA with op1 being the new GetType() intrinsic.
Lubomir Litchev [Wed, 23 Dec 2015 19:28:44 +0000 (11:28 -0800)]
Fix a bug in morphing GT_COMMA with op1 being the new GetType() intrinsic.

The GetType intrinsic is side effect free and the morphing of GT_COMMA is
optimizing out side effect free op1a. The native implementation of GetType
- NativeObject::GetClass - can throw NullReferenceException and such
optimizing the call out is illegal in such case. Also added GTF_EXCEPT
to the intrinsic node to note the other optimizers that the call can
throw an exception.

The coreclr and corefx tests passed. Also minimal, correct asmdifs. The
daily tests passed as well.

8 years agoMake JIT's fgWalk*Rec functions static
Mike Danes [Sun, 3 Jan 2016 16:52:57 +0000 (18:52 +0200)]
Make  JIT's fgWalk*Rec functions static

The compiler object is already available via  fgWalkData and is only needed in debug builds to call gtDispTree. Given that these are recursive functions and have many callsites it seems useful to minimize the number of function parameters.

8 years agoRemove dead code from JIT's earlyprop.cpp
Mike Danes [Sun, 3 Jan 2016 15:40:23 +0000 (17:40 +0200)]
Remove dead code from JIT's earlyprop.cpp

8 years agoFix LNK4044 again
Mike Danes [Sun, 3 Jan 2016 15:16:50 +0000 (17:16 +0200)]
Fix LNK4044 again

This was fixed in #2310 and the fix was accidentally reverted in #2244 and #2425

8 years agoDisable LNK4221 again
Mike Danes [Sun, 3 Jan 2016 11:28:30 +0000 (13:28 +0200)]
Disable LNK4221 again

Linker warning 4221 was disabled in #2320 and was accidentally reenabled in #2244

8 years agoFixed issue where CMAKE couldn't identify SunOS processor type
Jonathan Taylor [Fri, 1 Jan 2016 19:48:43 +0000 (19:48 +0000)]
Fixed issue where CMAKE couldn't identify SunOS processor type

8 years agoEnable ilasm round trip test for xPlatforms
Kyungwoo Lee [Fri, 1 Jan 2016 14:25:29 +0000 (06:25 -0800)]
Enable ilasm round trip test for xPlatforms

1. Enable CLRTest.Execute.Bash.targets similar to CLRTest.Execute.Batch.targets.
2. _IlasmSwitches uses '-' instead of '/'
3. Disable optimization on the prebuilt asmparse.c due to https://github.com/dotnet/coreclr/issues/2305

8 years agoFixed issue where files in /opt/local/include on SunOS
Jonathan Taylor [Fri, 1 Jan 2016 03:41:31 +0000 (03:41 +0000)]
Fixed issue where files in /opt/local/include on SunOS
Modified to not require LTTng on SunOS

8 years agoMerge pull request #2497 from wtgodbe/nightly2
William Godbe [Thu, 31 Dec 2015 23:52:57 +0000 (15:52 -0800)]
Merge pull request #2497 from wtgodbe/nightly2

Priority 1 tests for OSX & Linux x64 Release builds should now run daily (fixed)

8 years agoMerge pull request #2494 from ramarag/incremenatal_build
Rama krishnan Raghupathy [Thu, 31 Dec 2015 23:41:37 +0000 (15:41 -0800)]
Merge pull request #2494 from ramarag/incremenatal_build

Enable Incremental build

8 years agomessage
William Godbe [Thu, 31 Dec 2015 21:48:49 +0000 (13:48 -0800)]
message

8 years agoMerge pull request #2495 from AndyAyersMS/LockJson
Aditya Mandaleeka [Thu, 31 Dec 2015 21:28:27 +0000 (13:28 -0800)]
Merge pull request #2495 from AndyAyersMS/LockJson

Actually lock the project.lock.json

8 years ago Enable Incremental build For Generated Files
Rama Krishnan Raghupathy [Thu, 31 Dec 2015 04:16:02 +0000 (20:16 -0800)]
 Enable Incremental build For Generated Files

8 years agoDisable serialization benchmarks for non-windows
Andy Ayers [Thu, 31 Dec 2015 20:30:47 +0000 (12:30 -0800)]
Disable serialization benchmarks for non-windows

Temporarily disable these until we can sort out what goes wrong on some of the test machines.

8 years agoMerge pull request #2487 from kyulee1/round
Kyungwoo Lee [Thu, 31 Dec 2015 19:55:33 +0000 (11:55 -0800)]
Merge pull request #2487 from kyulee1/round

Enable ildasm/ilasm round trip testing

8 years agoActually lock the project.lock.json
Andy Ayers [Thu, 31 Dec 2015 19:25:28 +0000 (11:25 -0800)]
Actually lock the project.lock.json

Hopefully this clears up some test issues on ubuntu with the serialization benchmarks.

8 years agoEnable ilasm round trip testing
Kyungwoo Lee [Wed, 30 Dec 2015 05:31:47 +0000 (21:31 -0800)]
Enable ilasm round trip testing

This enables ilasm round-trip testing for Windows.
In order to test il{d}asm on xPlatforms, I injected ilasm round trip before executing the test.
This means this step is a part of the runtest not the buildtest -- unlike runtest, currently buildtest is only on Windows.
1. Test batch file is extended to run ildasm followed by ilasm.
2. BuildTest has now an optional flag "ilasmroundtrip" to enable the round-trip tests. Note under this flag, we run both the original binary and the round-trip binary respectively.
3. Test timeout is increased since the round-trip is part of runtime.
4. Did some clean-up on CLRTest.Execute.Batch.targets
5. Bail out the round-trip tests that are built against mscorlib instead of .Net Core.
6. Added /raweh to ildasm due to https://github.com/dotnet/coreclr/issues/2481
7. ilasmroundtrip.targets (~10 tests) are added to enable them by default in a regular test run.

Tested with enabling the entire tests (>5K tests) with 'ilasmroundtrip' on, which should be on in a daily or weekly stress mode.

8 years agoMerge pull request #2493 from dotnet-bot/from-tfs
Jan Kotas [Thu, 31 Dec 2015 00:46:40 +0000 (16:46 -0800)]
Merge pull request #2493 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoAdd .gitmirrorall directive
Jan Kotas [Thu, 31 Dec 2015 00:18:35 +0000 (16:18 -0800)]
Add .gitmirrorall directive

[tfs-changeset: 1560604]

8 years agoMerge pull request #2490 from wtgodbe/nightly2
William Godbe [Wed, 30 Dec 2015 22:35:22 +0000 (14:35 -0800)]
Merge pull request #2490 from wtgodbe/nightly2

Priority 1 tests should run nightly for OSX and Linux

8 years agoPriority 1 tests should run nightly
William Godbe [Wed, 30 Dec 2015 20:23:22 +0000 (12:23 -0800)]
Priority 1 tests should run nightly

8 years agoIncorporate PR feedback
Gaurav Khanna (CLR) [Wed, 30 Dec 2015 06:55:12 +0000 (22:55 -0800)]
Incorporate PR feedback

8 years agoMerge pull request #2464 from ramarag/event_logging_automation
Rama krishnan Raghupathy [Wed, 30 Dec 2015 03:38:16 +0000 (19:38 -0800)]
Merge pull request #2464 from ramarag/event_logging_automation

Automating Event Logging Infrastructure

8 years agoMerge pull request #2456 from AndyAyersMS/SerializeBenchmark
Andy Ayers [Tue, 29 Dec 2015 23:52:02 +0000 (15:52 -0800)]
Merge pull request #2456 from AndyAyersMS/SerializeBenchmark

Simple serialization benchmarks

8 years agoMerge pull request #2476 from kyulee1/ilasmpermission
Kyungwoo Lee [Tue, 29 Dec 2015 21:21:44 +0000 (13:21 -0800)]
Merge pull request #2476 from kyulee1/ilasmpermission

Using ilasm for test population

8 years agoSimple deserialization benchmarks
Andy Ayers [Wed, 23 Dec 2015 22:30:11 +0000 (14:30 -0800)]
Simple deserialization benchmarks

As with the simple serialization benchmarks, these tests are intended to stress aspects jit code quality and are not meant to compare various deserialization approaches.

8 years agoSimple serialization benchmarks
Andy Ayers [Tue, 22 Dec 2015 23:20:34 +0000 (15:20 -0800)]
Simple serialization benchmarks

Benchmarking a few serialization methods. Not really trying to compare them, just setting things up to see how well the JIT does at each.

8 years agoMerge pull request #2477 from kyulee1/wrapper
Kyungwoo Lee [Tue, 29 Dec 2015 18:22:03 +0000 (10:22 -0800)]
Merge pull request #2477 from kyulee1/wrapper

Common Globals for TestWrapper

8 years agoMerge pull request #2475 from kyulee1/fixilasm
Kyungwoo Lee [Tue, 29 Dec 2015 18:18:25 +0000 (10:18 -0800)]
Merge pull request #2475 from kyulee1/fixilasm

Fix assertion in ilasm

8 years agoCommon Globals for TestWrapper
Kyungwoo Lee [Tue, 29 Dec 2015 00:09:20 +0000 (16:09 -0800)]
Common Globals for TestWrapper

Individual test in test wrapper initializes and gets the same globals from environment variables.
This increases not only wrapper size but also runtime overhead when running multiple tests.
This refactors this common part out as _Globals so that each test just accesses it.

8 years agoAutomating Event Logging Infrastructure: With this change the infrastructure required...
Rama [Tue, 22 Dec 2015 03:26:52 +0000 (19:26 -0800)]
Automating Event Logging Infrastructure: With this change the infrastructure required for Event Logging
will be generated as part of build

8 years agoUsing ilasm for test population
Kyungwoo Lee [Thu, 24 Dec 2015 14:51:55 +0000 (06:51 -0800)]
Using ilasm for test population

This enables the use of ilasm from CoreCLR build to populate il tests instead of using a stock ilasm on Windows desktop.
Note currently we populate tests (even for xPlatforms) on Windows only.
But when we migrate this test population on xPlatforms, this can be simply used as well.
All permission related attributes are dropped which CoreCLR ignores anyhow. Or ilasm will fail to parse such attributes.

8 years agoFix assertion in ilasm
Kyungwoo Lee [Thu, 24 Dec 2015 14:51:55 +0000 (06:51 -0800)]
Fix assertion in ilasm

This is a simple fix for incorrect assertion.
Assertion location is changed and dwErrorIndex is zero-initialized.
ilasm on coreclr does not handle permission set/security attribute which coreclr does not support.
So, such attempt will end up with emitting error on coreclr instead of failing to assert.

8 years agoArm64 build fixes
Gaurav Khanna (CLR) [Mon, 28 Dec 2015 21:39:04 +0000 (13:39 -0800)]
Arm64 build fixes

8 years agoMerge pull request #2471 from dotnet-bot/from-tfs
Jan Kotas [Sat, 26 Dec 2015 05:01:09 +0000 (21:01 -0800)]
Merge pull request #2471 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFix build break in internal arm64 build
Jan Kotas [Sat, 26 Dec 2015 02:19:29 +0000 (18:19 -0800)]
Fix build break in internal arm64 build

[tfs-changeset: 1559946]

8 years agoMerge pull request #2469 from dotnet-bot/from-tfs
Jan Kotas [Fri, 25 Dec 2015 00:35:51 +0000 (16:35 -0800)]
Merge pull request #2469 from dotnet-bot/from-tfs

Merge changes from TFS

8 years agoFix build breaks in internal x86 and arm builds
Jan Kotas [Thu, 24 Dec 2015 22:36:47 +0000 (14:36 -0800)]
Fix build breaks in internal x86 and arm builds

[tfs-changeset: 1559929]

8 years agoFollow up fixes and cleanup for GC refactoring
Jan Kotas [Thu, 24 Dec 2015 18:39:51 +0000 (10:39 -0800)]
Follow up fixes and cleanup for GC refactoring

[tfs-changeset: 1559927]

8 years agoMerge pull request #2465 from jkotas/rename
Jan Kotas [Thu, 24 Dec 2015 14:15:55 +0000 (06:15 -0800)]
Merge pull request #2465 from jkotas/rename

Unify casing of tests\src\JIT\jit64\eh\FinallyExec

8 years agoUnify casing of tests\src\JIT\jit64\eh\FinallyExec
Jan Kotas [Thu, 24 Dec 2015 14:14:08 +0000 (06:14 -0800)]
Unify casing of tests\src\JIT\jit64\eh\FinallyExec

8 years agoMerge pull request #2244 from janvorli/gc-interface-refactoring-new
Jan Kotas [Thu, 24 Dec 2015 13:41:24 +0000 (05:41 -0800)]
Merge pull request #2244 from janvorli/gc-interface-refactoring-new

GC OS interface refactoring

8 years agoGC OS interface refactoring
Jan Vorlicek [Wed, 14 Oct 2015 01:01:25 +0000 (03:01 +0200)]
GC OS interface refactoring

This change replaces all calls of OS specific functions in the GC by a call to
a platform agnostic interface. Critical sections were abstracted too.
The logging file access was changed to use CRT functions instead of Windows specific APIs.
A "size" member was added to the card_table_info so that we can pass the right
size to the VirtualRelease method when destroying the card table.
I have also fixed a bug in the gc_heap::make_card_table error path where when VirtualCommit
failed, it called VirtualRelease with size that was not the reserved size, but
the committed size.
Other related changes
- All interlocked operations moved to Interlocked class as static methods
- Removed unused function prototypes
- Shuffled stuff in the root CMakeLists.txt to enable building the GC sample using the
  settings inherited from the root CMakeLists.txt and to clean up some things that have
  rotted over time, like the FEATURE_xxx macros not being in one alphabetically ordered
  block
- Fixed the VOLATILE_MEMORY_BARRIER macro in the gcenv.base.h
- Replaced uint32_t thread id by EEThreadId
- Removed thread handles storage (g_gc_thread) from the GC. The thread handle is closed right after the thread is launched. That allowed me to get rid of the GCThreadHandle
- Renamed the methods of the EEThreadId to be easier to understand
- Moved the gcenv.windows.cpp and gcenv.unix.cpp to the sample folder

8 years agoMerge pull request #1452 from akoeplinger/dictionary-duplicatekey
Wes Haggard [Thu, 24 Dec 2015 02:28:44 +0000 (18:28 -0800)]
Merge pull request #1452 from akoeplinger/dictionary-duplicatekey

Dictionary: include the key in the "duplicate key" exception message

8 years agoMerge pull request #2463 from kyulee1/fixinf
Kyungwoo Lee [Thu, 24 Dec 2015 00:25:40 +0000 (16:25 -0800)]
Merge pull request #2463 from kyulee1/fixinf

Fix for special number handling in ildasm

8 years agoFix for special number handling in ildasm
Kyungwoo Lee [Wed, 23 Dec 2015 21:19:57 +0000 (13:19 -0800)]
Fix for special number handling in ildasm

During the test bring-up, I noticed that _gcvt_s (CRT call) has slightly different output for special number like NAN/INF in between VS2013 and VS2015.
For instance, the former prints "1.#INF" while the latter prints "inf".
Unfortunately ildasm checks "#" to detect such case.
The fix here is to add an explicit check if string contains "inf"/"nan".

8 years agoMerge pull request #2313 from richardlford/portilasm1211
Richard L Ford [Wed, 23 Dec 2015 22:04:19 +0000 (14:04 -0800)]
Merge pull request #2313 from richardlford/portilasm1211

Port more CoreClr and Desktop JIT Selfhost ILASM tests.

8 years agoMerge pull request #2462 from mmitche/add-arm64-users
Matt Mitchell [Wed, 23 Dec 2015 20:28:02 +0000 (12:28 -0800)]
Merge pull request #2462 from mmitche/add-arm64-users

Add explicit arm64 permissions

8 years agoAdd explicit arm64 permissions
Matt Mitchell [Wed, 23 Dec 2015 20:08:56 +0000 (12:08 -0800)]
Add explicit arm64 permissions

8 years agoMerge pull request #2459 from jkotas/bogus-test
Jan Kotas [Wed, 23 Dec 2015 13:47:47 +0000 (05:47 -0800)]
Merge pull request #2459 from jkotas/bogus-test

Delete bogus test

8 years agoDelete bogus test
Jan Kotas [Wed, 23 Dec 2015 12:38:43 +0000 (04:38 -0800)]
Delete bogus test

8 years agoMerge pull request #2431 from mikedn/notestwarn
Jan Kotas [Wed, 23 Dec 2015 12:23:43 +0000 (04:23 -0800)]
Merge pull request #2431 from mikedn/notestwarn

Cleanup warnings in native test projects

8 years agoPort additional desktop tests to CoreClr
Richard L Ford [Fri, 18 Dec 2015 05:23:42 +0000 (21:23 -0800)]
Port additional desktop tests to CoreClr

Add exclusions for tests that are failing but that
we expect to be able to get working.

8 years agoMerge pull request #2455 from AndyAyersMS/FixSqMtx
Richard L Ford [Wed, 23 Dec 2015 01:40:04 +0000 (17:40 -0800)]
Merge pull request #2455 from AndyAyersMS/FixSqMtx

Reduce iterations in SqMtx

8 years agoMerge pull request #2438 from mmitche/update-readme
Matt Mitchell [Tue, 22 Dec 2015 22:04:08 +0000 (14:04 -0800)]
Merge pull request #2438 from mmitche/update-readme

Update readme with arm64 badge

8 years agoReduce iterations in SqMtx
Andy Ayers [Tue, 22 Dec 2015 19:20:57 +0000 (11:20 -0800)]
Reduce iterations in SqMtx

This test had two nested loops using `Iterations` and so ran for quite a long time. Remove the outer nest and then bump up the `Iterations` value so the test runs for about 1 second from command line and 10 seconds under xunit-performance.

8 years agoMerge pull request #2440 from mmitche/add-private-pr-trigger
Matt Mitchell [Tue, 22 Dec 2015 18:07:39 +0000 (10:07 -0800)]
Merge pull request #2440 from mmitche/add-private-pr-trigger

Add private PR trigger for arm64 windows builds

8 years agoMerge pull request #2453 from mmitche/fix-triggers
Matt Mitchell [Tue, 22 Dec 2015 18:02:41 +0000 (10:02 -0800)]
Merge pull request #2453 from mmitche/fix-triggers

Re-add missing FreeBSD PR trigger and reenable PR tests on NT

8 years agoRe-add missing FreeBSD PR trigger and reenable PR tests on NT
Matt Mitchell [Tue, 22 Dec 2015 17:52:08 +0000 (09:52 -0800)]
Re-add missing FreeBSD PR trigger and reenable PR tests on NT

8 years agoMerge pull request #2425 from erozenfeld/CheckedBuild
Jan Kotas [Tue, 22 Dec 2015 05:00:12 +0000 (21:00 -0800)]
Merge pull request #2425 from erozenfeld/CheckedBuild

Enable checked builds of CoreCLR.

8 years agoMerge pull request #2424 from erozenfeld/TailRecursionToLoopFix
Eugene Rozenfeld [Tue, 22 Dec 2015 04:27:35 +0000 (20:27 -0800)]
Merge pull request #2424 from erozenfeld/TailRecursionToLoopFix

Fix for a bug in recursive tail call to loop transformation.

8 years agoAdd x86 legacy backend exclusions.
jashook [Mon, 21 Dec 2015 23:13:19 +0000 (15:13 -0800)]
Add x86 legacy backend exclusions.

Pass this file to runtest.cmd using exclude0 or exclude.

8 years agoEnable checked builds of CoreCLR.
Eugene Rozenfeld [Wed, 16 Dec 2015 01:40:43 +0000 (17:40 -0800)]
Enable checked builds of CoreCLR.

In checked builds coreclr, mscorlib, and the test are built optimized
but assertion checking is on. This adds additional coverage (the jit is
optimizing and assertion checking is on), speeds up testing compared to debug,
and allows testing JIT stress modes.

This doesn't affect CoreFX.

Several tests are currently failing in checked configuration due to newly
discovered  bugs (JIT asserts). We didn't see these asserts in debug mode
because by default JIT is in minopt mode; we didn't see these bugs in release
mode because assertion checking is off. I will file the bugs once checked build
changes are in.

8 years agoFix for a bug in recursive tail call to loop transformation.
Eugene Rozenfeld [Sat, 19 Dec 2015 01:27:48 +0000 (17:27 -0800)]
Fix for a bug in recursive tail call to loop transformation.

The bug affects recursive tail calls where there is both a this arg and
an argument passed in outgoing arg space.

I brought over RecursiveTailCall tests and added TestStackParam test
that was a repro for the bug.