Age | Commit message (Collapse) | Author | Files | Lines |
|
Fixes #7607
|
|
Support bracket enclosed names in TZ POSIX rules
|
|
|
|
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.
|
|
|
|
|
|
* [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
|
|
Make portable PDBs on Unix instead of no symbols at all.
|
|
|
|
|
|
|
|
* [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
|
|
* 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.
|
|
* Switch to full 10.12
* Disable query performance counter test
|
|
* 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
|
|
* Move System.Convert code to shared partition
* Use ReferenceEquals for type equality
|
|
* 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.
|
|
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
|
|
(#10167)
* Move file verbatim.
* Port over CoreRT style sans reordering.
* Final replacement with CoreRt file.
|
|
[Ryujit/ARM32] Support shift and rotate for decomposed long
|
|
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.
|
|
Support Encoding devirtualization
|
|
[Arm64] Always add UWC_END
|
|
* 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
|
|
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.
|
|
|
|
* optimize Span.Clear() by using initblk
|
|
Remove STRESS_THREAD
|
|
Replace HNDTYPE defines with enum
|
|
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.
|
|
Breaks debugger tests.
|
|
It is useful to see when these are changing.
|
|
This simplifies reading the code, and improves the debugging experience.
|
|
Support for IBC profiling for ReadyToRun images
|
|
|
|
|
|
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.
|
|
Move adjustments to genStackLevel into functions
|
|
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
|
|
[Ryujit/ARM32] Fix wrong comparion
|
|
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
|
|
Fix AssertionDsc::Equals OAK_NO_THROW's handling
|
|
Rename Type.IsSzArray to Type.IsSZArray and make public.
|
|
|
|
FEATURE_DOUBLE_ALIGNMENT_HINT is on (#10136)
|
|
Fix typo in Compiler::gtHasRef()
|
|
|
|
|
|
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.
|
|
Add functions AddStackLevel(), SubtractStackLevel(), and SetStackLevel()
for making any changes to genStackLevel. this allows for centralized asserts,
JitDump output, and breakpoint setting.
|