Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Replace "childre" with "children"
|
|
Improve inlining of Convert.To* methods
|
|
|
|
Random number selected for NetBSD is 0x1993.
1993 is the year of founding the project.
Closes #2805 "What's the Platform ID for NetBSD?" by myself.
|
|
|
|
Many of these methods are just casts with an up-front out-of-bounds check to throw an exception it an overflow occurs. Those checks, and specifically the throw statement that follows is causing many of these methods to be non-inlineable. A microbenchmark shows that factoring out these statements increases throughput by as much as 6x. Some of these were previously showing up as measurable contributions to CPU time in a real-world app being profiled.
|
|
NetBSD: Define PAL_CS_NATIVE_DATA_SIZE for few NetBSD platforms
|
|
NetBSD: CHAR_BIT as defined by POSIX in limits.h
|
|
Non-interlocked read of variable after InterlockedDecrement() causes a race
|
|
NetBSD: Don't link with -ldl for dlopen(3) on NetBSD
|
|
NetBSD: Detect copysign(3) properly on NetBSD inside the math library
|
|
NetBSD: Add a kludge to disable unimplemented SEHEnable()/Disable()
|
|
Fix a bug in JIT value numbering.
|
|
Untangle FEATURE_EVENT_TRACE and GC_PROFILING for coreclr
|
|
This change adds support for CoreRT-style P/Invoke transitions
to RyuJIT. Instead of the usual inlined transition code, these
transitions are made up of calls to two new JIT helpers:
PInvokeTransitionFrame frame; // opaque local
CORINFO_HELP_INIT_PINVOKE_FRAME(&frame);
...
CORINFO_HELP_JIT_PINVOKE_BEGIN(&frame);
target(...);
CORINFO_HELP_JIT_PINVOKE_END(&frame);
...
The preemptive mode constraints apply between calls to
JIT_PINVOKE_BEGIN and JIT_PINVOKE_END: no managed references
may be live only in registers and managed references may not
be manipulated.
|
|
during build.
This only applies to windows build.
|
|
Fix missing setting of ScanContext::stack_limit
|
|
This is a fix for a silent bad codegen bug in value numbering.
The value numbering algorithm tries to check whether heap PHI arguments
evaluate to the same value for the given query. In doing so, it may encounter
PHIs that recursively depend on each other (this corresponds to cycles in
control flow graph). A special value RecursiveVN is returned in such cases.
The algorithm uses the following rule:
if some PHI arguments evaluate to RecursiveVN but all others evaluate to the
same value that's not RecursiveVN, then that value can be used as the result.
Furthermore, in order to avoid exponential searches in case of many PHI's the
results of all PHI evaluations are memoized.
The bug was that if RecursiveVN was used to get the result, it can't always
be memoized. In particular, if the loop causing recursive PHIs is a multi-entry
loop, intermediate PHI results shouldn't be memoized. The fix is conservative in
that it always disables memoization if RecursiveVN was involved. Note that we
also have another mechanism (budget) to mitigate expensive PHI evaluations.
There were no diffs in SuperPMI and no measurable throughput impact.
I added a test with a simplified repro.
The original bug had code with yield return.
I also fixed some formatting and added several function headers.
|
|
|
|
There is a code path executed when the GCStress is on and that was missing setting the stack_limit
value that the PromoteCarefully uses to detect objects on the stack.
|
|
NAME
dlopen, dlclose, dlsym, dlvsym, dladdr, dlctl, dlerror - dynamic link
interface
LIBRARY
(These functions are not in a library. They are included in every
dynamically linked program automatically.)
SYNOPSIS
#include <dlfcn.h>
void *
dlopen(const char *path, int mode);
|
|
Reference:
limits.h - implementation-defined constants
Numerical Limits
{CHAR_BIT} Number of bits in a type char.
--- http://pubs.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html
There is no such file as sys/limits.h in NetBSD.
|
|
The copysing(3) function is a part of the libm library on NetBSD.
This is also true for other POSIX platforms.
NAME
copysign, copysignf, copysignl - functions to manipulate signs
LIBRARY
Math Library (libm, -lm)
SYNOPSIS
#include <math.h>
double
copysign(double x, double y);
float
copysignf(float x, float y);
long double
copysignl(long double x, long double y);
STANDARDS
The described functions conform to ISO/IEC 9899:1999 (``ISO C99'').
|
|
|
|
Set PAL_CS_NATIVE_DATA_SIZE for:
- amd64 (x86_64),
- earm,
- hppa,
- i386,
- mips,
- sparc (32bit),
- sparc64.
|
|
|
|
|
|
Merge changes from TFS
|
|
Fix incremental build
|
|
without the other
Fix the Ubuntu build by ensuring that HeapWalkHelper is defined when the rest of the heap walking mechanisms are defined
+feedback from jkotas and address missing symbols on Ubuntu
|
|
[tfs-changeset: 1567626]
|
|
[tfs-changeset: 1567550]
|
|
NetBSD: Add new target in src/pal/src/configure.cmake for NetBSD
|
|
AssemblyResolve support
|
|
Removed variants:
- JA_JP_LOCALE_NAME,
- KO_KR_LOCALE_NAME,
- ZH_TW_LOCALE_NAME.
|
|
NetBSD: Set proper shortAsciiName for NetBSD's libc
|
|
Reduce clr startup noise when using Clang sanitizers
|
|
Conflicts:
build.sh
|
|
Conflicts:
build.cmd
src/dlls/clretwrc/CMakeLists.txt
Cleanup
|
|
Merge changes from TFS
|
|
|
|
This code is based on FreeBSD, with the following differences:
- At the moment there is no libunwind for NetBSD.
- The is no need for libc.so magic like in GNU, neither on FreeBSD
someone wrongly assumed it there.
- ptrace(2) uses (void*) instead of (caddr_t)
|
|
There is no need for the LIBC_SO-like solution on NetBSD.
|
|
Command capture was producing unexpected results on the build
machines.
|
|
Fix missing disassembler.cpp in .targets files
|
|
This a change porting that is done on the desktop. in addition updating some tests
The change is to update the Unicode characters data from v6.3 to v8 (support 2 releases after 6.3). the change is purely a data change and there is no product code changes.
[tfs-changeset: 1567358]
|
|
This change adds missing disassembler.cpp to wks.targets and dacwks.targets files.
|
|
Load Context.
1) Expose AssemblyResolve event off AssemblyLoadContext
2) Invoke the event if the abstract Load implementation does not return an assembly.
|