Age | Commit message (Collapse) | Author |
|
Code to call InitializeModules on startup and associated bug fixes and workarounds. Handles mismatched struct calling conventions between LLVM and Clang and works around the dup opcode incorrectly reloading values. Enables StartupCodeMain and fix associated bugs in pinvokes. Implements main return codes
|
|
ObjWriter emits compiled managed code as data (using MCStreamer::EmitBytes method).
In this case on arm code is marked as data using special mapping symbol '$d' that
leads to problems during debugging. For example gdb uses incorrect opcode for
breakpoints that brokes program execution.
In this patch new method MCStreamer::EmitInstructionBytes is added. It uses '$a'/'$t'
mapping symbols to mark data as arm/thumb code. This method is used to emit compiled
managed code in ObjWriter.
|
|
It fixes lldb error in case of zero-length arrays:
DW_TAG_member 'm_Data' refers to type 0x00000c70 which extends beyond the bounds of 0x00000c7c
|
|
|
|
- Delete unused variable in SubprogramInfo::DumpEHClauses
- Fix narrowing conversions in DwarfAbbrev::Dump
|
|
|
|
Make the Server GC an optional component by building two flavors of the runtime and selecting a specific one in the build via the `ServerGarbageCollection` MSBuild property. Don't build the Server GC flavor for Web Assembly.
Fixes #5182, Fixes #5306.
|
|
|
|
|
|
* [Linux] Implement generation dwarf debuginfo for types and vars
* Fix license headers
* Objwriter: fixes for old objwriter package
- Ignore exceptions in GetPrimitiveTypeIndex and EmitEHClause methods
- Call EmitDebugVarInfo only for Windows
- Don't call GetMethodFunctionIdTypeIndex in EmitDebugFunctionInfo
|
|
|
|
This got broken when sorting got introduced to stabilize the executable image. Instead of relying on implicit ordering of nodes, use order specified in the map.
|
|
Merge nmirror to master
|
|
* specical -> special
* runnning -> running
* regster -> register
* poitner -> pointer
* recognizeable -> recognizable
* registeres -> registers
* Retarting -> Restarting
* scnas -> scans
* rountine -> routine
|
|
prolog if we need to change fp in the body because that will generate a unwind opcode that restore sp from fp.
[tfs-changeset: 1691341]
|
|
Related to https://github.com/dotnet/coreclr/pull/16643
|
|
* Implement static constructor triggering. Also includes several bug fixes found in the process:
* Don't make the ClassConstructorRunner depend on module intialization
* Moves non-GC statics and thread statics from globals to the type's data regions. GC statics can't be moved until we can call InitializeModules on startup.
* Devirtualizing interface calls to structs in order to be able to compile the class constructor runner.
* Add a prolog block before Block0 to allow branching to Block0, which happens in retail builds
* Correct use of unreachable in traps and at the end of finally blocks to fix more retail build problems
* Stop reusing spill slots when a spilled value is spilled again. This avoids cases where the spills feeding into a block don't use the same slot
* Enable thunks for NativeCallable methods and call RhpReversePInvoke for them
* Fix alignment for cases where a small type is followed by a larger one
* Workaround for Emscripten atomics bug
|
|
|
|
|
|
This change removes the "standalone exe mode" flag that MRT used for speeding up lookup of the Array class; the change is problematic in optional component context where MRT may end up registering several "single-file" modules.
Thanks
Tomas
[tfs-changeset: 1689848]
|
|
* interruptbile -> interruptible
* legnth -> length
* neccessary -> necessary
* neeed -> need
* occurance -> occurrence
* occuring -> occurring
* otheriwse -> otherwise
* Ouput -> Output
* Ouput -> Output
* peformed -> performed
|
|
* crtitical -> critical
* elligible -> eligible
* emory -> memory
* enquing -> enqueuing
* enumarate -> enumerate
* eqivalent -> equivalent
* execeptions -> exceptions
* exectuing -> executing
* forceably -> forcibly
* fragmentatioin -> fragmentation
* fragramented -> fragmented
* geneated -> generated
* generaion -> generation
* handes -> handles
* higest -> highest
|
|
* decommand -> demand
* definfed -> defined
* dependen -> dependent
* dequed -> deque
* derefencing -> dereferencing
* detemine -> determine
* deterine -> determine
* differenct -> different
|
|
* begining -> beginning
* boundry -> boundary
* cachced -> cached
* calback -> callback
* callled -> called
* chosing -> choosing
* clearded -> cleared
* commiting -> committing
* Compactiony -> Compaction
* contruct -> construct
* cooresponding -> corresponding
* coresponding -> corresponding
* cuase -> cause
|
|
* accommondate -> accommodate
* aligment -> alignment
* apppropriate -> appropriate
* artifically -> artificially
* artifical -> artificial
* gaurantee -> guarantee
* Asssembly -> Assembly
* asychnronously -> asynchronously
|
|
Merge master to nmirror
|
|
|
|
Fixes #5388.
|
|
- https://github.com/dotnet/corert/issues/3278
- Enabled only for ARM32. When ObjWriter is remotely updated,
it will be possible to completely remove this workaround for other archs.
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
|
|
Port dotnet/coreclr#9980
curl https://github.com/dotnet/coreclr/commit/6c73fd9440a68f064f4767347a4401155ee88899.patch | git am -p 4 --directory='src/Native/' --reject
* Add handling of multiple CMake installations in probe-win
Check if multiple CMake versions are installed, and use by default the first path available
Fixes #8221
* Fix typo in value accessor
* Restore previous null check in probe_win
* Remove redundant assignment
|
|
In CMake v10.2, the key `hklm:\SOFTWARE\Kitware` returns:
```powershell
Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Kitware
Name Property
---- --------
CMake InstallDir : C:\Program Files\CMake\
```
with no space after `CMake` and property name `InstallDir`,
instead of `'(default)'`.
|
|
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
* Update dependencies
* Include System.Private.Xml from uapaot
|
|
- Сompatibility checks for cross compilation
- Removed "flags duplicates" workaround
Signed-off-by: Petr Bred <bredpetr@gmail.com>
|
|
* Implement break opcode as llvm.debugtrap.
In Emscripten, `llvm.debugtrap` is implemented as a round-trip call to
`debugger;` statement JavaScript which will invoke debugger in browsers;
and in LLVM it's implemented as `unreachable` instruction of WASM. This
should be a better match than `llvm.trap` on `break` opcode semantics.
Fix #4511
Set IsDebuggerPresent to TRUE in case of WASM. Although
`Debugger._isDebuggerAttached` is not set, this modify itself will allow
`Debugger.Break` to work.
Add test in HelloWasm for `Debugger.Break`.
|
|
* Enable wasm building on OSX.
Upgrade libLLVM to 4.0.0 and LLVMSharp to 5.0.0
LLVM upgrade: Fix 'Use still stuck around after Def is destroyed' of the deleted basic blocks
Add wasm support in runtest.sh
Remove HelloWasm.csproj reference to .ilproj on non-windows OS because of dependency on ilasm
Fix LinkNative target to execute correct commands for Unix wasm builds.
Added support for building on Ubuntu 16.04.3
Update documentation on how to build WebAssembly.
|
|
|
|
|
|
Merge nmirror to master
|
|
- Enum compared with int compile error
- Add missing Intrinsic attribute
- A few cosmetic style fixes
|
|
AppDomains.
[tfs-changeset: 1687664]
|
|
Fixes #5299.
|
|
|
|
implemented array instructions, implemented internal calling convention, switched to managed runtime calls, Refactored call to not require stack operations, finished work to map pinvokes into the same generated methods/signatures
|
|
longer a nested type in EH.
[tfs-changeset: 1687171]
|
|
|
|
[tfs-changeset: 1687091]
|
|
|
|
Merge nmirror to master
|