[COMMIT] Make get_char_table in loop bodies more tolerable without optimization.
Aidan Kehoe <[email protected]> Fri, 8 May 2015 12:54:21 +0100
| Newsgroups | gmane.emacs.xemacs.patches |
|---|---|
| Message-ID | <[email protected]> |
CkFQUFJPVkUgQ09NTUlUCgpOT1RFOiBUaGlzIHBhdGNoIGhhcyBiZWVuIGNvbW1pdHRlZC4KCiMg SEcgY2hhbmdlc2V0IHBhdGNoCiMgVXNlciBBaWRhbiBLZWhvZSA8a2Vob2VhQHBhcmhhc2FyZC5u ZXQ+CiMgRGF0ZSAxNDMxMDg1NjMzIC0zNjAwCiMgICAgICBGcmkgTWF5IDA4IDEyOjQ3OjEzIDIw MTUgKzAxMDAKIyBOb2RlIElEIDJkYzg3MTFhZjUzN2YxNjY0ZDMxZjBkMDdlYjA0ODQ0YjcwNTYx NGQKIyBQYXJlbnQgIGE0ODVjYWExMTMxZDllODUwYjRmYWYzNjlmOGQxZTgyNDMzNzllYzUKTWFr ZSBnZXRfY2hhcl90YWJsZSBpbiBsb29wIGJvZGllcyBtb3JlIHRvbGVyYWJsZSB3aXRob3V0IG9w dGltaXphdGlvbi4KCjIwMTUtMDUtMDggIEFpZGFuIEtlaG9lICA8a2Vob2VhQHBhcmhhc2FyZC5u ZXQ+CgoJKiBjaGFydGFiLmggKGdldF9jaGFyX3RhYmxlKToKCSogY2hhcnRhYi5oIChnZXRfY2hh cl90YWJsZV9taXJyb3JzX29rKTogTmV3LgoJUHJvdmlkZSBnZXRfY2hhcl90YWJsZV9taXJyb3Jz X29rLCB3aGljaCBkaWZmZXJzIGZyb20KCWdldF9jaGFyX3RhYmxlIG9ubHkgaWYgRVJST1JfQ0hF Q0tfVFlQRVMgaXMgZGVmaW5lZC4KCUltcGxlbWVudCBpdCwgYW5kIGdldF9jaGFyX3RhYmxlLCB1 c2luZyBhIG1hY3JvIHdyYXBwZXIgb2YKCWdldF9jaGFyX3RhYmxlXzEsIHNvIHRoYXQgb24gYnVp bGRzIHdpdGhvdXQgb3B0aW1pemF0aW9uIGVhY2gKCWdldF9jaGFyX3RhYmxlIG5vIGxvbmdlciBy ZXF1aXJlcyB0d28gQyBmdW5jdGlvbiBjYWxscy4KCSogY2hhcnRhYi5jICh1cGRhdGluZ19taXJy b3JfZ2V0X3JhbmdlX2NoYXJfdGFibGUpOgoJVXNlIGdldF9jaGFyX3RhYmxlX21pcnJvcnNfb2su CgkqIHN5bnRheC5oOgoJRGl0dG8uCgpkaWZmIC1yIGE0ODVjYWExMTMxZCAtciAyZGM4NzExYWY1 Mzcgc3JjL0NoYW5nZUxvZwotLS0gYS9zcmMvQ2hhbmdlTG9nCVR1ZSBNYXkgMDUgMTM6MTI6MTQg MjAxNSArMDkwMAorKysgYi9zcmMvQ2hhbmdlTG9nCUZyaSBNYXkgMDggMTI6NDc6MTMgMjAxNSAr MDEwMApAQCAtMSwzICsxLDE3IEBACisyMDE1LTA1LTA4ICBBaWRhbiBLZWhvZSAgPGtlaG9lYUBw YXJoYXNhcmQubmV0PgorCisJKiBjaGFydGFiLmggKGdldF9jaGFyX3RhYmxlKToKKwkqIGNoYXJ0 YWIuaCAoZ2V0X2NoYXJfdGFibGVfbWlycm9yc19vayk6IE5ldy4KKwlQcm92aWRlIGdldF9jaGFy X3RhYmxlX21pcnJvcnNfb2ssIHdoaWNoIGRpZmZlcnMgZnJvbQorCWdldF9jaGFyX3RhYmxlIG9u bHkgaWYgRVJST1JfQ0hFQ0tfVFlQRVMgaXMgZGVmaW5lZC4KKwlJbXBsZW1lbnQgaXQsIGFuZCBn ZXRfY2hhcl90YWJsZSwgdXNpbmcgYSBtYWNybyB3cmFwcGVyIG9mCisJZ2V0X2NoYXJfdGFibGVf MSwgc28gdGhhdCBvbiBidWlsZHMgd2l0aG91dCBvcHRpbWl6YXRpb24gZWFjaAorCWdldF9jaGFy X3RhYmxlIG5vIGxvbmdlciByZXF1aXJlcyB0d28gQyBmdW5jdGlvbiBjYWxscy4KKwkqIGNoYXJ0 YWIuYyAodXBkYXRpbmdfbWlycm9yX2dldF9yYW5nZV9jaGFyX3RhYmxlKToKKwlVc2UgZ2V0X2No YXJfdGFibGVfbWlycm9yc19vay4KKwkqIHN5bnRheC5oOgorCURpdHRvLgorCiAyMDE1LTA0LTIw ICBKZXJyeSBKYW1lcyAgPGphbWVzQHhlbWFjcy5vcmc+CiAKIAkqIGxpc3AuaCAobWF4X2FsaWdu X3QpOiBEbyBub3QgZGVmaW5lIGlmIEMxMSBvciBDKysxMSwgb3IgYSBsYXRlcgpkaWZmIC1yIGE0 ODVjYWExMTMxZCAtciAyZGM4NzExYWY1Mzcgc3JjL2NoYXJ0YWIuYwotLS0gYS9zcmMvY2hhcnRh Yi5jCVR1ZSBNYXkgMDUgMTM6MTI6MTQgMjAxNSArMDkwMAorKysgYi9zcmMvY2hhcnRhYi5jCUZy aSBNYXkgMDggMTI6NDc6MTMgMjAxNSArMDEwMApAQCAtMTA0Miw3ICsxMDQyLDcgQEAKIAkJCQkg ICAgICBMaXNwX09iamVjdCBtdWx0aSkKIHsKICAgaWYgKHJhbmdlLT50eXBlID09IENIQVJUQUJf UkFOR0VfQ0hBUikKLSAgICByZXR1cm4gZ2V0X2NoYXJfdGFibGVfMSAocmFuZ2UtPmNoLCB0YWJs ZSk7CisgICAgcmV0dXJuIGdldF9jaGFyX3RhYmxlX21pcnJvcnNfb2sgKHJhbmdlLT5jaCwgdGFi bGUpOwogICBlbHNlCiAgICAgcmV0dXJuIGdldF9yYW5nZV9jaGFyX3RhYmxlXzEgKHJhbmdlLCB0 YWJsZSwgbXVsdGkpOwogfQpkaWZmIC1yIGE0ODVjYWExMTMxZCAtciAyZGM4NzExYWY1Mzcgc3Jj L2NoYXJ0YWIuaAotLS0gYS9zcmMvY2hhcnRhYi5oCVR1ZSBNYXkgMDUgMTM6MTI6MTQgMjAxNSAr MDkwMAorKysgYi9zcmMvY2hhcnRhYi5oCUZyaSBNYXkgMDggMTI6NDc6MTMgMjAxNSArMDEwMApA QCAtMTQwLDEzICsxNDAsMjggQEAKIAkJCQkJICAgIGludCBsZWFkaW5nX2J5dGUsCiAJCQkJCSAg ICBJY2hhciBjKTsKIAorI2lmZGVmIEVSUk9SX0NIRUNLX1RZUEVTCitERUNMQVJFX0lOTElORV9I RUFERVIgKAorTGlzcF9PYmplY3QKK2dldF9jaGFyX3RhYmxlXzEgKEljaGFyIGNoLCBMaXNwX09i amVjdCB0YWJsZSwgQm9vbGludCBtaXJyb3JzX2FsbG93ZWQpCispCisjZWxzZQogREVDTEFSRV9J TkxJTkVfSEVBREVSICgKIExpc3BfT2JqZWN0CiBnZXRfY2hhcl90YWJsZV8xIChJY2hhciBjaCwg TGlzcF9PYmplY3QgdGFibGUpCiApCisjZW5kaWYKIHsKICAgTGlzcF9PYmplY3QgcmV0dmFsOwog ICBMaXNwX0NoYXJfVGFibGUgKmN0ID0gWENIQVJfVEFCTEUgKHRhYmxlKTsKKworI2lmZGVmIEVS Uk9SX0NIRUNLX1RZUEVTCisgIGlmICghbWlycm9yc19hbGxvd2VkKQorICAgIHsKKyAgICAgIGFz c2VydCAoIWN0LT5taXJyb3JfdGFibGVfcCk7CisgICAgfQorI2VuZGlmCisKICNpZmRlZiBNVUxF CiAgIGlmIChjaCA8IE5VTV9BU0NJSV9DSEFSUykKICAgICByZXR2YWwgPSBjdC0+YXNjaWlbY2hd OwpAQCAtMTY4LDE2ICsxODMsMTEgQEAKIH0KIAogI2lmZGVmIEVSUk9SX0NIRUNLX1RZUEVTCi1E RUNMQVJFX0lOTElORV9IRUFERVIgKAotTGlzcF9PYmplY3QKLWdldF9jaGFyX3RhYmxlIChJY2hh ciBjaCwgTGlzcF9PYmplY3QgdGFibGUpCi0pCi17Ci0gIGFzc2VydCAoIVhDSEFSX1RBQkxFICh0 YWJsZSktPm1pcnJvcl90YWJsZV9wKTsKLSAgcmV0dXJuIGdldF9jaGFyX3RhYmxlXzEgKGNoLCB0 YWJsZSk7Ci19CisjZGVmaW5lIGdldF9jaGFyX3RhYmxlKGNoLCB0YWJsZSkgZ2V0X2NoYXJfdGFi bGVfMSAoY2gsIHRhYmxlLCAwKQorI2RlZmluZSBnZXRfY2hhcl90YWJsZV9taXJyb3JzX29rKGNo LCB0YWJsZSkgZ2V0X2NoYXJfdGFibGVfMSAoY2gsIHRhYmxlLCAxKQogI2Vsc2UKLSNkZWZpbmUg Z2V0X2NoYXJfdGFibGUoY2gsIHRhYmxlKSBnZXRfY2hhcl90YWJsZV8xIChjaCwgdGFibGUpCisj ZGVmaW5lIGdldF9jaGFyX3RhYmxlIGdldF9jaGFyX3RhYmxlXzEKKyNkZWZpbmUgZ2V0X2NoYXJf bWlycm9yc19vayBnZXRfY2hhcl90YWJsZV8xCiAjZW5kaWYKIAogZW51bSBjaGFydGFiX3Jhbmdl X3R5cGUKZGlmZiAtciBhNDg1Y2FhMTEzMWQgLXIgMmRjODcxMWFmNTM3IHNyYy9zeW50YXguaAot LS0gYS9zcmMvc3ludGF4LmgJVHVlIE1heSAwNSAxMzoxMjoxNCAyMDE1ICswOTAwCisrKyBiL3Ny Yy9zeW50YXguaAlGcmkgTWF5IDA4IDEyOjQ3OjEzIDIwMTUgKzAxMDAKQEAgLTkyLDcgKzkyLDcg QEAKIHsKICAgdHlwZV9jaGVja2luZ19hc3NlcnQgKFhDSEFSX1RBQkxFICh0YWJsZSktPm1pcnJv cl90YWJsZV9wKTsKICAgdXBkYXRlX21pcnJvcl9zeW50YXhfaWZfZGlydHkgKHRhYmxlKTsKLSAg cmV0dXJuIFhGSVhOVU0gKGdldF9jaGFyX3RhYmxlXzEgKGMsIHRhYmxlKSk7CisgIHJldHVybiBY RklYTlVNIChnZXRfY2hhcl90YWJsZV9taXJyb3JzX29rIChjLCB0YWJsZSkpOwogfQogCiAjaWZk ZWYgTk9UX1dPUlRIX1RIRV9FRkZPUlQKQEAgLTEwNSw3ICsxMDUsNyBAQAogKQogewogICB0eXBl X2NoZWNraW5nX2Fzc2VydCAoWENIQVJfVEFCTEUgKHRhYmxlKS0+bWlycm9yX3RhYmxlX3ApOwot ICByZXR1cm4gKGVudW0gc3ludGF4Y29kZSkgWEZJWE5VTSAoZ2V0X2NoYXJfdGFibGVfMSAoYywg dGFibGUpKTsKKyAgcmV0dXJuIChlbnVtIHN5bnRheGNvZGUpIFhGSVhOVU0gKGdldF9jaGFyX3Rh YmxlX21pcnJvcnNfb2sgKGMsIHRhYmxlKSk7CiB9CiAKICNlbmRpZiAvKiBOT1RfV09SVEhfVEhF X0VGRk9SVCAqLwoKCi0tIArigJhUcmFtYWRvbCBpcyBmdXJ0aGVyIGZlZCB0byBjYXR0bGUgW+KA pl0gd2hlbiB3b3JraW5nIHRoZW0gW+KApl0gKGFzIGRyYWZ0CmFuaW1hbHMpIHNvIHRoYXQgdGhl IGFuaW1hbHMgZG8gbm90IGdldCB0aXJlZCBxdWlja2x5LiDigKbigJkKCeKAlCBBbmdld2FuZHRl IENoZW1pZSwgU2VwdCAyMDE0LCBkZXNjcmliaW5nIHRoZSBzb2NpYWwgY29udGV4dCBvZgoJKHN5 bnRoZXRpYykgdHJhbWFkb2wgaGF2aW5nIGJlZW4gZm91bmQgaW4gQ2FtZXJvb24gdHJlZSByb290 cy4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhFbWFj cy1QYXRjaGVzIG1haWxpbmcgbGlzdApYRW1hY3MtUGF0Y2hlc0B4ZW1hY3Mub3JnCmh0dHA6Ly9s aXN0cy54ZW1hY3Mub3JnL21haWxtYW4vbGlzdGluZm8veGVtYWNzLXBhdGNoZXMK