[JSC] MacroAssemblerX86::branch8 should accept unsigned 8bit value
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 4 Jul 2016 05:39:17 +0000 (05:39 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 4 Jul 2016 05:39:17 +0000 (05:39 +0000)
commitc13715f8614605b71ee8b1ec05f2237687d5ff57
treef42f6d098f2a5c8d97d0c8d9574240b9feab40e1
parent52999c51564768facf34dd840fe25e85aaa3f3a7
[JSC] MacroAssemblerX86::branch8 should accept unsigned 8bit value
https://bugs.webkit.org/show_bug.cgi?id=159334

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

As described in branchTest8 functions, byte in TrustedImm32 is not well defined.
So the assertion here should be a little permissive; accepting -128 to 255.

This assertion is originally fired when executing misc-bugs-847389-jpeg2000 benchmark in Debug build.
So this patch includes misc-bugs-847389-jpeg2000 benchmark.

* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::branchTest8):
(JSC::MacroAssemblerX86Common::branch8):
* b3/testb3.cpp:
(JSC::B3::testBranch8WithLoad8ZIndex):
(JSC::B3::run):

LayoutTests:

* TestExpectations:
* js/regress/misc-bugs-847389-jpeg2000-expected.txt: Added.
* js/regress/misc-bugs-847389-jpeg2000.html: Added.
* js/regress/script-tests/misc-bugs-847389-jpeg2000.js: Added.
(error):
(warn):
(JpxImage.JpxImageClosure.JpxImage):
(JpxImage.JpxImageClosure.JpxImage.prototype.load.JpxImage_load.xhr.onload):
(JpxImage.JpxImageClosure.JpxImage.prototype.load):
(JpxImage.JpxImageClosure.JpxImage.prototype.parse.JpxImage_parse.readUint):
(JpxImage.JpxImageClosure.JpxImage.prototype.parse):
(JpxImage.JpxImageClosure.JpxImage.prototype.parseCodestream):
(JpxImage.JpxImageClosure.readUint32):
(JpxImage.JpxImageClosure.readUint16):
(JpxImage.JpxImageClosure.log2):
(JpxImage.JpxImageClosure.calculateComponentDimensions):
(JpxImage.JpxImageClosure.calculateTileGrids):
(JpxImage.JpxImageClosure.getBlocksDimensions):
(JpxImage.JpxImageClosure.buildPrecincts):
(JpxImage.JpxImageClosure.buildCodeblocks):
(JpxImage.JpxImageClosure.createPacket):
(JpxImage.JpxImageClosure.LayerResolutionComponentPositionIterator.this.nextPacket):
(JpxImage.JpxImageClosure.LayerResolutionComponentPositionIterator):
(JpxImage.JpxImageClosure.ResolutionLayerComponentPositionIterator.this.nextPacket):
(JpxImage.JpxImageClosure.ResolutionLayerComponentPositionIterator):
(JpxImage.JpxImageClosure.buildPackets):
(JpxImage.JpxImageClosure.readBits):
(JpxImage.JpxImageClosure.alignToByte):
(JpxImage.JpxImageClosure.readCodingpasses):
(JpxImage.JpxImageClosure.parseTilePackets):
(JpxImage.JpxImageClosure.copyCoefficients):
(JpxImage.JpxImageClosure.transformTile):
(JpxImage.JpxImageClosure.transformComponents):
(JpxImage.JpxImageClosure.initializeTile):
(JpxImage.JpxImageClosure.):
(JpxImage.JpxImageClosure.TagTree):
(JpxImage.JpxImageClosure.InclusionTree):
(JpxImage.JpxImageClosure.ArithmeticDecoder):
(JpxImage.JpxImageClosure.BitModel):
(JpxImage.JpxImageClosure.Transform):
(JpxImage.JpxImageClosure.IrreversibleTransform):
(JpxImage.JpxImageClosure.ReversibleTransform):
(JpxImage):
(atob):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@202797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/js/regress/misc-bugs-847389-jpeg2000-expected.txt [new file with mode: 0644]
LayoutTests/js/regress/misc-bugs-847389-jpeg2000.html [new file with mode: 0644]
LayoutTests/js/regress/script-tests/misc-bugs-847389-jpeg2000.js [new file with mode: 0644]
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
Source/JavaScriptCore/b3/testb3.cpp