<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>