<div dir="ltr">Hi David, Hi All,<div><br></div><div>   I&#39;d like Laura to be added as a committer to <a href="http://source.squeak.org/VMMaker">source.squeak.org/VMMaker</a>.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 15, 2016 at 7:28 AM, Laura Perez Cerrato <span dir="ltr">&lt;<a href="mailto:lauraperezcerrato@gmail.com" target="_blank">lauraperezcerrato@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br><div dir="ltr"><div>Hello everyone, </div><div><br></div><div>Working on JPEGReadWriter2 I noticed that both reading and writing primitives include a sanity check that ensures that the source/destination Smalltalk bitmap has the exact size in bytes needed, instead of checking that its size is at least that needed. Some BitBlt primitives perform the same check, thus not allowing operations with forms with associated bitmaps with a size greater than needed. </div><div><br></div><div>When performing operations with images, and specially when such images are large in size, actually processing the images takes a small fraction of the time it takes to perform the whole operation, while allocating and deallocating correctly sized bitmaps takes much longer. If one would wish to process a series of similarly sized images (with a definite maximum size), it would be desirable to allocate a bitmap big enough to hold any of them only once and then reuse it, thus avoiding the aforementioned cost. Checking that source and destination bitmaps are big enough instead of checking that their size is exactly that which is expected would allow that optimization.</div><div><br></div><div>A brief exploration of BitBlt and JPEGReadWriter2&#39;s code, accompanied with some experimenting of what would happen if such sanity checks were modified as proposed, has lead me to thinking that these changes would be benefitial. I haven&#39;t observed any undesirable side effects (meaning, nothing seems to have blown up :)). However, I&#39;m inexperienced in working with the VM, so it&#39;s rather expectable that I miss something :) Your input on the topic would be extremely appreciated.</div><div><br></div><div>The attached changesets contain the proposed set of changes.</div><div><br></div><div>Cheers!</div><div><br></div><div><div data-smartmail="gmail_signature"><div dir="ltr"><font size="2" face="arial, helvetica, sans-serif" color="#000000">-Laura Perez Cerrato</font></div></div></div>
</div>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div>