[parrot/parrot] c5e9a0: [core] Optimize utf8_substr. do not use utf8 itera...
GitHub
noreply at github.com
Wed Oct 15 08:45:46 UTC 2014
Branch: refs/heads/rurban/lexqnames-gh1095-dev
Home: https://github.com/parrot/parrot
Commit: c5e9a0fa44ab5625cb04dadaf7ae8833c76c964c
https://github.com/parrot/parrot/commit/c5e9a0fa44ab5625cb04dadaf7ae8833c76c964c
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M src/string/encoding/shared.c
M src/string/encoding/unicode.h
M src/string/encoding/utf8.c
Log Message:
-----------
[core] Optimize utf8_substr. do not use utf8 iterator
Use a new utf8_offset function instead. This can be optimized
further if we can guarantee word alignment of the buffers.
Add a special utf8 vtable method for substr.
This is a hot item for perl6, see GH #1097
Do not export the Parrot_utf8skip table anymore, not used
by parrot, nqp, perl6.
Commit: 039e5eb32eab22d398d6d6d4baf79d1c4215beca
https://github.com/parrot/parrot/commit/039e5eb32eab22d398d6d6d4baf79d1c4215beca
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M t/compilers/imcc/syn/clash.t
Log Message:
-----------
[test] add testcase for double-quoted lex names GH #1095
in perl6 the correctly double-quoted .lex "foo\\o", $P3 name fails to work.
see https://rt.perl.org/Public/Bug/Display.html?id=116643
this might be caused by the switch from globals to lexicals, as this statement
is now enclosed in a block.
in parrot the binary character \0 causes problems in lexnames with roundtrips.
Commit: 0d4390fe9460c79ffda2d1142f774d4b874db443
https://github.com/parrot/parrot/commit/0d4390fe9460c79ffda2d1142f774d4b874db443
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M ChangeLog
M src/pmc/lexinfo.pmc
M t/compilers/imcc/syn/clash.t
M t/pmc/lexinfo.t
Log Message:
-----------
[test] Added LexInfo.declare_lex_preg and more imcc/syn/clash.t tests
For GH #1095
global names do work fine, only lexicals not.
Note I do not know how to reliable get the correct target register index for
declare_lex_preg in pure pir, and how to initialize it.
Setting it crashes the ctx.
Commit: a5bf5da8f8ee973a75d2298a7282c78981a98fc6
https://github.com/parrot/parrot/commit/a5bf5da8f8ee973a75d2298a7282c78981a98fc6
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M t/compilers/imcc/syn/clash.t
Log Message:
-----------
[test] add testcase for immc parser bug even with globals
Also updated [GH #1095]
Commit: a7e53f1e4b3afef505a1d20317d3043d549b59ff
https://github.com/parrot/parrot/commit/a7e53f1e4b3afef505a1d20317d3043d549b59ff
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/imcc.y
M t/compilers/imcc/syn/clash.t
Log Message:
-----------
[test] just clarifying comments about the parser
Commit: c2a1996ce5f7168f40b19654af26122b3b75ea6c
https://github.com/parrot/parrot/commit/c2a1996ce5f7168f40b19654af26122b3b75ea6c
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/imcc.y
M compilers/imcc/imcparser.c
M compilers/imcc/imcparser.h
M compilers/imcc/pbc.c
M compilers/imcc/symreg.c
M src/ops/core_ops.c
M src/pmc/lexpad.pmc
M t/compilers/imcc/syn/clash.t
M t/pmc/lexinfo.t
Log Message:
-----------
WIP development only: add -t8 flag, unescape in mk_const
see https://github.com/parrot/parrot/issues/1095#issuecomment-58470471
Commit: 402fa46fddfeda9bacced80fd3c3cd710bf42da7
https://github.com/parrot/parrot/commit/402fa46fddfeda9bacced80fd3c3cd710bf42da7
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/imcc.y
M compilers/imcc/imcparser.c
M compilers/imcc/symreg.c
Log Message:
-----------
WIP mk_const and str_unescape: skip "
Commit: 76f3f6e504d6e13b1eade23a26f32a0ab9c63503
https://github.com/parrot/parrot/commit/76f3f6e504d6e13b1eade23a26f32a0ab9c63503
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/imcc.y
M compilers/imcc/imcparser.c
M compilers/imcc/imcparser.h
M compilers/imcc/pbc.c
M compilers/imcc/pbc.h
M runtime/parrot/library/P6object.pir
M src/string/api.c
M t/compilers/imcc/syn/clash.t
Log Message:
-----------
WIP: fixed the tests, but broke parrot
allow and handle now empty strings im imcc, fix
quoted sub names
Commit: e4c7d6ab5686c7d53ddbe4c167856555f4d8397b
https://github.com/parrot/parrot/commit/e4c7d6ab5686c7d53ddbe4c167856555f4d8397b
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M src/string/api.c
Log Message:
-----------
different string escape policy now
die now with unknown escape sequences A-Za-z,
but allow quoting of special non-word chars, like
\", \[, \}
Commit: 8c01dd8b91455200edd4fc1faed1a0f16acb302d
https://github.com/parrot/parrot/commit/8c01dd8b91455200edd4fc1faed1a0f16acb302d
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/pbc.c
M src/string/api.c
Log Message:
-----------
imcc encodings: fix unicode encoded constants
Commit: cb592b4b33be73f0d087b197bd85d3def933137d
https://github.com/parrot/parrot/commit/cb592b4b33be73f0d087b197bd85d3def933137d
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/imcc.y
M compilers/imcc/imcparser.c
M compilers/imcc/symreg.c
Log Message:
-----------
[imcc] fix .sub name last char
Commit: 070e2c2226b0e3f9bbd33140ff9a14070f85f0a5
https://github.com/parrot/parrot/commit/070e2c2226b0e3f9bbd33140ff9a14070f85f0a5
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/debug.c
M compilers/imcc/pbc.c
M compilers/imcc/symreg.c
M t/op/basic.t
Log Message:
-----------
[imcc] fix -d8 dump_instructions, fix double unescaping
string_from_reg may not unescape the const again. fixes t/op/basic_6.pasm
change t/op/basic_9.pasm to catch the new Unknown escape sequence \i in Parrot fl\ies
Commit: aac490d56dfd919c388ce9a961d73f034fc5c635
https://github.com/parrot/parrot/commit/aac490d56dfd919c388ce9a961d73f034fc5c635
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M src/string/api.c
M t/compilers/imcc/syn/const.t
M t/op/basic.t
Log Message:
-----------
Add throw_illegal_escape_char, add arg to throw_illegal_escape
Harmonize Illegal escape sequence \\%c in %Ss and
Illegal escape sequence %Ss error messages.
Also allow \? \
Note that the C standard requires such "invalid" escape sequences
to be diagnosed i.e., the compiler must print an error message.
Commit: 57f8db4d7d52c4aa9da9d27b12e61adb94b438b2
https://github.com/parrot/parrot/commit/57f8db4d7d52c4aa9da9d27b12e61adb94b438b2
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/debug.h
M compilers/imcc/imcc.y
M compilers/imcc/pbc.c
M compilers/imcc/symreg.c
M include/parrot/interpreter.h
Log Message:
-----------
[imcc] fix U type in sub fixup
Honor mk_const Slp, do not change S to U when called a 2nd time as S
with already stripped quotes.
Change -t8 private trace flag to -d2 proper imcc flag for mk_const tracking
Add more debugging verboseness.
Commit: 036724ad7153c68361af1a70a62aac94cdff1d8c
https://github.com/parrot/parrot/commit/036724ad7153c68361af1a70a62aac94cdff1d8c
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/optimizer.c
M compilers/imcc/parser_util.c
M compilers/imcc/pbc.c
M compilers/imcc/pcc.c
M compilers/imcc/symreg.c
M compilers/imcc/symreg.h
M src/string/api.c
Log Message:
-----------
[imcc] the plot thickens. pass the ghash|0 to _mk_const
do not unescape binary strings containing 0
Commit: a06ecbddedfbdcbe93e0cfba1999ef00dd019f49
https://github.com/parrot/parrot/commit/a06ecbddedfbdcbe93e0cfba1999ef00dd019f49
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/imcc.y
M compilers/imcc/pbc.c
M compilers/imcc/symreg.c
Log Message:
-----------
[imcc] 2 more -t8 leftovers over to -d2
Note that currently string_from_reg is the best place to resolve
encoded U strings, as registers store them the same way as in symreg constants.
But we should optimimze that to be more efficient, see GH #1097
Commit: 64377e834c386aab976cdac4adf0a0851aa65c64
https://github.com/parrot/parrot/commit/64377e834c386aab976cdac4adf0a0851aa65c64
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/symreg.c
Log Message:
-----------
[imcc] represent constants with \0 as fixed_8:"\x00"
Commit: 880c85ca23bbee95d311effedcfbdc9b676fe017
https://github.com/parrot/parrot/commit/880c85ca23bbee95d311effedcfbdc9b676fe017
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/symreg.c
Log Message:
-----------
[imcc] oops
Commit: f81653b6f1caa0fac6b8e8d5b8477975ecb6b525
https://github.com/parrot/parrot/commit/f81653b6f1caa0fac6b8e8d5b8477975ecb6b525
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/pbc.c
M compilers/imcc/symreg.c
Log Message:
-----------
[imcc] fix subid quote stripping
still a battlefield are pmc_const's
which are unquoted, unescaped possibly twice,
and then converted to pmc values.
Commit: 3ca2dd9f0e8050240fe9167d3d8715e53b0e8eb4
https://github.com/parrot/parrot/commit/3ca2dd9f0e8050240fe9167d3d8715e53b0e8eb4
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/imcc.y
M compilers/imcc/symreg.c
M compilers/imcc/symreg.h
Log Message:
-----------
[imcc] add mk_string, unify string quote and unescape handling
Also for mk_sub_address_fromc, _mk_adress, do_loadlib, .lex, mk_const_ident.
This broke the string GC somewhow.
Commit: ad5b0bbbc516064ef670f14a38ad430d3e57ee80
https://github.com/parrot/parrot/commit/ad5b0bbbc516064ef670f14a38ad430d3e57ee80
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/symreg.c
M compilers/imcc/symreg.h
Log Message:
-----------
[imcc] fix assertion for empty _mk_const names
compiles now, just parrot2 still broken
Commit: b1193b0553c2022314e734dcd02a9e557579a91e
https://github.com/parrot/parrot/commit/b1193b0553c2022314e734dcd02a9e557579a91e
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/symreg.c
Log Message:
-----------
[imcc] how to handle empty string constants in _mk_symreg?
Commit: c2a47f7b8986357886983db7c4f334cf218dd690
https://github.com/parrot/parrot/commit/c2a47f7b8986357886983db7c4f334cf218dd690
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/symreg.c
Log Message:
-----------
[imcc] hack to allow NULL strings in sym hash
Commit: b3fc7478ac54cf57740f3014ae111b6bfbfea80c
https://github.com/parrot/parrot/commit/b3fc7478ac54cf57740f3014ae111b6bfbfea80c
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/symreg.c
M src/string/api.c
Log Message:
-----------
[cage] codingstd, comments
Commit: e19de3e3cdccd666eeea101196aabf37ff363b62
https://github.com/parrot/parrot/commit/e19de3e3cdccd666eeea101196aabf37ff363b62
Author: Reini Urban <rurban at cpanel.net>
Date: 2014-10-12 (Sun, 12 Oct 2014)
Changed paths:
M compilers/imcc/imcc.y
M compilers/imcc/imcparser.c
M compilers/imcc/imcparser.h
Log Message:
-----------
[imcc] fix imcc.y syntax error
Compare: https://github.com/parrot/parrot/compare/e057de3901d5...e19de3e3cdcc
More information about the parrot-commits
mailing list