Michal Strehovský [Thu, 2 Mar 2017 06:15:34 +0000 (22:15 -0800)]
Use the correct class handle for fat call temporary (#9893)
`clsHnd` is the class handle of the type that owns the method for
`opcode != CEE_CALLI`. We need the class handle for the method's
return type though.
This is ending up with RyuJIT asking weird questions over JitInterface
(`getClassGClayout` of a reference type).
Also removing a line that was added in #9191 to support the old code.
Koundinya Veluri [Thu, 2 Mar 2017 04:52:15 +0000 (20:52 -0800)]
Preallocate jump stubs for dynamic methods (#9883)
Preallocate jump stubs for dynamic methods
- This eliminates the possibility of running into an out-of-memory situation after compiling the method
- The temporary entry points block containing FixupPrecodes is extended for dynamic methods to include sufficient space for jump stubs
- When the target is too far for the FixupPrecode to encode a short relative jump, it instead does a short relative call or jump to the corresponding jump stub, which does an absolute jump to the target
Ahson Ahmed Khan [Thu, 2 Mar 2017 04:16:40 +0000 (20:16 -0800)]
Adding Span API perf tests for comparison with arrays and to monitor progress (#9790)
* wip
* Adding Span API perf tests for comparison with arrays and to monitor progress
* Reducing iteration count so tests finish in < 2 minutes
* Reducing the number of test cases
* Commenting out ref DangerousGetPinnableReference test
* Updated csproj to use latest compiler
* Tuning test cases and runtime
Tarek Mahmoud Sayed [Thu, 2 Mar 2017 02:20:18 +0000 (18:20 -0800)]
Cleanup the native globalization code (#9887)
* Cleanup the native globalization code
After we merged the globalization code used for Windows and Linux, this change is cleaning up the native VM globalization code
* Added a comment to the normalization code
Andy Ayers [Thu, 2 Mar 2017 01:45:25 +0000 (17:45 -0800)]
Fix casing for newly added test (#9889)
Gaurav Khanna [Thu, 2 Mar 2017 01:39:18 +0000 (17:39 -0800)]
Merge pull request #9882 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25101-04 (master)
Jan Kotas [Thu, 2 Mar 2017 01:28:42 +0000 (17:28 -0800)]
Cleanup (#9892)
* Delete unused PdbTypeMatch tool
* Delete unused GetFileVersion.dll binary
* Delete bad comments
Evgeny Pavlov [Thu, 2 Mar 2017 00:10:17 +0000 (03:10 +0300)]
[x86/Linux] Initial fix of arguments passing in FunctionPtrTest (WIP) (#9855)
* [x86/Linux] Initial fix of incorrect arguments passing in FunctionPtrTest
Jan Vorlicek [Wed, 1 Mar 2017 23:36:12 +0000 (00:36 +0100)]
Fix incremental build on Unix (#9779)
This change fixes issue with dactablerva.h being generated even if the
libcoreclr.so hasn't changed. Also, the dependency of the daccess.cpp
on this header was not honored by the build system and so even if the
dactablerva.h was regenerated with a different contents, the daccess.cpp
was not rebuilt.
Steve MacLean [Wed, 1 Mar 2017 22:16:23 +0000 (17:16 -0500)]
[Arm64/Unix] Fix stack unwinding (#9877)
This restore the functionality lost by #9866 w/o functional
loss
William Godbe [Wed, 1 Mar 2017 20:45:28 +0000 (12:45 -0800)]
Merge pull request #9868 from wtgodbe/HelixPrep
Allow user to zip tests even when not building against packages
dotnet-bot [Wed, 1 Mar 2017 19:55:19 +0000 (19:55 +0000)]
Update CoreClr to beta-25101-04
Aditya Mandaleeka [Wed, 1 Mar 2017 18:29:32 +0000 (10:29 -0800)]
Merge pull request #9770 from adityamandaleeka/card_bundles_unix_2
Implement second-level card tables for non-Windows platforms
Pat Gavlin [Wed, 1 Mar 2017 17:07:11 +0000 (09:07 -0800)]
Merge pull request #9871 from pgavlin/FixUninitBitsetAccess
Guard a use of a possibly-uninitialized BitSet.
Jon Hanna [Wed, 1 Mar 2017 16:53:33 +0000 (16:53 +0000)]
Timespan division and multiplication. (#9804)
https://github.com/dotnet/corefx/issues/7175
Matt Warren [Wed, 1 Mar 2017 16:42:57 +0000 (16:42 +0000)]
Update links to point to valid BotR pages (#9874)
As per comment from @jkotas,
https://github.com/dotnet/coreclr/issues/9306#issuecomment-
277282440
Peter Kukol [Wed, 1 Mar 2017 15:51:31 +0000 (08:51 -0700)]
Streamlined MinOpts GC ref tracking. (#9869)
Stephen Toub [Wed, 1 Mar 2017 15:10:26 +0000 (10:10 -0500)]
Merge pull request #9831 from WinCPP/LazyInitializerNewOverloads
CoreFx #16274 Implementation - New overloads of LazyInitializer.EnsureInitialized for reference types
Yongseop Kim [Wed, 1 Mar 2017 14:52:35 +0000 (23:52 +0900)]
[x86/linux] Add IsIPinVirtualStub() on x86/linux (#9844)
* [x86/linux] Add IsIPinVirtualStub() on x86/linux #9691
To pass Loader.classloader.methodoverriding.regressions.549411.exploit
test failure on x86/linux. This patch is from #5542.
Steve MacLean [Wed, 1 Mar 2017 09:35:56 +0000 (04:35 -0500)]
[Arm64/Unix] Revert fix stack unwinding in CallDescrWorkerInternal (#9866)
Jonghyun Park [Wed, 1 Mar 2017 09:13:40 +0000 (18:13 +0900)]
[x86/Linux] Use ESTABLISHER_FRAME_POINTER_IS_CALLER_SP (#9814)
* [x86/Linux] Introduce ESTABLISHER_FRAME_ADDRESS_IS_CALLER_SP
Jonghyun Park [Wed, 1 Mar 2017 09:12:37 +0000 (18:12 +0900)]
[x86/Linux] Correct GetStackParameterSize on Funclet (#9849)
Pat Gavlin [Wed, 1 Mar 2017 04:51:07 +0000 (20:51 -0800)]
Guard a use of a possibly-uninitialized BitSet.
Part of the range check optimization pass was not checking to ensure that a bitset
was initialized before attempting to access it. This was causing one of the new
tests for Vector.Narrow to fail with an AV.
Stephen Toub [Wed, 1 Mar 2017 03:49:09 +0000 (22:49 -0500)]
Merge pull request #9870 from dotnet-bot/master-UpdateDependencies
Update CoreClr to beta-25101-01 (master)
WinCPP [Wed, 1 Mar 2017 03:19:49 +0000 (08:49 +0530)]
Corefx #16274 - LazyInitializer.EnsureInitialized overload for reference
types
LazyInitializer.EnsureInitialized overload for reference types that does
not take boolean for tracking initialization status of the reference
type object. Null check on the object parameter is sufficient to whether
or not it has been initialized.
Tarek Mahmoud Sayed [Wed, 1 Mar 2017 02:51:12 +0000 (18:51 -0800)]
Globalization merge (#9835)
* Merging the Globalization code in coreclr
This change is merging the globalization code used for Linux and Windows. here Is come notes about this merge:
- Mainly picked most of the code from the corefx folder as it is well formatted and cleaned up before and then tweaked the implementation to work on Windows
- Tries to reduce the dependencies from Globalization code on the VM. this will give flexibility to work on the code without worrying the VM
- Provided the missing implementation as I removed many internal calls to the VM. This also help in having .Net Native have complete implementation for .net standard 2.0
- We may need to have some small tweaks when merging this globalization code to corert
- We'll need to do some clean up for the code which not used anymore in the VM
* Fix ifdef's
* Fix field name in linux build
* Fix field name in linux compilation
* Misc cleanup & return randomized hashing
* Fix missing method for Linux
* one more minor fix
* Fix Linux build
Jan Kotas [Wed, 1 Mar 2017 02:48:00 +0000 (18:48 -0800)]
Move files that are identical with CoreRT under mscorlib\shared (#9861)
dotnet-bot [Wed, 1 Mar 2017 01:34:11 +0000 (01:34 +0000)]
Update CoreClr to beta-25101-01
Alex Perovich [Wed, 1 Mar 2017 01:19:16 +0000 (19:19 -0600)]
Merge pull request #9865 from alexperovich/moveToShared
Add more shared sources
Pat Gavlin [Wed, 1 Mar 2017 01:13:54 +0000 (17:13 -0800)]
Merge pull request #9609 from pgavlin/HandleContainedNodesEarlier
Handle contained nodes earlier in buildRefPositionsForNode.
wtgodbe [Wed, 1 Mar 2017 01:05:01 +0000 (17:05 -0800)]
Allow user to zip tests even when not building against packages
Pat Gavlin [Wed, 1 Mar 2017 00:54:02 +0000 (16:54 -0800)]
Merge pull request #9862 from mikedn/ge-vnf-gt
Fix broken GT_GE - VNF_GT_UN mapping
Bruce Forstall [Wed, 1 Mar 2017 00:04:09 +0000 (16:04 -0800)]
Merge pull request #9825 from mskvortsov/ryujit-arm32-pinvoke
[RyuJIT/ARM32] P/Invoke support
Aditya Mandaleeka [Mon, 27 Feb 2017 20:47:05 +0000 (12:47 -0800)]
Add 6 byte NOP instruction.
Aditya Mandaleeka [Fri, 24 Feb 2017 18:23:43 +0000 (10:23 -0800)]
Implement card bundles for non-Windows platforms.
Pat Gavlin [Wed, 15 Feb 2017 01:08:44 +0000 (17:08 -0800)]
Handle contained nodes earlier in buildRefPositionsForNode.
These nodes never produce ref positions. Handling them earlier in this function
avoids a rather large amount of unnecessary work (e.g. this decreases overall
compile time by about 0.5% for `crossgen System.Private.CoreLib`).
Pat Gavlin [Tue, 28 Feb 2017 23:14:52 +0000 (15:14 -0800)]
Merge pull request #9794 from pgavlin/PutArgRegInit
Refactor register arg handling in TreeNodeInfoInit.
Alex Perovich [Tue, 28 Feb 2017 22:37:49 +0000 (14:37 -0800)]
Add more shared sources
Rahul Kumar [Tue, 28 Feb 2017 22:14:11 +0000 (14:14 -0800)]
Merge pull request #9729 from rahku/hijackfix
add FP return values as part of HijackFrame
Jarret Shook [Tue, 28 Feb 2017 21:34:38 +0000 (13:34 -0800)]
Merge pull request #9857 from jashook/arm64_inner_structs
Add the correct offset for finding nested structs.
Mikhail Skvortcov [Mon, 6 Feb 2017 14:46:17 +0000 (17:46 +0300)]
RyuJIT/ARM32: Enable P/Invoke lowering.
Jan Vorlicek [Tue, 28 Feb 2017 19:19:24 +0000 (20:19 +0100)]
Fix mismatch in the cmake script endif condition (#9859)
This change fixes a mismatch in the cmake script endif condition introduced
by #9809.
Gaurav Khanna [Tue, 28 Feb 2017 19:02:07 +0000 (11:02 -0800)]
Merge pull request #9781 from dotnet-bot/master-UpdateDependencies
Update CoreClr, CoreFx to beta-25028-02, stable, respectively (master)
Mike Danes [Tue, 28 Feb 2017 18:41:34 +0000 (20:41 +0200)]
Fix broken GT_GE - VNF_GT_UN mapping
Bruce Forstall [Tue, 28 Feb 2017 17:57:34 +0000 (09:57 -0800)]
Merge pull request #9852 from mskvortsov/ryujit-arm32-label
[RyuJIT/ARM32] enable CG for GT_LABEL nodes
Andy Ayers [Tue, 28 Feb 2017 17:15:14 +0000 (09:15 -0800)]
Remove some unused benchmarks (#9843)
jashook [Tue, 28 Feb 2017 17:05:04 +0000 (09:05 -0800)]
Add the correct offset for finding nested structs.
As is the base offset of a nested struct that was a lclField was
being dropped.
Pat Gavlin [Tue, 28 Feb 2017 16:30:46 +0000 (08:30 -0800)]
Merge pull request #9796 from pgavlin/FixOurGetThreadCycles
Fix _our_GetThreadCycles for clang/xarch.
Hyeongseok Oh [Tue, 28 Feb 2017 13:09:37 +0000 (22:09 +0900)]
Fix cross component builderror - CMakeLists.txt for PAL (#9819)
define & use PAL_ARCH_SOURCES_DIR in PAL CMakeLists.txt to build assembly based on platform architecture.
root/CMakeLists.txt defines ARCH_SOURCES_DIR based on target architecture.
Mikhail Skvortcov [Tue, 28 Feb 2017 13:01:20 +0000 (16:01 +0300)]
RyuJIT/ARM32: enable CG for GT_LABEL nodes
Frederik Carlier [Tue, 28 Feb 2017 12:55:59 +0000 (13:55 +0100)]
Disable DBGIPC_TRANSPORT_DI and DBGIPC_TRANSPORT_VM on Android (#9809)
* Disable DBGIPC_TRANSPORT_DI and DBGIPC_TRANSPORT_VM on Android
Jonghyun Park [Tue, 28 Feb 2017 10:36:55 +0000 (19:36 +0900)]
Use BIT64 instead of _WIN64 for LONG helpers (#9845)
dotnet-bot [Tue, 28 Feb 2017 09:28:23 +0000 (09:28 +0000)]
Update CoreClr, CoreFx to beta-25028-02, stable, respectively
Yongseop Kim [Tue, 28 Feb 2017 09:25:10 +0000 (18:25 +0900)]
[x86/linux] Implement BackPatchWorkerAsmStub (#9690)
* [x86/linux] Implement BackPatchWorkerAsmStub
This implementation is ported from BackPatchWorkerAsmStub in
vm/i386/virtualcallstubcpu.hpp
Sergey Andreenko [Tue, 28 Feb 2017 04:14:27 +0000 (20:14 -0800)]
Merge pull request #9774 from sandreenko/coreRT-fat-pointers-fix
coreRT fat pointer hidden argument fix for calls with retBufArg
Dan Moseley [Tue, 28 Feb 2017 03:39:04 +0000 (19:39 -0800)]
Replace INSIDE_CLR with CORECLR (#9841)
Alex Perovich [Tue, 28 Feb 2017 02:54:54 +0000 (20:54 -0600)]
Move Used interop sources into shared folder (#9840)
Sergey Andreenko [Tue, 28 Feb 2017 02:41:40 +0000 (18:41 -0800)]
CC fix
Andy Ayers [Tue, 28 Feb 2017 02:10:27 +0000 (18:10 -0800)]
Some tests for devirtualization (#9834)
Jonghyun Park [Tue, 28 Feb 2017 02:06:38 +0000 (11:06 +0900)]
Use flags in exceptionhandling.cpp (#9823)
* Add USE_FUNCLET_CALL_HELPER
* Use STACK_RANGE_BOUNDS_ARE_CALLER_SP
Jonghyun Park [Tue, 28 Feb 2017 01:26:51 +0000 (10:26 +0900)]
[x86/Linux] Fix GetCurrentSP (#9838)
Sergey Andreenko [Fri, 24 Feb 2017 21:39:36 +0000 (13:39 -0800)]
coreRT fat pointer hidden argument fix for calls with retBufArg
Aditya Mandaleeka [Mon, 27 Feb 2017 23:34:48 +0000 (15:34 -0800)]
Merge pull request #9837 from adityamandaleeka/remove_useless_message
Remove useless message from runtest output.
Aditya Mandaleeka [Mon, 27 Feb 2017 23:30:15 +0000 (15:30 -0800)]
Remove useless message from runtest output.
Michal Strehovský [Mon, 27 Feb 2017 23:21:57 +0000 (15:21 -0800)]
Don't generate a runtime lookup for static base if not needed (#9833)
`fgInitThisClass` makes sure that the type initializer for the type that
owns the method being compiled has run. On CoreCLR, the fallthrough code
somehow ends up not doing a runtime lookup if the owning type is not
canonical. We need to avoid it on CoreRT as well.
Pat Gavlin [Mon, 27 Feb 2017 21:05:59 +0000 (13:05 -0800)]
Merge pull request #9795 from pgavlin/RefactorIsContained
Refactor isContained().
Per Lundberg [Mon, 27 Feb 2017 20:57:48 +0000 (22:57 +0200)]
README.md: More idiomatic Markdown usage (#9799)
- In essence, use backticks where applicable.
- Also, changed some incorrect case (`Build.cmd` vs `build.cmd` which is the canonical name; if you have your git repo on a case-sensitive filesystem like I do, this makes a real difference - you can't run it with the incorrect case).
- Fixed naming of Git and CMake to use their official capitalization.
mikedn [Mon, 27 Feb 2017 20:44:27 +0000 (22:44 +0200)]
Improve BitConverter.ToIntNN methods (#9803)
* Improve BitConverter.ToIntNN methods
- Avoid duplicate argument validation
- Fix failed optimization attempt: (uint)i < a.Length needs to be (uint) < (uint)a.Length otherwise it gets promoted to long and that's bad for 32 bit architectures
- Workaround JIT limitation: fixed variables cannot be enregistered
- Use Unsafe.ReadUnaligned to avoid alignment handling complications
- Use Unsafe.As instead of fixed as it generates shorter code
- Don't forward unsigned method to signed methods. The JIT doesn't want to inline the signed methods even though the generated code isn't significantly larger
mikedn [Mon, 27 Feb 2017 20:05:13 +0000 (22:05 +0200)]
Use Unsafe.ReadUnaligned/WriteUnaligned in UMA (#9829)
mikedn [Mon, 27 Feb 2017 16:40:51 +0000 (18:40 +0200)]
Add Unsafe.ReadUnaligned/WriteUnaligned (#9808)
Jonghyun Park [Mon, 27 Feb 2017 15:00:42 +0000 (00:00 +0900)]
Use WIN64EXCEPTIONS to declare EE_PERSONALITY_ROUTINE helpers (#9821)
Jonghyun Park [Mon, 27 Feb 2017 14:57:20 +0000 (23:57 +0900)]
[x86/Linux] Clean up unused NakedThrowHelper stub (#9824)
Jonghyun Park [Mon, 27 Feb 2017 10:07:05 +0000 (19:07 +0900)]
[x86/Linux] 16-byte aligned Funclet Helpers (#9810)
Jonghyun Park [Mon, 27 Feb 2017 05:21:19 +0000 (14:21 +0900)]
Clean up PInvokeStubForHost and PInvokeStubForHostInner (#9815)
Jonghyun Park [Mon, 27 Feb 2017 05:20:43 +0000 (14:20 +0900)]
Clean up nested WIN64EXCEPTIONS-ifdef (#9817)
Jonghyun Park [Mon, 27 Feb 2017 04:09:10 +0000 (13:09 +0900)]
[x86/Linux] Use _X86_ instead of _TARGET_X86_ (#9816)
Jonghyun Park [Mon, 27 Feb 2017 02:46:19 +0000 (11:46 +0900)]
[x86/Linux] Clean up PopSEHRecords (#9812)
Jonghyun Park [Mon, 27 Feb 2017 02:45:50 +0000 (11:45 +0900)]
[x86/Linux] Clean up CallRtlUnwind (#9813)
Jonghyun Park [Mon, 27 Feb 2017 02:41:48 +0000 (11:41 +0900)]
[x86/Linux] Clean up ARRAY STUB(s) (#9811)
Jan Kotas [Sun, 26 Feb 2017 20:55:49 +0000 (12:55 -0800)]
Delete a bit of dead code (#9801)
Pat Gavlin [Sun, 26 Feb 2017 05:10:01 +0000 (21:10 -0800)]
Merge pull request #9789 from mikedn/le-intrinsic
Treat BitConverter.IsLittleEndian as an intrinsic
Eric Mellino [Sun, 26 Feb 2017 02:54:06 +0000 (18:54 -0800)]
Merge pull request #9782 from mellinoe/ilasm-pathlength-fix
Increase the length of allowed parameters in ilasm
Jan Kotas [Sun, 26 Feb 2017 02:27:32 +0000 (18:27 -0800)]
Update BitConverter from CoreFX (#9788)
* Update BitConverter from CoreFX
Related to #9701
* Use ThrowHelper
Ben Adams [Sun, 26 Feb 2017 00:02:14 +0000 (00:02 +0000)]
Better ArraySegment .ctor tests (#9800)
Hyung-Kyu Choi [Sat, 25 Feb 2017 19:24:16 +0000 (04:24 +0900)]
[ARM/CI] Fix arm32 CI git check failure (#9798)
Because layout in corefx binary has been changed, it causes arm CI failure.
And skip arm32 tests because test is not working recently.
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Hyung-Kyu Choi [Sat, 25 Feb 2017 18:29:20 +0000 (03:29 +0900)]
[ARM/CI] Update arm CI to sync up with corefx change (#9797)
Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
Pat Gavlin [Sat, 25 Feb 2017 18:09:00 +0000 (10:09 -0800)]
Fix _our_GetThreadCycles for clang/xarch.
The `"=A"` constraint in `asm volatile("rdtsc" : "=A"(cycles))` does not work as expected
on AMD64. Instead, the assembly must use an output constraint for both `eax` and `edx`
(i.e. `=a"(lo), "=d"(hi)`).
Pat Gavlin [Sat, 25 Feb 2017 01:16:35 +0000 (17:16 -0800)]
Refactor register arg handling in TreeNodeInfoInit.
The handling for outgoing register arguments in TreeNodeInfoInitCall was
unnecessarily complex and difficult to follow. In particular, the processing
of FIELD_LIST arguments performed a fair amount of unnecessary work,
contained code to deal with impossible IR patterns, and did not share any
code for handling the component PUTARG_REG nodes with the normal PUTARG_REG
case. This changes resolves all three of these issues and fixes an ordering
issue in lowering that was causing PInvoke prologs to remain unlowered.
Pat Gavlin [Fri, 24 Feb 2017 19:19:27 +0000 (11:19 -0800)]
Refactor isContained().
This changes isContained to terminate early if it is not possible for the node in question
to ever be contained. There are many nodes that are statically non-containable: any node
that is not a value may not be contained along with a small number of value nodes. To avoid
the need for a `switch` to identify the latter, their node kinds have been marked with a
new flag, `GTK_NOCONTAIN`. The checks for identifying non-containable nodes are encapsulated
withing a new function, `canBeContained`.
Jan Kotas [Sat, 25 Feb 2017 16:09:54 +0000 (08:09 -0800)]
Merge pull request #9791 from dotnet/revert-9231-MinOptsSimplifiedGCtracking
Revert "Simplified MinOpts GC ref tracking."
Jan Kotas [Sat, 25 Feb 2017 14:33:11 +0000 (06:33 -0800)]
Revert "Simplified MinOpts GC ref tracking."
Jan Vorlicek [Sat, 25 Feb 2017 10:08:35 +0000 (11:08 +0100)]
Fix GC hole when exception filter throws unhandled exception (#9785)
The extra Unix specific piece of code in the StackFrameIterator::Filter that
handles the difference in the exception stack unwinding on Unix was not
skipping exception trackers belonging to filter clauses. But that was not
right, since filter funclet stack frames behave the same way on Windows and
Unix. They can be present on the stack when we reach their parent frame if
the filter hasn't finished running yet or they can be gone if the filter
completed running, either succesfully or with unhandled exception.
This change adds skipping of filter funclet related exception trackers at
that place so that the common code processes them.
This fixes the GC hole mentioned in the title that was discovered when
running some tests with GCStress mode 2.
Mike Danes [Sat, 25 Feb 2017 09:45:02 +0000 (11:45 +0200)]
Treat BitConverter.IsLittleEndian as an intrinsic
James Ko [Sat, 25 Feb 2017 06:48:36 +0000 (01:48 -0500)]
Remove `this == null` checks from string.Equals (#9768)
Alex Perovich [Sat, 25 Feb 2017 06:46:59 +0000 (00:46 -0600)]
Move S.Buffers and S.IO sources shared with corert into shared folder (#9778)
Andy Ayers [Sat, 25 Feb 2017 01:51:10 +0000 (17:51 -0800)]
Merge pull request #9756 from AndyAyersMS/RefCountGenericContext
JIT: keep ref count for runtime generic context lookups
Stephen Toub [Sat, 25 Feb 2017 01:39:44 +0000 (20:39 -0500)]
Use clock_gettime(CLOCK_REALTIME) in DateTime.UtcNow (#9772)
gettimeofday() is currently used in DateTime.UtcNow. Depending on the system, it may have accuracy and precision in line with either clock_gettime(CLOCK_REALTIME) or clock_gettime(CLOCK_REALTIME_COARSE), but in returning its data it's necessarily limited by struct timeval's tv_usec field (microseconds), whereas clock_gettime uses struct timespec which has tv_nsec (nanoseconds). This commit switches to use clock_gettime(CLOCK_REALTIME) to gain the additional precision (though the FILETIME through which the data is returned only supports 100-nsec precision). On my machine, there was no measurable impact to throughput.
Ahson Ahmed Khan [Sat, 25 Feb 2017 01:27:54 +0000 (17:27 -0800)]
Merge pull request #9598 from ahsonkhan/OptimizeSpanClear
Optimize span clear
Eric Mellino [Sat, 25 Feb 2017 00:48:50 +0000 (16:48 -0800)]
Increase the length of allowed parameters in ilasm.
The way this code is structured prevents parameters longer than 128 characters
from being passed. This change simply increases that to 1024 characters, although
a more robust change could be made in the future to account for platform differences.
Aditya Mandaleeka [Sat, 25 Feb 2017 00:37:26 +0000 (16:37 -0800)]
Remove optimizedtls.cpp (#9777)