1. 15 11月, 2021 12 次提交
  2. 14 11月, 2021 5 次提交
    • S
      Enable new analyzers in global configs (#60914) · a3b186b9
      Stephen Toub 提交于
      * Enable new analyzers in global configs
      
      * Address PR feedback
      a3b186b9
    • Z
      [mono] Disable partial generic sharing for gparams with non-enum constraints. (#59437) · edd64670
      Zoltan Varga 提交于
      If a generic argument is a primitive type, and it has an interface constraint
      that enums don't implement, then partial sharing for that instance is not
      useful, since only the specific primitive type instance will be able
      to use the shared version.
      
      Fixes https://github.com/dotnet/runtime/issues/54910.
      edd64670
    • Z
      [mono] Add a 'inline_method' profiler event. (#61454) · aa06797e
      Zoltan Varga 提交于
      Emit it in the interpreter when a method is inlined or replaced with
      an intrinsic. This is needed so the AOT profiler can track these
      methods.
      aa06797e
    • A
      Update how OSR and PGO interact (#61453) · 26a6f553
      Andy Ayers 提交于
      When both OSR and PGO are enabled:
      * Enable instrumenting OSR methods, so that the combined profile data from
      Tier0 plus any OSR variants provide a full picture for subsequent Tier1
      optimization.
      * Use block profiles for both Tier0 methods that are likely to have patchpoints
      and OSR methods.
      * Fix phase ordering so partially jitted methods don't lose probes.
      * A few more fixes for partial compilation, because the number of things
      we think we might instrument and the number of things we end up instrumenting
      can differ.
      * Also improve the DumpJittedMethod output for OSR, and allow selective dumping
      of a particular OSR variant by specifying its IL offset.
      
      The updates on the runtime side are to pass BBINSTR to OSR methods, and to
      handle the (typical) case where the OSR method instrumentation schema is a subset
      of the Tier0 method schema.
      
      We are still allowing OSR methods to read the profile data. So they are both
      profile instrumented and profile optimized. Not clear if this is going to work
      well as the Tier0 data will be incomplete and optimization quality may be poor.
      Something to revisit down the road.
      26a6f553
    • A
      [mini] Allow MONO_VERBOSE_METHOD='*:*' (#61520) · a4bb83a3
      Aleksey Kliger (λgeek) 提交于
      Implement method name wildcard matching for method descriptions
      
      Globbing doesn't work because we don't have g_pattern_match_simple in eglib.
      But a plain '*' wildcard does work.
      a4bb83a3
  3. 13 11月, 2021 8 次提交
  4. 12 11月, 2021 10 次提交
  5. 11 11月, 2021 5 次提交
    • D
    • P
      Fix bug where we reference the entry #0 in the pinned plug queue (#60966) · 4b90e803
      Peter Sollich 提交于
      We reference entry #0 in the pinned plug queue even if there are no pinned plugs at all and thus the pinned plug queue contains left-over data from the mark phase.
      
      The fix is to initialize saved_pinned_plug_index to a value that is invalid as a pinned plug queue index, and only use saved_pinned_plug_index as an index if  is valid.
      4b90e803
    • S
      [Mono] Skip flaky android tests (#61460) · 8ad84e88
      Simon Rozsival 提交于
      There are connectivity issues on some physical Android devices. We should disable the affected tests until the issue isn't resolved.
      
      Ref #61343
      8ad84e88
    • J
      Some more precise debug info improvements (#61419) · a761b9fc
      Jakob Botsch Nielsen 提交于
      * We were not recording precise info in inlinees except for at IL offset
        0 because most of the logic that handles determining when to attach
        debug info did not run for inlinees. There are no changes in what the
        EE sees since we were normalizing debug info back to the root anyway.
      
      * Propagate debug info even further than just until rationalization, to
        make it simpler to dump the precise debug info. This means we create
        some more GT_IL_OFFSET nodes, in particular when the inlinee debug
        info is valid but the root info is invalid. This is currently
        happening for newobj IL instructions when the constructor is inlined.
        We generate two statements:
        GT_ASG(GT_LCL_VAR(X), ALLOCOBJ(CLS));
        GT_CALL(CTOR, GT_LCL_VAR(X))
        and the first statement ends up "consuming" the debug info, meaning we
        end up with no debug info for the GT_CALL, which eventually propagates
        into the inline tree. I have held off on fixing this for now since it
        causes debug info diffs in the data reported back to the EE.
      
        The additional nodes in LIR result in 0.15% more memory use and 0.015%
        more instructions retired for SPMI over libraries.
      
      There is also a small fix in gtlist.h for GT_BFIZ when
      MEASURE_NODE_SIZES is defined.
      
      No SPMI diffs.
      a761b9fc
    • J
      Include the "TargetingPack" folder in the mobile apps. (#61432) · 6f5de0b2
      Jeremy Koritzinsky 提交于
      Fixes #61322
      Fixes #61299
      6f5de0b2