<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <br>
    <span style="font-size:11.0pt" lang="EN-US"><o:p></o:p></span>
    <blockquote type="cite" cite="mid:CY4PR1001MB21505BC932766E6BAD22A7568C6A9@CY4PR1001MB2150.namprd10.prod.outlook.com">
      <div class="WordSection1">
        <ol style="margin-top:0cm" type="1" start="1">
          <li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo3"><span style="font-size:11.0pt" lang="EN-US">Processing stack
              maps is extremely advanced feature and 99.9% of users
              don’t want to touch it, so why
            </span><span style="font-size:11.0pt">PROCESS_STACK_MAP</span><span style="font-size:11.0pt" lang="EN-US"> is off by default
              and GENERATE_STACK_MAPS is on by default</span></li>
        </ol>
      </div>
    </blockquote>
    <br>
    Agree with this.<br>
    <br>
    <blockquote type="cite" cite="mid:CY4PR1001MB21505BC932766E6BAD22A7568C6A9@CY4PR1001MB2150.namprd10.prod.outlook.com">
      <div class="WordSection1">
        <ol style="margin-top:0cm" type="1" start="1">
          <li class="MsoListParagraph" style="margin-left:0cm;mso-list:l0 level1 lfo3"><span style="font-size:11.0pt" lang="EN-US">When the 0.1% user
              needs to process the stack maps, he needs full control
              over it. So when user enables
            </span><span style="font-size:11.0pt">PROCESS_STACK_MAP</span><span style="font-size:11.0pt" lang="EN-US">, full control of
              what drops to code builder is up-to user.</span></li>
        </ol>
      </div>
    </blockquote>
    <br>
    OK, I don't mind two options, but I'd like to be clear on what they
    mean.  I don't think that merely turning on PROCESS_STACK_MAP will
    clue the user in to the fact that they have disengaged all the
    safety guards.  Some users may just want to _read_ the stack map. 
    So I'm OK with having both PROCESS and GENERATE options, but we
    should be clear what they mean, and be conservative in their
    meanings.  Here's what makes sense to me: <br>
    <br>
    GENERATE: the stack map is *always* generated by the library.  Any
    stack maps sent downstream are still ignored.<br>
    PROCESS: send the stack map to the user.  <br>
    PROCESS & !GENERATE: send the stack map to the user, write any
    stack map the user supplied to the classfile.  <br>
    <br>
    So users who want full control select PROCESS and !GENERATE; users
    who want to see the stackmap select PROCESS only; users who don't
    care about stack maps (which is most of them) select neither.  <br>
    <br>
    I think what this exposes is we need a way to override some options
    on a per-method basis, which is a separate problem.  <br>
    <br>
    <br>
  </body>
</html>