Commits on Jan 23, 2017
  1. [aot] Allow the redirection of aot profile output to an already opene…

    …d fd using outfile=#<fdnum>.
    vargaz committed Jan 23, 2017
  2. Fix a few cppcheck errors (#4281)

    * [zlib] Fix CppCheck error "Shifting a negative value is undefined behaviour"
    This matches what upstream now does:
    * [scripts] Fix CppCheck error "Memory leak: nargv"
    * [tests] Fix CppCheck error: "Memory leak: reference"
    * [aot-compiler] Fix CppCheck error: "Resource leak: infile"
    * [metadata] Fix CppCheck error: "Uninitialized variable: ret"
    akoeplinger committed on GitHub Jan 23, 2017
Commits on Jan 22, 2017
  1. Merge pull request #4274 from kumpera/cctor-abort

    [runtime] Latest attempt at the cctor abort race. All tests passing locally.
    kumpera committed on GitHub Jan 22, 2017
  2. Fix tarball build

    w32api.h wasn't included in any sources in the Makefile.
    Also fix path in vcxproj, the file is in mono/utils not mono/metadata.
    akoeplinger committed Jan 22, 2017
Commits on Jan 21, 2017
  1. [aot] Init the plt before setting acfg->methods_loaded which is acces…

    …sed outside the lock.
    vargaz committed Jan 21, 2017
  2. [io-layer] Extract error (#4279)

    * [file] Remove dead field
    * [process] Remove wapi_getpid
    * [process] Remove CloseHandle
    * [io-layer] Remove dead MONO_TRACE
    * [io-layer] Extract error
    * [io-layer] Extract wapi.h
    * [io-layer] Remove the io-layer
    ludovic-henry committed on GitHub Jan 21, 2017
Commits on Jan 20, 2017
  1. [btls] Remove last traces of statically linked btls

    It was removed in d831fc4.
    akoeplinger committed Jan 20, 2017
  2. Really fix the file mode this time...

    Sorry, should probably get a coffee :(
    akoeplinger committed Jan 20, 2017
  3. [profiler] Add mono-profiler-aot.h to EXTRA_DIST

    This broke the tarball build.
    akoeplinger committed Jan 20, 2017
  4. [io-layer] Extract file (#4255)

    * [io-layer] Merge io related headers
    * [io-layer] Remove global variable _wapi_had_shut_down
    * [io-layer] Inline io-portability.c file into io.c
    * [io-layer] Inline locking.c file into io.c
    * [io-layer] Inline posix.c file into io.c
    * [file] Move metadata/file-io* files to metadata/w32file*
    * [io-layer] Extract file functions
    * [file] Remove overlapped parameter which is always NULL
    * [file] Remove SECURITY_ATTRIBUTES parameter which is always NULL
    * [file] Remove GET_FILEEX_INFO_LEVELS parameter which is always GetFileExInfoStandard
    * [file] Replace ULARGE_INTEGER parameter type with guint64
    * [file] Replace WIN32_FILE_ATTRIBUTE_DATA parameter type with MonoIOStat
    * [file] Remove mono_w32file_create unused parameter tmplate
    * [file] Fix win32 build
    ludovic-henry committed on GitHub Jan 20, 2017
  5. [reflection] Use coop handles for MonoMethod icalls (#4272)

    * [reflection] Use coop handles for MonoMethod.GetGenericArguments
    * [reflection] Use handles for ves_icall_MonoMethod_GetGenericMethodDefinition
      and two more trivial functions:
      - ves_icall_MonoMethod_get_IsGenericMethod
      - ves_icall_MonoMethod_get_IsGenericMethodDefinition
    * [runtime] Add mono_method_get_base_method function
      - Internal function in class-internals.h, for now.
      - Code factored out from ves_icall_MonoMethod_get_base_method
      - ves_icall_MonoMethod_get_base_method just calls this utility and wraps on
        reflection objects, using handles.
    * [reflection] Use coop handles for ves_icall_MonoMethod_MakeGenericMethod_impl
    * [reflection] Use coop handles for ves_icall_MonoMethod_GetPInvoke
    * [reflection] Use coop handles for ves_icall_MonoMethod_get_core_clr_security_level
    * [reflection] Use coop handles for ves_icall_MonoMethod_get_name
    lambdageek committed on GitHub Jan 20, 2017

    To be consistent with the other MONO_FEATURE_* defines.
    akoeplinger committed Jan 20, 2017
  7. [runtime] Mono.Dynamic.Interpreter is no more, delete it from the lis…

    …t of assemblies compiled by make fullaotcheck.
    vargaz committed Jan 20, 2017
  8. [runtime] Poll for interruption on cctor execution if mono_threads_en…

    …d_abort_protected_block returns true.
    kumpera committed Jan 20, 2017
  9. [runtime] Add new thread state INTERRUPT_REQUEST_DEFERRED to fix race…

    … with abort protected blocks.
    The way this works is that when we install a protected block, we change a interrupt requested to interrupt request deferred.
    Then, when protected block count drops to zero, we switch back and inform the caller to poll for interrupts.
    Additionally, when interrupting, we set it to deferred if there's a protected block in effect and it's not a self interrupt.
    kumpera committed Jan 20, 2017
  10. [threading] Change mono_thread_try_resume_interruption to check for t…

    …he abort threshold too.
    kumpera committed Jan 20, 2017
  11. [runtime] Workaround in Environment::Exit icall in case current threa…

    …d has an interruption token installed. Tracked under bug #51653.
    kumpera committed Jan 20, 2017
Commits on Jan 19, 2017
  1. [runtime] Collapse interruption_requested and abort_protected_block_c…

    …ount into a single var.
    This change doesn't change behavior.
    kumpera committed Dec 16, 2016
  2. [sre] Use coop handles in parts of sre.c

    * Convert ves_icall_RuntimeType_MakeGenericType to use handles.
    * The above necessitates converting mono_reflection_bind_generic_parameters and
      mono_reflection_type_get_handle (renamed to
      mono_reflection_type_handle_mono_type) to use handles.
    * From there we have to touch a lot of builder internals:
      - ves_icall_DynamicMethod_create_dynamic_method
      - ves_icall_ModuleBuilder_RegisterToken
      - ves_icall_ModuleBuilder_basic_init
      - ves_icall_ModuleBuilder_getMethodToken
      - ves_icall_ModuleBuilder_getToken
      - ves_icall_ModuleBuilder_getUSIndex
      - ves_icall_TypeBuilder_create_runtime_class
    * As well as runtime functions
      - mono_image_insert_string
      - mono_image_create_token
      - mono_class_{get,has,set}_ref_info
      - mono_reflection_is_usertype
      - mono_dynimage_encode_reflection_sighelper
      - mono_dynamic_image_register_token
    lambdageek committed with lambdageek Jan 12, 2017
  3. Merge pull request #4269 from kumpera/nuget-fixing-round2

    [runtime] A pair of small fixes for the ignore assembly work.
    kumpera committed on GitHub Jan 19, 2017
  4. [threadpool] Fix race on runtime shutdown (#4263)

    We cannot free the threadpool, because there is a race on shutdown where a managed thread may request a new threadpool thread, but we already destroyed the threadpool. So to avoid a use-after-free, we simply do not free the threadpool, as we won't be able to access the threadpool anyway because the ref count will be 0
    ludovic-henry committed on GitHub Jan 19, 2017
  5. [io-layer] Extract socket (#4241)

    * [socket] Extract win32 and unix specific code from w32socket.c
    * [socket] Extract WSAGetLastError and WSASetLastError
    * [socket] Extract closesocket
    * [socket] Extract iocltsocket
    * [socket] Extract socket-wrappers.h functions
    * [socket] Extract w32handle operations
    * [socket] Extract WSAIoctl
    * [socket] Do not use mono_w32socket_ioctl for disconnect
    * [socket] Extract errno_to_WSA
    * [socket] Remove redundant mono_w32handle_get_type/mono_w32handle_lookup
    * [socket] Inline _wapi_* functions
    * [socket] Make disconnect not rely on mono_w32socket_ioctl
    * [socket] Remove unused parameters to mono_w32socket_transmit_file
    * [socket] Refactor calls to mono_w32socket_convert_error
    * [socket] Remove dead code
    ludovic-henry committed on GitHub Jan 19, 2017
  6. [mini] Add new JIT flag JIT_FLAG_DISCARD_RESULTS to reduce the noise …

    …when profiling the jit with --compile-all. (#4266)
    JI registration dominates profiling as it has some perf issues itself.
    kumpera committed with vargaz Jan 19, 2017