1. 28 12月, 2020 6 次提交
    • S
      Fix Incorrect UTC offset during DST transition (case 1288231) · 9f0ce365
      Scott Ferguson 提交于
      Corrects an issue where for the hour after the DST transition, the
      local UTC offset was listed.  The UTC offset was the DST offset
      instead of the standard time offset.
      
      The runtime library captures this an ambiguous time.  That is
      the local time that occurs twice - once in DST then once in standard
      time.  If DST is an extra 1:00 a.m. offset and ends at 2:00 a.m., 1:00 a.m.
      to 1:59:59.9999.... occurs twice.  First in DST then again in standard
      time.
      
      The classlibs had this incorrect - they did not consider 1:00 a.m. an
      ambiguous time, and considered 2:00 a.m. ambiguous.  However it should
      be reversed.  1:00 a.m. occurs twice, but 2:00 a.m. only occurs once.
      The instance we would hit 2:00 a.m. DST, we instantaneous switch to
      1:00 a.m. standard.
      
      The classlibs were also not recording enough information to record
      which side of DST a local time was.  When converting a time from UTC,
      or using DateTime.Now an internal flag, IsAmbiguousDaylightSavingTime,
      should be set if the time is an ambiguous local time that is on the
      DST side of the transition.  The classlibs were calling
      TimeZone.IsAmbigousTime which has a wider defintion for ambiguous
      time that the IsAmbiguousDaylightSavingTime should have.  It returns
      true for local times on either side of DST.  So a new method
      IsAmbiguousLocalDstFromUtc was added to check this case.
      
      The classlibs were also not checking the IsAmbiguousLocalDstFromUtc
      flag when getting the UTC offset for a local time.  So a check
      was inserted in two locations to correct for that.
      
      Some tests has to be updated to reflect these new definitions of when
      DST starts and ends and which times are ambiguous.  These also account
      for some test changes required by cherry-picked changes to
      TimeZoneInfo.cs where the corresponding test changes were not
      cherry-picked.  Some of those changes where in PR's that updated to
      the CoreFx TimeZoneInfo class.
      
      All these changes have been verified against the behavior of the
      .Net Framework and they match.
      
      Fix case 1288231:
      Mono: Fix incorrect UTC offset during daylight savings time transitions
      9f0ce365
    • M
      Fix time zone issue when jumping into DST (#16430) · 4f41a76b
      Maxim Lipnin 提交于
      Addresses an issue with jumping into DST for some time zones when the incorrect date-time offset is returned for date-time in UTC (which comes from DateTime.Now). The fix is to just check if the incoming date-time is in UTC.
      
      Also added a set of tests for some time zones to verify jumping into DST in general.
      
      Fixes https://github.com/mono/mono/issues/16395
      4f41a76b
    • M
    • M
      9b40003e
    • M
      Fix time zone transition out of DST (#15401) · 10873722
      Maxim Lipnin 提交于
      When a datetime appears in range of [end_of_DST_period - Daylight_delta; end_of_DST_period] it's not DST and should return base offset.
      
      Fixes #9664.
      10873722
    • M
      Port 13553 "Fix transition offset logic" to master · 99025397
      Maxim Lipnin 提交于
      99025397
  2. 16 12月, 2020 1 次提交
  3. 10 12月, 2020 1 次提交
    • J
      Increase max size of localloc and localloc_imm on amd64. (#15374) · ae23ae84
      Johan Lorensson 提交于
      We hit the following assert when doing full AOT of some assemblies:
      
      wrong maximal instruction length of instruction localloc (expected 96, got 99)
      Assertion: should not be reached at mono\mono\mini\mini-amd64.c:6801
      
      Turns out that that size could be hit when a couple of things happens as part
      of lowering OP_LOCALLOC and OP_LOCALLOC_IMM:
      
      sreg1 is not RAX, RCX or RDI
      dreg is not RAX, RCX or RDI
      cfg->param_area is bigger than 127
      
      Fix is to increase max size of the instruction, from 96 -> 120 (same as x86).
      ae23ae84
  4. 11 11月, 2020 1 次提交
  5. 05 11月, 2020 3 次提交
  6. 28 10月, 2020 1 次提交
  7. 27 10月, 2020 1 次提交
  8. 26 10月, 2020 1 次提交
  9. 22 9月, 2020 1 次提交
  10. 17 9月, 2020 1 次提交
  11. 14 9月, 2020 1 次提交
  12. 27 8月, 2020 2 次提交
  13. 21 8月, 2020 1 次提交
  14. 14 8月, 2020 1 次提交
  15. 11 8月, 2020 1 次提交
    • U
      Exposing functions: mono_custom_attrs_construct_by_type and mono_unity_error_convert_to_exception · a6741c54
      UnityAlex 提交于
      * mono_custom_attrs_construct_by_type allows unity to have a chance at handling the error if one arises instead of fatally asserting
      * mono_unity_error_convert_to_exception allows unity to take the provided MonoError and fetch the MonoException object within to log into the editor as the exception that was thrown.
      
      This change has associated unity changes in order to fix (case 1255935)
      a6741c54
  16. 06 8月, 2020 1 次提交
  17. 13 7月, 2020 1 次提交
  18. 09 7月, 2020 1 次提交
  19. 02 7月, 2020 1 次提交
  20. 22 6月, 2020 4 次提交
  21. 17 6月, 2020 1 次提交
    • T
      [debugger] Fixing two crashes while debugging an Android app. (#13373) · b91732c3
      Thays Grazia 提交于
      * [debugger] Fixing two crashes while debugging an Android app.
      
      -> Doing stepping into in VSM in some situation the frame saved in TLS is not synchronised with what is really been executed in the main thread. This makes the debugger-agent crashes because it tries to get variable info in some memory that is not available anymore.
      	-> To fix it I forced the update of stack when CMD_THREAD_GET_FRAME_INFO is called.
      
      -> Doing step over in Visual Studio for Windows, if you have the threads debugger window enabled, VSW calls frame_commands for each thread that is showed, and if the thread is not really_suspended it tries to get variable info from a memory that is not available anymore because the thread is not suspended yet.
      	-> To fix it I don't send variable info of a frame if the thread is not really_suspended and doesn't have an async_state valid.
      
      Cherry-picked with some light massaging by Alex Thibodeau (case 1249172)
      b91732c3
  22. 10 6月, 2020 1 次提交
  23. 09 6月, 2020 1 次提交
  24. 07 6月, 2020 1 次提交
  25. 03 6月, 2020 2 次提交
    • J
      Alternate function to set valuetypes for ref-ness · f6fffe82
      Joe Valenzuela 提交于
      Same method that ldloc.s uses, which incorporates the byref test.
      f6fffe82
    • J
      Fix for ldloc/ldfld of ref to valuetype · 0a57e043
      Joe Valenzuela 提交于
      When we have the following sequence:
      
          ldloc n
          ldfld valuetype [Unity.Mathematics]Unity.Mathematics.int2 Foo::bar
      
      and local n is a reference to value, when walking the instructions in
      mono_method_to_ir, we generally try to avoid loading a whole value
      type just to load one of the fields.  I believe this is an
      optimization.
      
      The test here is not quite complete, though, as we have ref valuetypes
      where the object stored at the location is actually an address, in
      which case we still need to treat it as we would a normal reference.
      
      This optimization isn't present in the ldloc.n coded forms and is
      written in a slightly more robust way in ldloc.s, so no changes are
      necessary there.
      
      As an alternative to this commit, we might adopt the ldloc.s test for
      ldloc as well, or merge in
      https://github.com/mono/mono/commit/29428d951637ff85b593ea5c9cc5d5236579906d/mono/mini/method-to-ir.c
      from master which encapsulates much the same intent.
      0a57e043
  26. 19 5月, 2020 1 次提交
  27. 14 5月, 2020 1 次提交
  28. 07 5月, 2020 1 次提交