Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
ARM64: Fix Storing PSPSym for localloc
|
|
JIT incorrectly saves/restores PSPSym causing AVs in EH tests that have localloc with filter.
The fix is to use a right opcode (Load instead of Store) when saving PSPSym.
|
|
NetBSD: Add support for PAL_IsDebuggerPresent()
|
|
Set the lvIsMultiRegArgOrRet for a variable containing the result of in-lined multi-register return call.
|
|
Always try to load user32 instead of ntuser api set
|
|
add sos clrstack -r option
|
|
Fix a difference in passing the sequential parameter between Bash and…
|
|
NetBSD has RAND_MAX = 0x7fffffff
|
|
Noted on NetBSD where it is 0x7FFFFFFF.
|
|
Reuse the kvm(3) interface to grab "struct kinfo_proc".
NAME
kvm - kernel memory interface
LIBRARY
Kernel Data Access Library (libkvm, -lkvm)
DESCRIPTION
The kvm library provides a uniform interface for accessing kernel virtual
memory images, including live systems and crash dumps. Access to live
systems is via /dev/mem while crash dumps can be examined via the core
file generated by savecore(8). The interface behaves identically in both
cases. Memory can be read and written, kernel symbol addresses can be
looked up efficiently, and information about user processes can be
gathered.
kvm_open() is first called to obtain a descriptor for all subsequent
calls
|
|
Removing NYI for ZapUnwindData
|
|
|
|
Implement StartUnwindingNativeFrames Linux/ARM
|
|
Fix issue unveiled on NetBSD: Add PAL__vsnprintf shadow in PAL
|
|
inlined multi-register return call.
This change makes sure the lvIsMultiRegArgOrRet on a variable used to
store the result of inlined multi-register return function is set.
The way the code works today, this is not an issue since the code in
fgAttachStructInlineeToAsg always uses a CopyObj/Blk to asign the return
value from the registers to the var on stack. The CopyBlock/Obj gets the
address of the variable making it address-exposed and that prevents struct
promotion.
In the future (when CopyObj/Blk is not used) not having
lvIsMultiRegArgOrRet set could cause a problem.
Fixes issue 4276.
|
|
|
|
|
|
DelayLoadAndFixWinRTInterop
|
|
Adding Serviceable attribute to mscorlib
|
|
Fix assertion failure on ARM
|
|
Make it possible to build JIT32 in the OSS tree.
|
|
Update the corefx copy steps to point to the new location
|
|
|
|
|
|
|
|
Merge changes from TFS
|
|
StartUnwindingNativeFrames for Unix/Linux ARM.
The code is ported from AMD64 code of the same function and OS.
CONTEXT_* are moved from context2.S to asmconstants.h so that
the same macros may be sharaed between multiple files.
Fix #4040
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
ARM: fix build warning for unw usage
|
|
StompWriteBarrierEphemeral may be called on the init path, where the runtime is technically not suspended, but has not started yet. Added a check for g_fEEInit in the call.
|
|
Use beforefieldinit field for Comparer/EqualityComparer.Default
|
|
ARM/Linux: Mark r0-r3 Saved
|
|
Without this, exception handlers (try-catch) that
try to get SP of ThePreStub's caller (managed frame) mislocate
the caller's SP by 4 words (0x10) and get lost while
traversing managed frames.
Fix #4107
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
Move `BitPosition` into its own file.
|
|
[tfs-changeset: 1596379]
|
|
We no longer have StartUnwindingNativeFrames.
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
|
|
|
|
Merge changes from TFS
|
|
Inliner: introducing InlineStrategy
|
|
|
|
This change adds a new argument to build.cmd, buildjit32, that configures
the build to build and link JIT32 instead of RyuJIT if the sources are
available in `src/jit32`.
|
|
Delete fragile tests (will fix tests in a later PR)
|
|
|
|
This will allow the GC info encoder and the JIT to use this
function without pulling in the entire utilcode header.
|
|
Create the `InlineStrategy` class to hold inline-relevant data that
spans multiple inlines. It tracks the number of inline candidates,
attempts, successes, last successful policy, and holds onto the root
context, and so on. The strategy is responsible for creating contexts
and reporting overall results for a method (either tree-based or
data-based).
The strategy also includes a simple jit time estimate. From various
observations, post-inline jit time can be modelled acceptably by simple
linear relationships on the input IL size. The strategy uses these models
to estimate the initial and current jit time. Estimate units are roughly
microseconds.
The strategy creates a time budget to flag cases where the estimated
jit time increase due to inlining is unreasonbly large. The budget
is initially based on the root method size, and may increase if there
are non-discretionary force inlines.
Once we have a bit more vetting of the budgeting mechanism, policies
will use it to limit inlining in a small number of runaway inlining cases
(see for example #2472).
Remove code under MEASURE_INLINING since the strategy plus the context
tree (optionally extended via policies) contains all that data and more.
Likewise, consolidate a number of the compiler's inlining-related member
variables into the strategy.
|
|
Fix possibility of deadlock in the SIGSEGV handler
|
|
[tfs-changeset: 1596259]
|
|
Collect the JIT's TLS variables in a single type.
|
|
Replace `SList` in the GC info encoders.
|
|
The function can deadlock if the calling thread was holding the
ExecutionManager writer lock.
|