HTTP/1.1 -1 Read error in cache disk data: SuccessContent-Type: text/plain; charset="utf-8"
Last-Modified: Sat, 22 Jan 2022 03:25:17 GMT
Content-length: 35506
Connection: Close
Proxy-Connection: Close
X-Cache: HIT from web1.osuosl.org
Server: ProxyTrack 0.5 (HTTrack 3.49.2)
= Parrot HACK List =
* [https://github.com/parrot/parrot/blob/master/compilers/pge/PGE/P5Regex.pir#L115 compilers/pge/PGE/P5Regex.pir:115][[br]]
{{{
#!html
optable.'newtok'('close:}', 'looser'=>'infix:|', 'nows'=>1) # XXX: hack
}}}
* [https://github.com/parrot/parrot/blob/master/compilers/imcc/imcc.l#L43 compilers/imcc/imcc.l:43][[br]]
{{{
#!html
/* parser state structure
* the first few items are common to struct parser_state, but
* we AFAIK need this hack as flex doesn't export YY_BUFFER_STATE */
}}}
* [https://github.com/parrot/parrot/blob/master/compilers/imcc/imclexer.c#L2416 compilers/imcc/imclexer.c:2416][[br]]
{{{
#!html
/* parser state structure
* the first few items are common to struct parser_state, but
* we AFAIK need this hack as flex doesn't export YY_BUFFER_STATE */
}}}
* [https://github.com/parrot/parrot/blob/master/compilers/pct/src/PCT/Grammar.pir#L187 compilers/pct/src/PCT/Grammar.pir:187][[br]]
{{{
#!html
## the 'o', 'd', or 'x' into 8, 10, or 16 (yes, it's hack
}}}
* [https://github.com/parrot/parrot/blob/master/src/embed/api.c#L708 src/embed/api.c:708][[br]]
{{{
#!html
=item C<Parrot_Int Parrot_api_wrap_imcc_hack(Parrot_PMC interp_pmc, const char *
}}}
* [https://github.com/parrot/parrot/blob/master/src/embed/api.c#L710 src/embed/api.c:710][[br]]
{{{
#!html
imcc_hack_func_t func)>
}}}
* [https://github.com/parrot/parrot/blob/master/src/embed/api.c#L712 src/embed/api.c:712][[br]]
{{{
#!html
WARNING: This is an evil hack to provide a wrapper around IMCC to catch unhandled
}}}
* [https://github.com/parrot/parrot/blob/master/src/embed/api.c#L725 src/embed/api.c:725][[br]]
{{{
#!html
Parrot_api_wrap_imcc_hack(Parrot_PMC interp_pmc, const char * sourcefile,
}}}
* [https://github.com/parrot/parrot/blob/master/src/embed/api.c#L727 src/embed/api.c:727][[br]]
{{{
#!html
imcc_hack_func_t func)
}}}
* [https://github.com/parrot/parrot/blob/master/src/embed/api.c#L729 src/embed/api.c:729][[br]]
{{{
#!html
ASSERT_ARGS(Parrot_api_wrap_imcc_hack)
}}}
* [https://github.com/parrot/parrot/blob/master/src/nci/extra_thunks.c#L37 src/nci/extra_thunks.c:37][[br]]
{{{
#!html
/* All our static functions that call in various ways. Yes, terribly
hackish, but that is just fine */
}}}
* [https://github.com/parrot/parrot/blob/master/src/nci/core_thunks.c#L37 src/nci/core_thunks.c:37][[br]]
{{{
#!html
/* All our static functions that call in various ways. Yes, terribly
hackish, but that is just fine */
}}}
* [https://github.com/parrot/parrot/blob/master/src/packfile/api.c#L2237 src/packfile/api.c:2237][[br]]
{{{
#!html
* Temporary? hack to put ConstantTable in front of other segments.
}}}
* [https://github.com/parrot/parrot/blob/master/src/oo.c#L253 src/oo.c:253][[br]]
{{{
#!html
/* This is a hack! All PMCs should be able to be handled through
a single codepath, and all of them should be able to avoid
stringification because it's so imprecise. */
}}}
* [https://github.com/parrot/parrot/blob/master/src/pmc/class.pmc#L1719 src/pmc/class.pmc:1719][[br]]
{{{
#!html
This is just a temporary hack. Type ID numbers shouldn't be externally
}}}
* [https://github.com/parrot/parrot/blob/master/src/pmc/null.pmc#L63 src/pmc/null.pmc:63][[br]]
{{{
#!html
/* XXX maybe a hack to get TGE running again */
}}}
* [https://github.com/parrot/parrot/blob/master/src/pmc/threadinterpreter.pmc#L44 src/pmc/threadinterpreter.pmc:44][[br]]
{{{
#!html
* XXX a quick hack to pass the few tests
}}}
* [https://github.com/parrot/parrot/blob/master/src/pmc/parrotinterpreter.pmc#L429 src/pmc/parrotinterpreter.pmc:429][[br]]
{{{
#!html
/* quick hack to get the global stash */
}}}
* [https://github.com/parrot/parrot/blob/master/src/pmc/scheduler.pmc#L256 src/pmc/scheduler.pmc:256][[br]]
{{{
#!html
/* TT #946: this line is causing an order-of-destruction error
because the scheduler is being freed before its tasks.
Commenting this out till we get a real fix (although it's a hack) */
}}}
* [https://github.com/parrot/parrot/blob/master/src/pmc/complex.pmc#L554 src/pmc/complex.pmc:554][[br]]
{{{
#!html
Quick hack to emulate get_real() and get_imag():
}}}
* [https://github.com/parrot/parrot/blob/master/src/pmc/namespace.pmc#L468 src/pmc/namespace.pmc:468][[br]]
{{{
#!html
/* TODO - this hack needs to go */
}}}
* [https://github.com/parrot/parrot/blob/master/src/pmc/fixedintegerarray.pmc#L102 src/pmc/fixedintegerarray.pmc:102][[br]]
{{{
#!html
/* a quick hack to create a clone in the constant PMC arena
* this is needed for the call signatures
*
* a better way would be probably to supply a flag to the clone
* vtable
*/
}}}
* [https://github.com/parrot/parrot/blob/master/src/thread.c#L757 src/thread.c:757][[br]]
{{{
#!html
* XXX a quick hack to pass the few tests
}}}
* [https://github.com/parrot/parrot/blob/master/src/gc/string_gc.c#L1015 src/gc/string_gc.c:1015][[br]]
{{{
#!html
/* Somewhat of a hack, but if we get per-pool
* collections, it should help ease the pain */
}}}
* [https://github.com/parrot/parrot/blob/master/src/gc/malloc.c#L2738 src/gc/malloc.c:2738][[br]]
{{{
#!html
probably figure out how to hack this routine to print out or
}}}
* [https://github.com/parrot/parrot/blob/master/src/gc/system.c#L125 src/gc/system.c:125][[br]]
{{{
#!html
double align_hack[2];
}}}
* [https://github.com/parrot/parrot/blob/master/src/gc/system.c#L138 src/gc/system.c:138][[br]]
{{{
#!html
static void (*fn_ptr)(void) = (void (*)(void))&u.align_hack[0];
}}}
* [https://github.com/parrot/parrot/blob/master/src/debug.c#L3520 src/debug.c:3520][[br]]
{{{
#!html
/* This hack is needed because we occasionally are told
that we have string registers when we actually don't */
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/HTML.pm#L283 lib/Pod/Simple/HTML.pm:283][[br]]
{{{
#!html
unless($$text_r and $$text_r =~ m/name=['"]___top['"]/) { # a hack
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/HTML.pm#L331 lib/Pod/Simple/HTML.pm:331][[br]]
{{{
#!html
# An efficiency hack
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/HTML.pm#L456 lib/Pod/Simple/HTML.pm:456][[br]]
{{{
#!html
# TODO: support for X<...>'s found in here? (maybe hack into linearize_tokens)
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/HTML.pm#L579 lib/Pod/Simple/HTML.pm:579][[br]]
{{{
#!html
# An early hack:
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/HTML.pm#L592 lib/Pod/Simple/HTML.pm:592][[br]]
{{{
#!html
# Give this routine first hack again
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/HTML.pm#L725 lib/Pod/Simple/HTML.pm:725][[br]]
{{{
#!html
# A crazy hack to allow specifying custom L<foo> => URL mappings
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/RTF.pm#L57 lib/Pod/Simple/RTF.pm:57][[br]]
{{{
#!html
# Bit of a hack here:
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/BlackBox.pm#L711 lib/Pod/Simple/BlackBox.pm:711][[br]]
{{{
#!html
if( $para->[1]{'~_freaky_para_hack'} ) {
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/BlackBox.pm#L712 lib/Pod/Simple/BlackBox.pm:712][[br]]
{{{
#!html
DEBUG and print "Accomodating '=item * Foo' tolerance hack.\n";
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/BlackBox.pm#L713 lib/Pod/Simple/BlackBox.pm:713][[br]]
{{{
#!html
push @$para, delete $para->[1]{'~_freaky_para_hack'};
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/BlackBox.pm#L1304 lib/Pod/Simple/BlackBox.pm:1304][[br]]
{{{
#!html
if( $para->[1]{'~_freaky_para_hack'} ) {
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/BlackBox.pm#L1305 lib/Pod/Simple/BlackBox.pm:1305][[br]]
{{{
#!html
DEBUG and print "Accomodating '=item * Foo' tolerance hack.\n";
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple/BlackBox.pm#L1306 lib/Pod/Simple/BlackBox.pm:1306][[br]]
{{{
#!html
push @$para, delete $para->[1]{'~_freaky_para_hack'};
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple.pm#L507 lib/Pod/Simple.pm:507][[br]]
{{{
#!html
# A hack-wrapper here for when you have like "=over\n\n=item 456\n\n"
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple.pm#L538 lib/Pod/Simple.pm:538][[br]]
{{{
#!html
$para->[1]{'~_freaky_para_hack'} = $1;
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple.pm#L571 lib/Pod/Simple.pm:571][[br]]
{{{
#!html
DEBUG and print "Applying precooked treelet hack to $_[0][0]\n";
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Pod/Simple.pm#L1413 lib/Pod/Simple.pm:1413][[br]]
{{{
#!html
next if $attrname =~ m/::/; # a hack
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Parrot/Docs/File.pm#L70 lib/Parrot/Docs/File.pm:70][[br]]
{{{
#!html
'hacking' => 'README file',
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Parrot/Docs/POD2HTML.pm#L249 lib/Parrot/Docs/POD2HTML.pm:249][[br]]
{{{
#!html
# A little bit of a hack to avoid config template files.
}}}
* [https://github.com/parrot/parrot/blob/master/lib/Parrot/Configure/Options/Conf.pm#L84 lib/Parrot/Configure/Options/Conf.pm:84][[br]]
{{{
#!html
--define=inet_aton Quick hack to use inet_aton instead of inet_pton
}}}
* [https://github.com/parrot/parrot/blob/master/ports/fedora/2.11.0/parrot.spec#L137 ports/fedora/2.11.0/parrot.spec:137][[br]]
{{{
#!html
# The LD_LIBRARY_PATH hack is needed for "miniparrot"
}}}
* [https://github.com/parrot/parrot/blob/master/ports/fedora/2.11.0/parrot.spec#L149 ports/fedora/2.11.0/parrot.spec:149][[br]]
{{{
#!html
# The LD_LIBRARY_PATH hack is needed for the command "pbc_to_exe parrot-nqp.pbc"
}}}
* [https://github.com/parrot/parrot/blob/master/ports/cygwin/README#L1711 ports/cygwin/README:1711][[br]]
{{{
#!html
/usr/share/doc/parrot/1.0.0/html/t/op/hacks.t.html
}}}
* [https://github.com/parrot/parrot/blob/master/ports/cygwin/README#L1895 ports/cygwin/README:1895][[br]]
{{{
#!html
* removed the postinstall and preremove hacks
}}}
* [https://github.com/parrot/parrot/blob/master/include/parrot/api.h#L18 include/parrot/api.h:18][[br]]
{{{
#!html
typedef int (*imcc_hack_func_t)(Parrot_PMC, const char *, int, const char **, Parrot_PMC*);
}}}
* [https://github.com/parrot/parrot/blob/master/include/parrot/api.h#L232 include/parrot/api.h:232][[br]]
{{{
#!html
Parrot_Int Parrot_api_wrap_imcc_hack(
}}}
* [https://github.com/parrot/parrot/blob/master/include/parrot/api.h#L239 include/parrot/api.h:239][[br]]
{{{
#!html
imcc_hack_func_t func);
}}}
* [https://github.com/parrot/parrot/blob/master/include/parrot/api.h#L292 include/parrot/api.h:292][[br]]
{{{
#!html
#define ASSERT_ARGS_Parrot_api_wrap_imcc_hack __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
}}}
* [https://github.com/parrot/parrot/blob/master/include/parrot/caches.h#L16 include/parrot/caches.h:16][[br]]
{{{
#!html
/* turn off this hack, we need something better */
}}}
* [https://github.com/parrot/parrot/blob/master/config/gen/opengl.pm#L373 config/gen/opengl.pm:373][[br]]
{{{
#!html
# Ignore internal GLUT Win32 compatibility hackage
}}}
* [https://github.com/parrot/parrot/blob/master/config/gen/makefiles/root.in#L643 config/gen/makefiles/root.in:643][[br]]
{{{
#!html
# We build DYNPMC_TARGET in corevm. It's kinda hack to test t/pmc/threads.t CLONE_LIBRARIES
}}}
* [https://github.com/parrot/parrot/blob/master/config/inter/make.pm#L122 config/inter/make.pm:122][[br]]
{{{
#!html
# TT #1049: this is an ugly hack
}}}
* [https://github.com/parrot/parrot/blob/master/config/auto/headers.pm#L41 config/auto/headers.pm:41][[br]]
{{{
#!html
# headers we found so far. This is somewhat a hack, but makes probing
}}}
* [https://github.com/parrot/parrot/blob/master/t/pmc/class.t#L83 t/pmc/class.t:83][[br]]
{{{
#!html
$I0 = 1 # hack for testing exceptions
}}}
* [https://github.com/parrot/parrot/blob/master/t/pmc/signal.t#L46 t/pmc/signal.t:46][[br]]
{{{
#!html
# This is a non-portable hack.
}}}
* [https://github.com/parrot/parrot/blob/master/t/op/sprintf_tests#L201 t/op/sprintf_tests:201][[br]]
{{{
#!html
%d $p=sprintf('%p',$p);$p=~/^[0-9a-f]+$/ 1 Coarse hack: hex from %p?
}}}
* [https://github.com/parrot/parrot/blob/master/t/op/sprintf_tests#L202 t/op/sprintf_tests:202][[br]]
{{{
#!html
%d $p=sprintf('%-8p',$p);$p=~/^[0-9a-f]+\s*$/ 1 Coarse hack: hex from %p?
}}}
* [https://github.com/parrot/parrot/blob/master/t/configure/034-step.t#L143 t/configure/034-step.t:143][[br]]
{{{
#!html
my $line = q{$(basename morgan/lefay/abra.ca.dabra src/foo.c hacks)};
}}}
* [https://github.com/parrot/parrot/blob/master/t/configure/034-step.t#L162 t/configure/034-step.t:162][[br]]
{{{
#!html
my $line = q{$(notdir morgan/lefay/abra.ca.dabra src/foo.c hacks)};
}}}
* [https://github.com/parrot/parrot/blob/master/t/codingstd/c_returns.t#L30 t/codingstd/c_returns.t:30][[br]]
{{{
#!html
This test was hacked from the C<check_returns> sub in
}}}
* [https://github.com/parrot/parrot/blob/master/tools/release/templates.json#L32 tools/release/templates.json:32][[br]]
{{{
#!html
instructions</a>. For those who want to hack on Parrot or languages that run on top of Parrot,
}}}
* [https://github.com/parrot/parrot/blob/master/tools/dev/nci_thunk_gen.pir#L351 tools/dev/nci_thunk_gen.pir:351][[br]]
{{{
#!html
/* All our static functions that call in various ways. Yes, terribly
hackish, but that is just fine */
}}}
* [https://github.com/parrot/parrot/blob/master/tools/dev/parrot-fuzzer#L468 tools/dev/parrot-fuzzer:468][[br]]
{{{
#!html
#This is a moderately fragile hack that relies on the specific
}}}
* [https://github.com/parrot/parrot/blob/master/docs/pdds/pdd21_namespaces.pod#L328 docs/pdds/pdd21_namespaces.pod:328][[br]]
{{{
#!html
Note that this method is basically a convenience and/or performance hack, as
}}}
* [https://github.com/parrot/parrot/blob/master/docs/pdds/pdd03_calling_conventions.pod#L54 docs/pdds/pdd03_calling_conventions.pod:54][[br]]
{{{
#!html
opcodes. But for now, certain efficiency hacks are easier with four opcodes.
}}}
* [https://github.com/parrot/parrot/blob/master/docs/book/draft/appd_build_options.pod#L37 docs/book/draft/appd_build_options.pod:37][[br]]
{{{
#!html
unless you are planning to hack on IMCC directly.
}}}
* [https://github.com/parrot/parrot/blob/master/docs/dev/pmc_obj_design_meeting_notes.pod#L7 docs/dev/pmc_obj_design_meeting_notes.pod:7][[br]]
{{{
#!html
be found at L<http://rakudo.org/hackathon-chicago/index.cgi?object> and
}}}
* [https://github.com/parrot/parrot/blob/master/docs/dev/pmc_obj_design_meeting_notes.pod#L8 docs/dev/pmc_obj_design_meeting_notes.pod:8][[br]]
{{{
#!html
L<http://rakudo.org/hackathon-chicago/index.cgi?pmc>. A log of the discussion
}}}
* [https://github.com/parrot/parrot/blob/master/docs/project/cage_cleaners_guide.pod#L303 docs/project/cage_cleaners_guide.pod:303][[br]]
{{{
#!html
=head2 Help other contributors hack their patches into Parrot-style industrial-strength C code.
}}}
* [https://github.com/parrot/parrot/blob/master/examples/tools/pgegrep#L145 examples/tools/pgegrep:145][[br]]
{{{
#!html
stdindashhack:
}}}
* [https://github.com/parrot/parrot/blob/master/examples/tools/pgegrep#L148 examples/tools/pgegrep:148][[br]]
{{{
#!html
goto stdinhack
}}}
* [https://github.com/parrot/parrot/blob/master/examples/tools/pgegrep#L153 examples/tools/pgegrep:153][[br]]
{{{
#!html
goto stdindashhack
}}}
* [https://github.com/parrot/parrot/blob/master/examples/tools/pgegrep#L185 examples/tools/pgegrep:185][[br]]
{{{
#!html
stdinhack:
}}}
* [https://github.com/parrot/parrot/blob/master/examples/io/httpd.pir#L82 examples/io/httpd.pir:82][[br]]
{{{
#!html
The code was heavily hacked by bernhard and leo.
}}}
* [https://github.com/parrot/parrot/blob/master/examples/benchmarks/mops.pasm#L32 examples/benchmarks/mops.pasm:32][[br]]
{{{
#!html
# Eeevil hack.
}}}
* [https://github.com/parrot/parrot/blob/master/examples/benchmarks/oo1.pir#L17 examples/benchmarks/oo1.pir:17][[br]]
{{{
#!html
# find_global hack 2.16 1.6
}}}
* [https://github.com/parrot/parrot/blob/master/examples/benchmarks/oo1.pir#L24 examples/benchmarks/oo1.pir:24][[br]]
{{{
#!html
# find_global hack 1.51
}}}
* [https://github.com/parrot/parrot/blob/master/examples/shootout/revcomp.pir#L9 examples/shootout/revcomp.pir:9][[br]]
{{{
#!html
# Original by Joshua Isom, heavily hacked by Leopold Toetsch
}}}
* [https://github.com/parrot/parrot/blob/master/examples/pir/sudoku.pir#L2426 examples/pir/sudoku.pir:2426][[br]]
{{{
#!html
NB: it seems to be simpler to just hack the code as to utter the
}}}
* [https://github.com/parrot/parrot/blob/master/examples/pir/befunge/Changes#L52 examples/pir/befunge/Changes:52][[br]]
{{{
#!html
PMC, and thanks go to Steve Fink for his hack to pop an
}}}
* [https://github.com/parrot/parrot/blob/master/examples/pir/befunge/Changes#L57 examples/pir/befunge/Changes:57][[br]]
{{{
#!html
of Clinton Pierce's hack.
}}}
* [https://github.com/parrot/parrot/blob/master/ChangeLog#L951 ChangeLog:951][[br]]
{{{
#!html
Also added small hack for .sub directive (which simply translates
}}}
* [https://github.com/parrot/parrot/blob/master/ChangeLog#L4640 ChangeLog:4640][[br]]
{{{
#!html
* core.ops, t/op/hacks.t: Added in the readline op, as well as
}}}
* [https://github.com/parrot/parrot/blob/master/ChangeLog#L6994 ChangeLog:6994][[br]]
{{{
#!html
Fixes to make Parrot compile without the temporary build hack
}}}
* [https://github.com/parrot/parrot/blob/master/ChangeLog#L7843 ChangeLog:7843][[br]]
{{{
#!html
Small hack to keep process_opfunc.pl from generating extra return()
}}}
* [https://github.com/parrot/parrot/blob/master/ChangeLog#L9397 ChangeLog:9397][[br]]
{{{
#!html
Temporary hack to store string constants in bytecode and recreate
}}}
* [https://github.com/parrot/parrot/blob/master/frontend/parrot/main.c#L157 frontend/parrot/main.c:157][[br]]
{{{
#!html
if (!Parrot_api_wrap_imcc_hack(
}}}
* [https://github.com/parrot/parrot/blob/master/editor/mk_skeleton.pir#L4 editor/mk_skeleton.pir:4][[br]]
{{{
#!html
# intended for people who hack on parrot itself, not users of parrot.
}}}
{{{
#!comment
Automatically generated by tools/dev/findhacks.pl
}}}