[ https://issues.apache.org/jira/browse/LUCENE-3738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13239621#comment-13239621 ]
Uwe Schindler commented on LUCENE-3738: --------------------------------------- Yonik, the unrolling was added because of a recent Java 6 hotspot bug (who unrolled the loop itsself - but wrongly). The thing that Mike has seen was a strange thing that the already unrolled code (since 3.1) behaves different before/after a slight code change done in this issue. > Be consistent about negative vInt/vLong > --------------------------------------- > > Key: LUCENE-3738 > URL: https://issues.apache.org/jira/browse/LUCENE-3738 > Project: Lucene - Java > Issue Type: Bug > Reporter: Michael McCandless > Assignee: Uwe Schindler > Fix For: 3.6, 4.0 > > Attachments: LUCENE-3738.patch, LUCENE-3738.patch, LUCENE-3738.patch, > LUCENE-3738.patch, LUCENE-3738.patch > > > Today, write/readVInt "allows" a negative int, in that it will encode and > decode correctly, just horribly inefficiently (5 bytes). > However, read/writeVLong fails (trips an assert). > I'd prefer that both vInt/vLong trip an assert if you ever try to write a > negative number... it's badly trappy today. But, unfortunately, we sometimes > rely on this... had we had this assert in 'since the beginning' we could have > avoided that. > So, if we can't add that assert in today, I think we should at least fix > readVLong to handle negative longs... but then you quietly spend 9 bytes > (even more trappy!). -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org