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 }}}