summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-03-16Delete mscorlib facade (#10157)Jan Kotas17-14583/+10
Fixes #7607
2017-03-16Merge pull request #10177 from eerhardt/TZPosixNamesEric Erhardt1-3/+27
Support bracket enclosed names in TZ POSIX rules
2017-03-16Hide types which are now public in corefx (#10142)Rahul Kumar20-1722/+35
2017-03-15Minor fix to address ?: VC conformance improvement. (#10208)Yuriy Solodkyy2-2/+2
Visual C++ has made some conformance changes to conditional operator that will be available under /permissive- and which make the inference of result type of the conditional operator in these 2 places ambiguous. This happens because the class type in one of the arguments provides both: the constructor from and the conversion operator to T - LCWSTR here.
2017-03-15Temporarily disable flaky sleep test (#10221)Matt Mitchell2-1/+1
2017-03-15Fix Convert.FromBase64CharArray with empty array (#10224)Stephen Toub1-0/+5
2017-03-15[x86/Linux] Fix NativeCallableTest (#10060)Evgeny Pavlov2-6/+11
* [x86/Linux] Fix NativeCallableTest * Move m_cbActualArgSize adjustment outside if statement * [x86/Linux] Adjust m_cbActualArgSize in case pStubMD == NULL * [x86/Linux] Move m_cbActualArgSize calculation to #else part of '#ifdef _TARGET_X86_' * [x86/Linux] Remove redundant computations, add comments for m_cbActualArgSize meaning
2017-03-15Merge pull request #10168 from eerhardt/PortablePDBsEric Erhardt4-12/+7
Make portable PDBs on Unix instead of no symbols at all.
2017-03-15Enable use of Volatile<T> on arm64 to get correct memory consistency (#10212)Rahul Kumar1-1/+1
2017-03-15Clean up fcall.h (#10158)Jonghyun Park2-67/+72
2017-03-15Reorder stack arguments on reverse P/Invoke (#10217)Jonghyun Park4-57/+111
2017-03-15[x86/Linux] Fix IL_STUB_PInvoke with RetBuf (#10144)Hanjoung Lee4-1/+27
* [x86/Linux] Fix IL_STUB_PInvoke with RetBuf Fix calling convention and IL_STUB_PInvoke for native functions which was problematic for native functions that has a RetBuf argument(struct size <= 8) on x86/Linux. Fix #10027
2017-03-15Fix ToTitleCase Functionality for Dutch Cultures (#10195)Rion Williams1-2/+14
* Add Methods to Handle Dutch Titlecasing Added the `IsDutchCulture` and `IsIjAtCurrentPosition` methods to handle resolving a special-case for Dutch titlecasing, which should properly capitalize any instances of "IJ" at the beginning of a titlecased word. * Moved `IsDutchCase()` Call Into Local Variable Moved the check for Dutch culture outside of the title-loop to avoid unnecessary evaluations. * Performance Changes and Improvements to Dutch Titlecasing Removed `IsDutchCulture()` method in favor of an inline approach relying on the `StartsWith()` method; Remove the `IsIjAtCurrentPosition()` method in favor of another inline approach to improve performance. * Minor Formatting Change Added space for `isDutchCulture` line, as it managed to disappear somewhere along the way.
2017-03-15Change CoreCLR to use Sierra (#10173)Matt Mitchell2-1/+1
* Switch to full 10.12 * Disable query performance counter test
2017-03-15Migrate MethodBase.cs over to the shared partition. (#10202)Atsushi Kanamori5-149/+93
* Replace each member with CoreRt prose. * Lightup IsConstructedGenericMethod * Copy over CoreRt MethodBase.cs (this is now just a reordering) * Move MethodBase.cs verbative over to shared partition. * AAAAND.... it looks like this exercise exposed a bug in CoreRt. * Resolved merge conflict
2017-03-15Move System.Convert code to shared partition (#10178)Alex Perovich4-157/+203
* Move System.Convert code to shared partition * Use ReferenceEquals for type equality
2017-03-15Prepare MethodBase.cs for migration to shared partition. (#10194)Atsushi Kanamori4-188/+200
* Clone the files w/out changes. * Distill each file to its intended subset. * Minimize usings. * Renamed to *.CoreClr.cs - extended free car wash to fix the nits.
2017-03-15Support bracket enclosed names in TZ POSIX rulesEric Erhardt1-3/+27
The POSIX time zone rules at the end of a tzfile have been updated to allow digits, plus signs and minus signs in the time zone names by enclosing the name in `<` and `>` characters. TimeZoneInfo's parsing logic was written using an older version of the spec, so it didn't have support for this format. Fix https://github.com/dotnet/corefx/issues/16962
2017-03-15Replace MemberInfo.cs with the CoreRt version and move to shared partition. ↵Atsushi Kanamori5-58/+67
(#10167) * Move file verbatim. * Port over CoreRT style sans reordering. * Final replacement with CoreRt file.
2017-03-14Merge pull request #10145 from hqueue/arm/ryujit/shiftrotate_decomposed_longBruce Forstall3-15/+128
[Ryujit/ARM32] Support shift and rotate for decomposed long
2017-03-14JIT: preliminaries to improve types (#10172)Andy Ayers4-129/+342
Refactor the logic in `impDevirtualizeCall` so that the part that determines the type of a tree for ref types is now a new utility method that can be called elsewhere. Update the utility to examine calls more closely. For inline candidates that return shared types, try and use the context to get to the unshared version of the type. For calls that are not inline candidates, look at the type in the signature available to the jit w/o context. Call the utility when we've created a temp for an inlinee's argument and the argument is not modified in the inlinee body. If we already thought we knew the type of the temp exactly, ensure that this new information agrees. Rework the logic in `impDevirtualizeCall` in anticipation of interface call devirtualization. Update the diagnostic stream to indicate the kind of call devirtualized and the primary reason why devirtualization happened. Avoid fetching class and method names unless they're going to be used. Likewise try not to fetch attributes if we already have them on hand.
2017-03-14Merge pull request #9276 from benaadams/sealed-encodingsStephen Toub2-2/+13
Support Encoding devirtualization
2017-03-14Merge pull request #10152 from jashook/assert_pcodes_pcodesstart_lt_256Jarret Shook1-4/+20
[Arm64] Always add UWC_END
2017-03-14Fix tz rules (#10169)Tarek Mahmoud Sayed1-4/+8
* Fix the TZ Rule data on Linux On Linux when the caller ask for the TZ adjustment rules we convert the internal stored rule data from UTC to local time. we used to TZI.Convert which is wrong because calculating the start the daylight start time should always not include the daylight delta because we didn't start the daylight saving yet. and calculating the end of daylight should always include the daylight delta because we were in the daylight saving period. The fix here is manually calculating the start and end of the daylight saving inside the rule * Revert the comment change * Add a comment
2017-03-14Fix #9457jashook1-4/+20
To optimize code size we only added a UWC_END code if the last code in uecMem does not equal UWC_END. However, the uec codes are variable sized and allow any value to follow the code. Therefore, the value has the small possibility to equal the value of UWC_END (0x4e on arm64 and 0xFF on arm32). Which incorrectly leaves the unwind array unterminated.
2017-03-14Make portable PDBs on Unix instead of no symbols at all.Eric Erhardt4-12/+7
2017-03-13Optimize Span.Clear() on AMD64 (#10110)Xiangyang (Mark) Guo1-1/+7
* optimize Span.Clear() by using initblk
2017-03-13Merge pull request #10153 from adityamandaleeka/remove_stress_threadAditya Mandaleeka8-454/+0
Remove STRESS_THREAD
2017-03-13Merge pull request #10073 from adityamandaleeka/handle_types_to_enum_1Aditya Mandaleeka3-165/+145
Replace HNDTYPE defines with enum
2017-03-13Improve LIR dumping (#10140)Bruce Forstall6-29/+58
1. Use the LIR node dumper to display nodes to be generated by codegen, since we're in LIR form at that point. Add a new "prefix message" argument to allow "Generating: " to prefix all such lines. 2. Fix off-by-one error in LIR dump due to `#ifdef` versus `#if`. 3. Remove extra trailing line for each LIR node. This interfered with #1. But I always thought it was unnecessarily verbose; I don't believe there is any ambiguity without that extra space. 4. Add dTreeLIR()/cTreeLIR() functions for use in the debugger.
2017-03-13System.Diagnostics.Debugger.Break() should NOT be inlined. (#10151)Mike McLaughlin1-0/+1
Breaks debugger tests.
2017-03-13Add changes to emitMaxStackDepth and fgPtrArgCntMax to JitDump (#10130)Bruce Forstall5-1/+21
It is useful to see when these are changing.
2017-03-13Convert GenTree* to GenTreeCall* as much as possible (#10132)Bruce Forstall23-394/+346
This simplifies reading the code, and improves the debugging experience.
2017-03-13Merge pull request #10113 from briansull/ibc-readytorunBrian Sullivan17-65/+209
Support for IBC profiling for ReadyToRun images
2017-03-13Replace HNDTYPE defines with enum in gcinterface header.Aditya Mandaleeka3-165/+145
2017-03-13Remove STRESS_THREAD.Aditya Mandaleeka8-454/+0
2017-03-13Build Linux altjit for x86 and amd64 (#10120)Bruce Forstall23-104/+196
Enable Windows hosted, Linux target amd64 altjit With this change, we build a JIT that runs on Windows amd64 and targets Linux amd64, as an altjit named linuxnonjit.dll. This is useful for debugging, or generating asm code or diffs. You can even easily create Windows/non-Windows asm diffs (either to compare the asm, or compare the generated code size). For this to work, the JIT-EE interface method getSystemVAmd64PassStructInRegisterDescriptor() was changed to always be built in, by defining `FEATURE_UNIX_AMD64_STRUCT_PASSING_ITF` in all AMD64 builds. The `_ITF` suffix indicates that this is functionality specific to implementing the JIT-EE interface contract. There were many places in the VM that used this interchangeably with `FEATURE_UNIX_AMD64_STRUCT_PASSING`. Now, `FEATURE_UNIX_AMD64_STRUCT_PASSING` means code in the VM needed to implement this feature, but not required to implement the JIT-EE interface contract. In particular, MethodTables compute and cache the "eightbyte" info of structs when loading a type. This is not done when only `FEATURE_UNIX_AMD64_STRUCT_PASSING_ITF` is set, to avoid altering MethodTable behavior on non-Unix AMD64 builds. Instead, if `getSystemVAmd64PassStructInRegisterDescriptor()` is called on a non-Unix build (by the altjit), the `ClassifyEightBytes()` function is called, and nothing is cached. Hopefully (though it was hard for me to guarantee by observation), calling `ClassifyEightBytes()` does not have any side effects on MethodTables. It doesn't really matter, since if called for altjit, we don't care too much about running. The previously used `PLATFORM_UNIX` define is now insufficient. I introduced the `#define` macros `_HOST_UNIX_` to indicate the JIT being built will run on Unix, and `_TARGET_UNIX_` to indicate the JIT is generating code targeting Unix. Some things were converted to use the `UNIX_AMD64_ABI` define, which makes more sense.
2017-03-13Merge pull request #10129 from BruceForstall/AdjustStackLevelBruce Forstall5-26/+56
Move adjustments to genStackLevel into functions
2017-03-13Work for IBC profiling with ReadyToRun imagesBrian Sullivan17-65/+209
Incremented ReadyToRun version to 2.2 Implemented caching for IsInstrumented using IS_INSTRUMENTED_UNSET Added method Module::InitializeForProfiling() Added full support for method profile counts in ReadyToRun image
2017-03-13Merge pull request #10083 from hqueue/arm/ryujit/decomposed_long_fixBruce Forstall1-1/+1
[Ryujit/ARM32] Fix wrong comparion
2017-03-14[Ryujit/ARM32] Support shift and rotate for decomposed longHyung-Kyu Choi3-15/+128
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
2017-03-13Merge pull request #10067 from mikedn/oak-no-throw-equalsJoseph Tremoulet1-3/+27
Fix AssertionDsc::Equals OAK_NO_THROW's handling
2017-03-13Merge pull request #10105 from JonHanna/corefx16566Atsushi Kanamori12-20/+22
Rename Type.IsSzArray to Type.IsSZArray and make public.
2017-03-13Use VSD_STUB_CAN_THROW_AV instead of explicit _TARGET_XXX_ (#10143)Jonghyun Park1-6/+10
2017-03-13Use GetDoubleArrayToLargeObjectHeapThreshold when ↵Jonghyun Park1-0/+2
FEATURE_DOUBLE_ALIGNMENT_HINT is on (#10136)
2017-03-12Merge pull request #10134 from seanshpark/fixtypoBruce Forstall1-1/+1
Fix typo in Compiler::gtHasRef()
2017-03-12Improve encoding performance (#10124)Jan Kotas5-34/+149
2017-03-13Fix typo in Compiler::gtHasRef()SaeHie Park1-1/+1
2017-03-12Remove dead code (#10128)Bruce Forstall1-6/+0
Remove code under `#ifdef PROTO_JIT`, which hasn't been defined in a long time. I'm presuming that since this hasn't been defined in a long time that the code isn't needed.
2017-03-12Move adjustments to genStackLevel into functionsBruce Forstall5-26/+56
Add functions AddStackLevel(), SubtractStackLevel(), and SetStackLevel() for making any changes to genStackLevel. this allows for centralized asserts, JitDump output, and breakpoint setting.