Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Arm64 build fixes
|
|
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
|
|
Fix a bug in morphing GT_COMMA with op1 being the new GetType() intri…
|
|
Remove dead code from JIT's earlyprop.cpp
|
|
Fixed issue where files in /opt/local/include are not found and LTTng is required on SmartOS
|
|
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.
|
|
|
|
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
|
|
Modified to not require LTTng on SunOS
|
|
Enable Incremental build
|
|
|
|
[tfs-changeset: 1560604]
|
|
|
|
Automating Event Logging Infrastructure
|
|
Fix assertion in ilasm
|
|
required for Event Logging
will be generated as part of build
|
|
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.
|
|
|
|
[tfs-changeset: 1559946]
|
|
[tfs-changeset: 1559929]
|
|
[tfs-changeset: 1559927]
|
|
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
|
|
Dictionary: include the key in the "duplicate key" exception message
|
|
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".
|
|
Enable checked builds of CoreCLR.
|
|
Fix for a bug in recursive tail call to loop transformation.
|
|
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.
|
|
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.
|
|
Initial support for building on SmartOS
|
|
|
|
WaitForSingleObject was calling itself instead of delegating to
WaitForSingleObjectEx.
|
|
Revert 29ce4f6
|
|
Fix EventSource.IsDisposed to correctly indicate that it has been disposed
|
|
29ce4f6 worked around an issue where we were exporting C++ operators
which caused some problems on OSX in some interop cases (see
dotnet/coreclr#946 and dotnet/coreclr#943 for more details).
With dotnet/coreclr#1065 we no longer export all symbols from libcoreclr
so these additional attributes are redudent and they cause issues when
trying to build with clang 3.7. This commit removes them.
I verified that the sample AppKit app continues to work even with these
changes.
|
|
Fix a bad conflict resolution.
|
|
It appears the latest FI of the 4.6.1 wrok has overriden one of the tail
call fixes for System V struct passing. This change is fixing the problem
by putting back the right code.
|
|
Fix System.Collections.BitArray.Clone() fails when Length near Int32.MaxValue
|
|
https://github.com/dotnet/corert/tree/master/src/Native/gc e223e35867c4660fe8423fedb2e547152dd7fd2d
|
|
Rename CNameSpace to GCScan
|
|
[tfs-changeset: 1558334]
|
|
|
|
|
|
Make JitDump work in ilc.exe
|
|
The JIT is not expected to make assumption about format of raw signatures to parse them.
Instead, it should depend on JIT-EE interface for parsing. This invariant was violates in
couple of places related to debug COMPlus_ method filters that caused them to crash under CoreRT.
Fixed the filters to use the proper abstraction instead.
|
|
The fi introduced an arm64 define that was not picked up as a compiled error by x64. Verified with clang-3.6.
|
|
Fix incorrect usage of configuration variables
|