Support large SLIDE instructions.
Support large SLIDE instructions.

The bytecode generator used to keep track of the stack depth with a
16-bit counter, which could overflow for very large BCOs, resulting in
incorrect bytecode.

This commit switches to a word-sized counter, and eagerly panics
whenever an operand is too big, instead of truncating the result.

This allows us to work around the 16-bit limitation in the case of SLIDE
instructions, since we can simply factor it into multiple SLIDEs with
smaller arguments.

vikraman/ghc,fmthoma/ghc,AlexanderPankiv/ghc,frantisekfarka/ghc-dsi,fmthoma/ghc,green-haskell/ghc,ghc-android/ghc,bitemyapp/ghc,nathyong/microghc-ghc,AlexanderPankiv/ghc,olsner/ghc,hferreiro/replay,urbanslug/ghc,sdiehl/ghc,da-x/ghc,bitemyapp/ghc,elieux/ghc,christiaanb/ghc,forked-upstream-packages-for-ghcjs/ghc,snoyberg/ghc,vikraman/ghc,sgillespie/ghc,lukexi/ghc,holzensp/ghc,spacekitteh/smcghc,GaloisInc/halvm-ghc,ghc-android/ghc,gridaphobe/ghc,sdiehl/ghc,ml9951/ghc,vikraman/ghc,wxwxwwxxx/ghc,forked-upstream-packages-for-ghcjs/ghc,spacekitteh/smcghc,green-haskell/ghc,ekmett/ghc,holzensp/ghc,ryantm/ghc,hferreiro/replay,gcampax/ghc,nathyong/microghc-ghc,nomeata/ghc,holzensp/ghc,wxwxwwxxx/ghc,GaloisInc/halvm-ghc,elieux/ghc,oldmanmike/ghc,acowley/ghc,siddhanathan/ghc,GaloisInc/halvm-ghc,ekmett/ghc,holzensp/ghc,mettekou/ghc,ryantm/ghc,hferreiro/replay,nkaretnikov/ghc,TomMD/ghc,tjakway/ghcjvm,oldmanmike/ghc,AlexanderPankiv/ghc,christiaanb/ghc,fmthoma/ghc,lukexi/ghc,GaloisInc/halvm-ghc,christiaanb/ghc,jstolarek/ghc,hferreiro/replay,frantisekfarka/ghc-dsi,gridaphobe/ghc,sgillespie/ghc,oldmanmike/ghc,christiaanb/ghc,siddhanathan/ghc,snoyberg/ghc,nkaretnikov/ghc,tibbe/ghc,acowley/ghc,ekmett/ghc,oldmanmike/ghc,GaloisInc/halvm-ghc,sdiehl/ghc,vTurbine/ghc,sdiehl/ghc,vikraman/ghc,ml9951/ghc,ghc-android/ghc,sgillespie/ghc,lukexi/ghc-7.8-arm64,da-x/ghc,frantisekfarka/ghc-dsi,fmthoma/ghc,gridaphobe/ghc,nkaretnikov/ghc,nathyong/microghc-ghc,mcschroeder/ghc,nomeata/ghc,tibbe/ghc,christiaanb/ghc,da-x/ghc,mfine/ghc,ezyang/ghc,sdiehl/ghc,elieux/ghc,mettekou/ghc,acowley/ghc,vikraman/ghc,urbanslug/ghc,tjakway/ghcjvm,ml9951/ghc,tjakway/ghcjvm,jstolarek/ghc,oldmanmike/ghc,da-x/ghc,ezyang/ghc,gridaphobe/ghc,olsner/ghc,lukexi/ghc-7.8-arm64,anton-dessiatov/ghc,AlexanderPankiv/ghc,sdiehl/ghc,gcampax/ghc,siddhanathan/ghc,urbanslug/ghc,lukexi/ghc-7.8-arm64,jstolarek/ghc,acowley/ghc,vTurbine/ghc,da-x/ghc,vikraman/ghc,siddhanathan/ghc,olsner/ghc,nushio3/ghc,green-haskell/ghc,forked-upstream-packages-for-ghcjs/ghc,lukexi/ghc-7.8-arm64,anton-dessiatov/ghc,fmthoma/ghc,tjakway/ghcjvm,lukexi/ghc,ghc-android/ghc,ezyang/ghc,TomMD/ghc,GaloisInc/halvm-ghc,ezyang/ghc,ghc-android/ghc,snoyberg/ghc,vTurbine/ghc,gridaphobe/ghc,forked-upstream-packages-for-ghcjs/ghc,gridaphobe/ghc,olsner/ghc,vTurbine/ghc,TomMD/ghc,ml9951/ghc,olsner/ghc,ekmett/ghc,vikraman/ghc,mfine/ghc,nushio3/ghc,ghc-android/ghc,mfine/ghc,mcschroeder/ghc,hferreiro/replay,urbanslug/ghc,jstolarek/ghc,mfine/ghc,frantisekfarka/ghc-dsi,bitemyapp/ghc,nushio3/ghc,siddhanathan/ghc,nathyong/microghc-ghc,ryantm/ghc,bitemyapp/ghc,nushio3/ghc,lukexi/ghc,wxwxwwxxx/ghc,shlevy/ghc,shlevy/ghc,green-haskell/ghc,ghc-android/ghc,nkaretnikov/ghc,shlevy/ghc,elieux/ghc,mettekou/ghc,vTurbine/ghc,mfine/ghc,wxwxwwxxx/ghc,tibbe/ghc,nkaretnikov/ghc,holzensp/ghc,TomMD/ghc,nushio3/ghc,fmthoma/ghc,olsner/ghc,nomeata/ghc,ml9951/ghc,sdiehl/ghc,nomeata/ghc,urbanslug/ghc,elieux/ghc,nomeata/ghc,vTurbine/ghc,ezyang/ghc,TomMD/ghc,urbanslug/ghc,acowley/ghc,GaloisInc/halvm-ghc,spacekitteh/smcghc,nathyong/microghc-ghc,olsner/ghc,green-haskell/ghc,ezyang/ghc,elieux/ghc,gcampax/ghc,forked-upstream-packages-for-ghcjs/ghc,spacekitteh/smcghc,tjakway/ghcjvm,christiaanb/ghc,hferreiro/replay,wxwxwwxxx/ghc,shlevy/ghc,mfine/ghc,wxwxwwxxx/ghc,gridaphobe/ghc,lukexi/ghc-7.8-arm64,anton-dessiatov/ghc,mettekou/ghc,tibbe/ghc,da-x/ghc,shlevy/ghc,gcampax/ghc,ekmett/ghc,nathyong/microghc-ghc,anton-dessiatov/ghc,nkaretnikov/ghc,ml9951/ghc,jstolarek/ghc,oldmanmike/ghc,AlexanderPankiv/ghc,lukexi/ghc,forked-upstream-packages-for-ghcjs/ghc,nathyong/microghc-ghc,snoyberg/ghc,sgillespie/ghc,wxwxwwxxx/ghc,mcschroeder/ghc,anton-dessiatov/ghc,ezyang/ghc,mettekou/ghc,anton-dessiatov/ghc,fmthoma/ghc,shlevy/ghc,acowley/ghc,mettekou/ghc,sgillespie/ghc,tjakway/ghcjvm,gcampax/ghc,nushio3/ghc,mcschroeder/ghc,mfine/ghc,siddhanathan/ghc,snoyberg/ghc,ryantm/ghc,siddhanathan/ghc,snoyberg/ghc,snoyberg/ghc,mcschroeder/ghc,mcschroeder/ghc,anton-dessiatov/ghc,elieux/ghc,da-x/ghc,nkaretnikov/ghc,ryantm/ghc,hferreiro/replay,forked-upstream-packages-for-ghcjs/ghc,AlexanderPankiv/ghc,gcampax/ghc,frantisekfarka/ghc-dsi,ml9951/ghc,acowley/ghc,sgillespie/ghc,TomMD/ghc,ml9951/ghc,bitemyapp/ghc,spacekitteh/smcghc,christiaanb/ghc,nushio3/ghc,sgillespie/ghc,shlevy/ghc,AlexanderPankiv/ghc,gcampax/ghc,mcschroeder/ghc,TomMD/ghc,mettekou/ghc,tibbe/ghc,tjakway/ghcjvm,oldmanmike/ghc,vTurbine/ghc,urbanslug/ghc