- 24 6月, 2017 12 次提交
-
-
由 Alexander Köplinger 提交于
This greatly simplifies the code and as a bonus also shaves off about 300ms when stripping mscorlib.dll.
-
由 Rodrigo Kumpera 提交于
[profiler] Do the signal ack after checking that the thread is detached.
-
由 Zoltan Varga 提交于
-
由 Vlad Brezae 提交于
[sgen] Implement sgen worker context
-
由 Vlad Brezae 提交于
-
由 Vlad Brezae 提交于
We need to run jobs on the thread pool threads for parallel minor, parallel major, concurrent mark and concurrent sweep, some of which can run simultaneously. Instead of making separate threads reserved for each type of work, we create a work context abstraction (this contains a set of pending jobs to run and the sgen-worker callbacks). When a thread pool thread looks for work, it searches for work (jobs and idle work) through all contexts and finishes work from each one of them, from the highest to the lowest priority. This is implemented by having different thread pool contexts (which contain the job list, work callbacks that indicate whether it should work and its ineherent priority), overall unrelated to the GC. The sgen worker infrastructure also creates separate worker contexts (which contain the object ops to be used and information about each worker, like the state and the private gray queue). We use at most two worker contexts (for minor and for major) and each worker context makes use of a sgen thread pool context.
-
由 Vlad Brezae 提交于
We always init worker distribute gray queue when initialising worker infrastructure.
-
由 Vlad Brezae 提交于
We were getting the split_count at job run time which makes little sense. Include it in the job, alongside the job index.
-
由 Vlad Brezae 提交于
Concurrent mark doesn't normally scan objects in the nursery since they can be moved. At the end of the concurrent mark, we were locking over the entire gc pause in order to make sure that the we can scan the latest pinned object list (aka none of those objects can be moved). Lock only over the pinning phase of the collection, since it is enough.
-
由 Vlad Brezae 提交于
[sgen] Fix sgen pagesize
-
由 Marius Ungureanu 提交于
Bump bockbuild
-
由 Marius Ungureanu 提交于
-
- 23 6月, 2017 14 次提交
-
-
由 Alex Rønne Petersen 提交于
Otherwise we could crash in mono_thread_info_current ().
-
由 Chris Lapa 提交于
Signed-off-by: NChris Lapa <chris@lapa.com.au>
-
由 Ankit Jain 提交于
-
由 Ankit Jain 提交于
-
由 Vlad Brezae 提交于
This reduces regressions for switching from MS_BLOCK_SIZE compile time constant to ms_block_size variable by 85% on the tests where this was showing up. In the future we should implement a block allocator, which would, amongst other benefits, enable us to remove the block-size/page-size dependency.
-
由 Vlad Brezae 提交于
The block size must be a multiple of the system page size. Page size simply cannot be determined reliably at compile time, so we must obtain the page size through a system call on startup and use it as the block size. We still enforce a minimum block size of 16kb on systems where the page size is smaller than that. The old code hardcoded page sizes for certain architectures with large pages. THe problem is that those architectures don't necessarily have to have large pages and on systems where this wasn't the case, we'd end up with a block size much larger than needed. Rebase of @alexrp's work.
-
由 Rodrigo Kumpera 提交于
[aot] Fix the name of the mono_gc_wbarrier_range_copy icall. FullAOT with direct calls requires it.
-
由 Zoltan Varga 提交于
-
由 Alex Rønne Petersen 提交于
[profiler] Remove class unload events.
-
由 Alex Rønne Petersen 提交于
These are never actually emitted by the profiler API because they make no sense in the context of Mono's metadata layer.
-
由 Alex Rønne Petersen 提交于
[profiler] Fix a deadlock due to recursive use of the buffer lock.
-
由 Rodrigo Kumpera 提交于
-
由 Alex Rønne Petersen 提交于
[mini] Use an atomic add for the code coverage counter when possible.
-
由 Eddie Hedges 提交于
-
- 22 6月, 2017 11 次提交
-
-
由 Alex Rønne Petersen 提交于
-
由 Zoltan Varga 提交于
[runtime] Add a few missing error_init () calls to the mono_custom_attrs_from_... functions. Fixes #57488. (#5076)
-
由 Zoltan Varga 提交于
[sre] Fix the signature of the create_dynamic_method () icall, make it static since the C implementation only takes two parameters, this only caused problems if the icall set the error, since it overwrite the DynamicMethod object instead. Fixes #57301. (#5081)
-
由 Alex Rønne Petersen 提交于
[mini] Remove codegen special cases around MONO_PROFILE_ENTER_LEAVE.
-
由 Alex Rønne Petersen 提交于
Enter/leave instrumentation is now done with icalls at the IR level, so these special cases are no longer needed.
-
由 Alex Rønne Petersen 提交于
The lock no longer supports recursion as of 10ba2222. Not that it ever really did, since the old implementation was buggy.
-
由 Ludovic Henry 提交于
-
由 Alex Rønne Petersen 提交于
The former is async-signal-safe, while the latter makes no guarantees and also isn't actually portable.
-
由 Aleksey Kliger (λgeek) 提交于
[coop handles] Implement various SetValue methods
-
由 Rodrigo Kumpera 提交于
[io-layer] When deleting a file, check for EROFS and verify if the file exists. Fixes #57629.
-
由 Rodrigo Kumpera 提交于
-
- 21 6月, 2017 3 次提交
-
-
由 Bernhard Urban 提交于
-
由 Bernhard Urban 提交于
-
由 Alex Rønne Petersen 提交于
-