1. 09 4月, 2021 1 次提交
  2. 07 4月, 2021 1 次提交
  3. 01 4月, 2021 1 次提交
  4. 24 3月, 2021 1 次提交
    • J
      Implement multithreaded liveness checking · e74b22fa
      Josh Peterson 提交于
      This branch introduces support for multithreaded liveness checking, and uses a new block container type, that will allocate new blocks when needed, instead of reallocating a continuous array like the old implementation did. This also removes the need for starting and stopping the world, and removing the marks that has been set in the walked objects.
      e74b22fa
  5. 20 3月, 2021 1 次提交
  6. 18 3月, 2021 1 次提交
  7. 17 3月, 2021 4 次提交
    • J
      Merge pull request #1414 from Unity-Technologies/unity-master-fix-1188422 · 035ddace
      Jonathan Chambers 提交于
      [mini] Fix delegate trampoline virtual call via delgate Invoke (#18073)
      035ddace
    • T
      Merge pull request #1411 from Unity-Technologies/arm64-jit-fixes · da4c6e2f
      Tautvydas Žilys 提交于
      ARM64 JIT fixes for macOS
      da4c6e2f
    • A
      [mini] Fix delegate trampoline virtual call via delgate Invoke (#18073) · ac78c1e3
      Aleksey Kliger (λgeek) 提交于
      * [mini] Fix delegate trampoline virtual call via delgate Invoke
      
      If we need to jit the Invoke method of a delegate, we get tramp_info with a
      NULL method.
      
      Background: normally when we create a delegate around a virtual method,
      handle_delegate_ctor will just create a virtual invoke trampoline with
      mono_arch_get_delegate_virtual_invoke_impl which doesn't get here.  But if
      we're asked to compile the delegate's Invoke method, then compile_special ()
      will create a tramp_info with a null method, and return a delegate trampoline.
      
      That's the case here - we had
        var del = SomeDelegate(obj.VirtualMethod);
        var invoke_method = del.GetType().GetMethod ("Invoke");
        invoke_method.Invoke (del, args);
      or
        var del = SomeDelegate(obj.VirtualMethod);
        var another_del = OtherDelegate (del.Invoke);
        another_del (args);
      
      in both cases, we end up in mono_delegate_trampoline with tramp_info->method ==
      NULL.
      
      in the second case the IL is like this:
         newobj instance void Derived::'.ctor'
         ldvirtftn instance void class Base::VirtualMethod()
         newobj instance void class SomeDelegate::'.ctor'(object, native int)
      
      So delegate->target is a derived instance but delegate->method is some base
      class method.
      
      Addresses https://github.com/mono/mono/issues/17718
      
      * [tests] Add tests for compiling delegate's Invoke method
      
      Where the delegate calls a virtual method
      ac78c1e3
    • A
      Merge pull request #1413 from Unity-Technologies/fix-1313205 · ae2974e4
      Alex Thibodeau 提交于
      Implementing a slightly different variation of upstream's fix for HttpWebRequest timeout bug (case 1313205)
      ae2974e4
  8. 16 3月, 2021 3 次提交
  9. 15 3月, 2021 1 次提交
  10. 13 3月, 2021 1 次提交
  11. 12 3月, 2021 1 次提交
  12. 04 3月, 2021 1 次提交
  13. 03 3月, 2021 2 次提交
    • A
      Merge pull request #1407 from Unity-Technologies/unity-master-fix-1318722 · 34de9f5d
      Alex Thibodeau 提交于
      Fix Mono Windows x64 crash blocking CI Windows x64 Release job. (#20720) (case 1318722)
      34de9f5d
    • M
      Fix Mono Windows x64 crash blocking CI Windows x64 Release job. (#20720) · f1686786
      monojenkins 提交于
      After upgrade to later msvc version on CI boots, see https://github.com/dotnet/runtime/issues/45524 for details, Window x64 Release builds started to crash on libraries tests.
      
      After investigation it turns out that new msvc compiler handles an expression different compared to how it was handled in previous version.
      
      After upgrade of msvc, the expression:
      
      int _amd64_width_temp = ((guint64)(imm) == (guint64)(int)(guint64)(imm));
      
      implemented in amd64_mov_reg_imm and then called from tramp-amd64.c@500 was transformed into an always true expression by compiler:
      
      ```
      amd64_mov_reg_imm (code, AMD64_R11, (guint8*)mono_get_rethrow_preserve_exception_addr ());
      
      lea rcx,[rethrow_preserve_exception_func (07FFB9E33A590h)]
      mov word ptr [rbx+0Dh],0BB41h
      mov byte ptr [rbx+0Fh],cl
      mov rax,rcx
      shr eax,8
      mov byte ptr [rbx+10h],al
      mov rax,rcx
      shr eax,10h
      shr ecx,18h
      mov byte ptr [rbx+11h],al
      lea rax,[rbx+13h]
      mov byte ptr [rbx+12h],cl
      ```
      
      as seen above, the condition and handling of a 64-bit imm has been dropped by compiler.
      
      This cause issues when the imm is a 64-bit value since it will always gets truncated into 32-bit imm and in this case it was a pointer to a function within coreclr.dll (mono_get_rethrow_preserve_exception_addr) loaded located at higher address (using more than 32-bit).
      
      This is most likely a regression issue in compiler for this specific construction. I tried simpler construction (using same type conversion) on both old and new compiler version and then it makes the right optimization.
      
      Fix is to switch to a macro already available in amd64-codegen (amd64_is_imm32) detecting if an imm needs a 32-bit or 64-bit sized value. This will be correctly optimized by new msvc compiler and even if this is a work around for a what seems to be a optimization bug in the compiler, it is still cleaner and better describes the intent than current code.
      
      Fix also re-enable Windows x64 Release CI test lane.
      Co-authored-by: NlateralusX <lateralusX@users.noreply.github.com>
      f1686786
  14. 02 3月, 2021 2 次提交
  15. 24 2月, 2021 1 次提交
  16. 22 2月, 2021 1 次提交
    • A
      Merge pull request #1401 from... · ab0dd264
      AndreasReich 提交于
      Merge pull request #1401 from Unity-Technologies/unity-master-include-system-store-certificates-in-callback
      
      Unity master include system store certificates in callback
      ab0dd264
  17. 17 2月, 2021 4 次提交
  18. 16 2月, 2021 3 次提交
  19. 13 2月, 2021 8 次提交
  20. 11 2月, 2021 1 次提交
  21. 09 2月, 2021 1 次提交
    • B
      Move HttpUtility from System.Web.Services to System.Web · b1324814
      Bill Holmes 提交于
      This is a followup to my previous PR where I moved HttpUtility from
      System to System.Web. What we found in il2cpp testing is that
      HttpUtility was also in System.Web.Services.
      
      This PR removes the duplicate classes from System.Web.Services. However
      there UrlEncodedParameterWriter inside System.Web.Services needs a
      UrlEncode method.
      
      To solve this dependency this commits follows the code from corefx and
      uses an existing helper class within. Bringing in Scalars.cs to
      accomplish this.
      b1324814