Lubomir Litchev [Sun, 10 Jan 2016 23:11:09 +0000 (15:11 -0800)]
Fix issue 2295.
Closes #2295. When creating shadow variables, copy the lvDontPromote flag
from the shadowed variable.
Andy Ayers [Fri, 8 Jan 2016 18:09:40 +0000 (10:09 -0800)]
Merge pull request #2550 from AndyAyersMS/InlineTree
Initial version of the inline tree
Pat Gavlin [Fri, 8 Jan 2016 17:08:59 +0000 (09:08 -0800)]
Merge pull request #2563 from hoyMS/Bug2452
Fix for bug 2452.
Jan Kotas [Fri, 8 Jan 2016 15:15:37 +0000 (07:15 -0800)]
Merge pull request #2573 from janvorli/fix-unlimited-stack-issue
Fix issue with unlimited stack setting
Jan Vorlicek [Fri, 8 Jan 2016 00:41:07 +0000 (01:41 +0100)]
Fix issue with unlimited stack setting
This change fixes a problem when a process stack size is set to unlimited.
In such case, the main thread stack memory range can shrink during the
process run time. But CoreCLR caches the initial stack limit value and
uses it to detect whether an object is on stack. Since the stack range is
not correct and there can be allocations in the original range of the stack,
this check sometimes fails and can cause issues.
The fix is to remember the stack top at the beginning of the scan in the
ScanContext and use it to check the object address too.
Jan Kotas [Fri, 8 Jan 2016 05:11:12 +0000 (21:11 -0800)]
Merge pull request #2567 from LLITCHEV/GetTypeIntrinsic
Fix ARM build break (Issue 2362).
Jan Kotas [Fri, 8 Jan 2016 05:10:14 +0000 (21:10 -0800)]
Merge pull request #2560 from AndyAyersMS/TestAttributionNote
Add note about attributions and licenses for 3rd-party originated tests
Jan Kotas [Fri, 8 Jan 2016 05:09:31 +0000 (21:09 -0800)]
Merge pull request #2562 from sergiy-k/gccodefix
Fix incorrect merge in gc.cpp
Stephen Toub [Fri, 8 Jan 2016 02:28:34 +0000 (21:28 -0500)]
Merge pull request #2559 from bartonjs/osx_openssl_requirements
Update OS X instructions to include upgrading OpenSSL
Stephen Toub [Fri, 8 Jan 2016 02:28:05 +0000 (21:28 -0500)]
Merge pull request #2561 from mikem8361/fixtransport
Fixed issue #5109. Console stops echoing typed keys after running coreclr.
Kyungwoo Lee [Thu, 7 Jan 2016 23:52:41 +0000 (15:52 -0800)]
Merge pull request #2557 from kyulee1/fixmessage
Fix help message in ildasm for Unix
David Mason [Thu, 7 Jan 2016 23:40:43 +0000 (15:40 -0800)]
Merge pull request #2518 from davmason/master
Merge the .Net Native and CoreCLR implementations of EventSource.
Lubomir Litchev [Thu, 7 Jan 2016 23:30:15 +0000 (15:30 -0800)]
Fix ARM build break (Issue 2362).
Remove unnecessary __cdecl modifier.
David Mason [Mon, 21 Dec 2015 23:43:42 +0000 (15:43 -0800)]
Merge the .Net Native and CoreCLR implementations of EventSource. This replaces a lot of the previous ifdefs in the ProjectN impelmentation with a partial class that is cleaner and easier to understand.
Remove some ifdefs that can be done in a better way and merge additional bug fixes that happened in the nuget package branch.
Refactor some code to eliminate ifdefs for projectN.
Refactor code so that the ProjectN support uses partial classes instead of ifdefs.
Round 2 of making sure everything compiles in CoreCLR and in ProjectN.
Add formatting to the debugger message that EventSource prints when an internal error happens.
Change null strings to be represented as empty strings in TraceLogging.
Remove some ifdefs that can be done in a better way and merge additional bug fixes that happened in the nuget package branch.
Change WriteEventString to use an anonymous struct instead of EventMessage.
Hongtao Yu [Thu, 7 Jan 2016 22:15:44 +0000 (14:15 -0800)]
Merge pull request #2552 from hoyMS/Bug2298
Fix for Bug 2298
Hongtao Yu [Thu, 7 Jan 2016 21:18:42 +0000 (13:18 -0800)]
Fix a test bug where dllexport qualifier was missing.
Sergiy Kuryata [Thu, 7 Jan 2016 20:57:53 +0000 (12:57 -0800)]
Fix incorrect merge in gc.cpp
@Maoni0 noticed that there was one place in gc.cpp that was incorrectly
merged with code from other branches. This change fixes the problem.
Mike McLaughlin [Thu, 7 Jan 2016 20:30:17 +0000 (12:30 -0800)]
Fixed issue #5109. Console stops echoing typed keys after running a coreclr program.
The DbgTransportSession/TwoWayPipe code was closing handle 0 (stdout) because the DbgTransportSession class wasn't being zero init'ed via a memset. The TwoWayPipe code initialized the pipe handles to -1. The fix is to reinitialized the TwoWayPipe by calling the constructor. Even though it is overkill also checked for 0 in the Disconnect code that closes the pipes.
Kyungwoo Lee [Thu, 7 Jan 2016 15:57:55 +0000 (07:57 -0800)]
Fix help message in ildasm for Unix
ildasm -h contains a few broken message like "[Undefined resource string ID:0xCC]"
This is because we converted .rc file to a string table and SyntaxCon() enumerate all message ids while some of ids are ifdefedd out under FEATURE_PAL.
The fix is to define all the missing ids with empty string.
And also the indention (prefixed space) are all ignored except one.
Our trick (in awk script) to extract expression ID is to iterate argument string ($i) while setting it
to empty string to effectively delete the argument.
Unfortunately this has side-effect that normalizes all spaces between arguments to one space string.
The fix is to explicitly extract string content from the original string $0.
Andy Ayers [Wed, 6 Jan 2016 17:49:23 +0000 (09:49 -0800)]
Initial version of the inline tree
Extend `inlExpLst` to to describe the full inlining tree in a method, with a
corresponding dump method.
Add a top-level tree node to serve as the root of the tree. Set this as the
inline context for all top-level expressions. Update the code that links in new
nodes when there is a successful inline to build the tree links. Since the
child list is extended by a prepend and candidates are currently visited in
lexical (increasing "local" IL offset) order, the child list ends up reversed.
The dumper prints the list entries from back to front to compensate so the tree
display reflects lexical order.
Capture IL offset to help in identifying call sites. Note this is incomplete and
offets are often missing copies of the parent's offset. Will work on improving
this subsequently.
Update the depth check to return the depth. This is currently only used in
diagnostic messages.
Remove some unused inlining-related data members from the compiler class. Cache
the `JitPrintInlinedMethods` config value and use it to dump the tree when
inlining is done, if there were any inlines.
The jit traditionally (and probably inadvertently) allowed one level of
recursive inlining. Added a test case showing how this can happen.
Because there is now a top-level inlining context, the recursion check can now
potentially detect and block these recursive inlines. Support legacy behavior
for now by setting `ixlCode` to `nullptr` in the top-level record.
This change should be no diff.
Sample output:
```
Inlines into Enumerable:Where(ref,ref):ref
[IL=3] Error:ArgumentNull(ref):ref
[IL=17] Error:ArgumentNull(ref):ref
[IL=?] WhereArrayIterator`1:.ctor(ref,ref):this
[IL=?] Iterator`1:.ctor():this
[IL=?] Object:.ctor():this
[IL=?] Environment:get_CurrentManagedThreadId():int
[IL=?] Thread:get_CurrentThread():ref
[IL=?] WhereListIterator`1:.ctor(ref,ref):this
[IL=?] Iterator`1:.ctor():this
[IL=?] Object:.ctor():this
[IL=?] Environment:get_CurrentManagedThreadId():int
[IL=?] Thread:get_CurrentThread():ref
[IL=?] WhereEnumerableIterator`1:.ctor(ref,ref):this
[IL=?] Iterator`1:.ctor():this
[IL=?] Object:.ctor():this
[IL=?] Environment:get_CurrentManagedThreadId():int
[IL=?] Thread:get_CurrentThread():ref
```
Sample showing the recursive inline:
```
Inlines into Fact:factRx(int,int,int,int):int
[IL=6] Fact:factRx(int,int,int,int):int
```
Andy Ayers [Thu, 7 Jan 2016 19:38:59 +0000 (11:38 -0800)]
Add note about attributions and licenses for 3rd-party originated tests
bartonjs [Thu, 7 Jan 2016 19:25:08 +0000 (11:25 -0800)]
Update OS X instructions to include upgrading OpenSSL
Rama krishnan Raghupathy [Thu, 7 Jan 2016 18:37:17 +0000 (10:37 -0800)]
Merge pull request #2517 from swgillespie/etw-python3
python3-ize the ETW setup scripts
Bruce Forstall [Thu, 7 Jan 2016 06:53:20 +0000 (22:53 -0800)]
Merge pull request #2541 from BruceForstall/BuildCmdCleanup
Improve and clean-up build.cmd
Hongtao Yu [Thu, 7 Jan 2016 01:59:05 +0000 (17:59 -0800)]
Fix for Bug 2298.
There is a noway assert in the lower assuming an GT_ARR_ELEM node cannot be a top expression node. This is not true. We can have a top-level GT_ARR_ELEM. For example, a function call with a parameter of GT_ARR_ELEM can end up being simplified by the inliner to single GT_ARR_ELEM node if the function has an empty body.
The fix here is to remove the assert and use the GT_ARR_ELEM as the inserting point and remove the GT_ARR_ELEM later.
Jan Kotas [Thu, 7 Jan 2016 03:07:27 +0000 (19:07 -0800)]
Merge pull request #2548 from ellismg/fix-en-us-posix-casing
Don't use Turkish casing for en-US-POSIX.
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
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
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
Matt Ellis [Wed, 6 Jan 2016 22:51:44 +0000 (14:51 -0800)]
Don't use Turkish casing for en-US-POSIX.
Previously, we were using a comparision between "i" and "I" (while
ignoring case) to figure out if we needed to do Turkish casing (on the
assumption that locales which compared i and I as non equal when
ignoring case were doing Turkish casing).
ICU Does tailoring of the en-US-POSIX locale and assigns different
primary wights to 'i' and 'I'. You can see this in the ICU Collation
Demo by looking at the raw collation elements. Different primary weights
mean they different letters, not the same letter with a difference in
casing (which is a trinary weight).
This changes the check to compare using an actual Turkish i when doing
our detection to not get confused by these cases.
Fixes #2531
Andy Ayers [Wed, 6 Jan 2016 22:46:33 +0000 (14:46 -0800)]
Remove some redundant inlining tests
Bruce Forstall [Wed, 6 Jan 2016 00:51:22 +0000 (16:51 -0800)]
Improve and clean-up build.cmd
1. Change logging verbosity so there is much, much less noise on the screen. All the build output is still logged to a .log file.
2. Add separate .wrn and .err log files to capture warning and error output.
3. Add "skipmscorlib" option to skip the mscorlib build steps.
4. Add "skipnative" option to skip the native components build steps.
5. Change the "skiptestbuild" option to "skiptests" to match build.sh. Continue accepting "skiptestbuild" for backwards compatibility.
6. Change the "skipcoreclr" option in build.sh to "skipnative" to match build.cmd. Continue accepting "skipcoreclr" for backwards compatibility.
7. Add "msbuildargs" option to pass all remaining arguments directly to msbuild.
8. Add "sequential" option to build sequentially (disable parallel builds). One use: this simplifies reading the build logs.
9. Update the Usage output to be correct, and easier to understand.
10. Regularize script output; most lines now have a "BUILD:" prefix, so you know where they are coming from.
11. Restructure and simplified the script to be more readable and easier to modify in the future.
12. Added support for setting __echo=1 to see what the script is doing, line-by-line.
13. Added additional ways to view the usage screen (-? /h -h /help -help)
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.
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
William Godbe [Wed, 6 Jan 2016 18:23:37 +0000 (10:23 -0800)]
One more fix for nightly run
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
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.
Pat Gavlin [Tue, 5 Jan 2016 20:40:13 +0000 (12:40 -0800)]
Merge pull request #2530 from pgavlin/ImportJITTests
Port more JIT tests.
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.
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
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
Sean Gillespie [Mon, 4 Jan 2016 19:15:01 +0000 (11:15 -0800)]
python3-ize the ETW setup scripts
python3-ize LTTNG generating code
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.
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)
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
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
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.
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.
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
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.
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
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.
Andy Ayers [Wed, 30 Dec 2015 21:50:23 +0000 (13:50 -0800)]
Add a simple set of Linq benchmarks
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.
William Godbe [Mon, 4 Jan 2016 17:57:26 +0000 (09:57 -0800)]
Fixed build for Pri1
Gaurav Khanna [Mon, 4 Jan 2016 17:32:26 +0000 (09:32 -0800)]
Merge pull request #2474 from gkhanna79/FixArm64
Arm64 build fixes
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
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
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ā¦
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
Jan Kotas [Mon, 4 Jan 2016 00:14:23 +0000 (16:14 -0800)]
Merge pull request #2504 from mikedn/4044again
Fix LNK4044 again
Jan Kotas [Mon, 4 Jan 2016 00:13:11 +0000 (16:13 -0800)]
Merge pull request #2503 from mikedn/4221again
Disable LNK4221 again
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
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
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.
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.
Mike Danes [Sun, 3 Jan 2016 15:40:23 +0000 (17:40 +0200)]
Remove dead code from JIT's earlyprop.cpp
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
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
Jonathan Taylor [Fri, 1 Jan 2016 19:48:43 +0000 (19:48 +0000)]
Fixed issue where CMAKE couldn't identify SunOS processor type
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
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
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)
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
William Godbe [Thu, 31 Dec 2015 21:48:49 +0000 (13:48 -0800)]
message
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
Rama Krishnan Raghupathy [Thu, 31 Dec 2015 04:16:02 +0000 (20:16 -0800)]
Enable Incremental build For Generated Files
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.
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
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.
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.
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
Jan Kotas [Thu, 31 Dec 2015 00:18:35 +0000 (16:18 -0800)]
Add .gitmirrorall directive
[tfs-changeset: 1560604]
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
William Godbe [Wed, 30 Dec 2015 20:23:22 +0000 (12:23 -0800)]
Priority 1 tests should run nightly
Gaurav Khanna (CLR) [Wed, 30 Dec 2015 06:55:12 +0000 (22:55 -0800)]
Incorporate PR feedback
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
Andy Ayers [Tue, 29 Dec 2015 23:52:02 +0000 (15:52 -0800)]
Merge pull request #2456 from AndyAyersMS/SerializeBenchmark
Simple serialization benchmarks
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
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.
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.
Kyungwoo Lee [Tue, 29 Dec 2015 18:22:03 +0000 (10:22 -0800)]
Merge pull request #2477 from kyulee1/wrapper
Common Globals for TestWrapper
Kyungwoo Lee [Tue, 29 Dec 2015 18:18:25 +0000 (10:18 -0800)]
Merge pull request #2475 from kyulee1/fixilasm
Fix assertion in ilasm
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.
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
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.
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.
Gaurav Khanna (CLR) [Mon, 28 Dec 2015 21:39:04 +0000 (13:39 -0800)]
Arm64 build fixes
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
Jan Kotas [Sat, 26 Dec 2015 02:19:29 +0000 (18:19 -0800)]
Fix build break in internal arm64 build
[tfs-changeset: 1559946]