Version 2 (modified by Yuki`N, 11 years ago) |
---|
Parrot HACK List
- compilers/pge/PGE/P5Regex.pir:115
optable.'newtok'('close:}', 'looser'=>'infix:|', 'nows'=>1) # XXX: hack
- compilers/imcc/imcc.l:43
/* 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 */
- compilers/imcc/imclexer.c:2416
/* 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 */
- compilers/pct/src/PCT/Grammar.pir:187
## the 'o', 'd', or 'x' into 8, 10, or 16 (yes, it's hack
- src/embed/api.c:708
=item C<Parrot_Int Parrot_api_wrap_imcc_hack(Parrot_PMC interp_pmc, const char *
- src/embed/api.c:710
imcc_hack_func_t func)>
- src/embed/api.c:712
WARNING: This is an evil hack to provide a wrapper around IMCC to catch unhandled
- src/embed/api.c:725
Parrot_api_wrap_imcc_hack(Parrot_PMC interp_pmc, const char * sourcefile,
- src/embed/api.c:727
imcc_hack_func_t func)
- src/embed/api.c:729
ASSERT_ARGS(Parrot_api_wrap_imcc_hack)
- src/nci/extra_thunks.c:37
/* All our static functions that call in various ways. Yes, terribly
hackish, but that is just fine */
- src/nci/core_thunks.c:37
/* All our static functions that call in various ways. Yes, terribly
hackish, but that is just fine */
- src/packfile/api.c:2237
* Temporary? hack to put ConstantTable in front of other segments.
- src/oo.c:253
/* 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. */
- src/pmc/parrotinterpreter.c:447
/* quick hack to get the global stash */
- src/pmc/namespace.c:710
/* TODO - this hack needs to go */
- src/pmc/null.c:547
/* XXX maybe a hack to get TGE running again */
- src/pmc/class.pmc:1719
This is just a temporary hack. Type ID numbers shouldn't be externally
- src/pmc/scheduler.c:93
/* 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) */
- src/pmc/fixedintegerarray.c:96
/* 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
*/
- src/pmc/null.pmc:63
/* XXX maybe a hack to get TGE running again */
- src/pmc/threadinterpreter.pmc:44
* XXX a quick hack to pass the few tests
- src/pmc/parrotinterpreter.pmc:429
/* quick hack to get the global stash */
- src/pmc/scheduler.pmc:256
/* 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) */
- src/pmc/complex.pmc:554
Quick hack to emulate get_real() and get_imag():
- src/pmc/namespace.pmc:468
/* TODO - this hack needs to go */
- src/pmc/fixedintegerarray.pmc:102
/* 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
*/
- src/pmc/threadinterpreter.c:67
* XXX a quick hack to pass the few tests
- src/call/args.c:1161
/* The 'return' above is a temporary hack to duplicate an old
* bug, and will be replaced by the exception below at the next
* deprecation point, see TT #1103
Parrot_ex_throw_from_c_args(interp, NULL,
EXCEPTION_INVALID_OPERATION,
"too many named arguments: %d passed, 0 used",
named_arg_count);
*/
- src/extra_nci_thunks.c:37
/* All our static functions that call in various ways. Yes, terribly
hackish, but that is just fine */
- src/thread.c:757
* XXX a quick hack to pass the few tests
- src/gc/string_gc.c:1015
/* Somewhat of a hack, but if we get per-pool
* collections, it should help ease the pain */
- src/gc/malloc.c:2738
probably figure out how to hack this routine to print out or
- src/gc/system.c:125
double align_hack[2];
- src/gc/system.c:138
static void (*fn_ptr)(void) = (void (*)(void))&u.align_hack[0];
- src/debug.c:3520
/* This hack is needed because we occasionally are told
that we have string registers when we actually don't */
- lib/Pod/Simple/HTML.pm:283
unless($$text_r and $$text_r =~ m/name=['"]___top['"]/) { # a hack
- lib/Pod/Simple/HTML.pm:331
# An efficiency hack
- lib/Pod/Simple/HTML.pm:456
# TODO: support for X<...>'s found in here? (maybe hack into linearize_tokens)
- lib/Pod/Simple/HTML.pm:579
# An early hack:
- lib/Pod/Simple/HTML.pm:592
# Give this routine first hack again
- lib/Pod/Simple/HTML.pm:725
# A crazy hack to allow specifying custom L<foo> => URL mappings
- lib/Pod/Simple/RTF.pm:57
# Bit of a hack here:
- lib/Pod/Simple/BlackBox.pm:711
if( $para->[1]{'~_freaky_para_hack'} ) {
- lib/Pod/Simple/BlackBox.pm:712
DEBUG and print "Accomodating '=item * Foo' tolerance hack.\n";
- lib/Pod/Simple/BlackBox.pm:713
push @$para, delete $para->[1]{'~_freaky_para_hack'};
- lib/Pod/Simple/BlackBox.pm:1304
if( $para->[1]{'~_freaky_para_hack'} ) {
- lib/Pod/Simple/BlackBox.pm:1305
DEBUG and print "Accomodating '=item * Foo' tolerance hack.\n";
- lib/Pod/Simple/BlackBox.pm:1306
push @$para, delete $para->[1]{'~_freaky_para_hack'};
- lib/Pod/Simple.pm:507
# A hack-wrapper here for when you have like "=over\n\n=item 456\n\n"
- lib/Pod/Simple.pm:538
$para->[1]{'~_freaky_para_hack'} = $1;
- lib/Pod/Simple.pm:571
DEBUG and print "Applying precooked treelet hack to $_[0][0]\n";
- lib/Pod/Simple.pm:1413
next if $attrname =~ m/::/; # a hack
- lib/Parrot/Docs/File.pm:70
'hacking' => 'README file',
- lib/Parrot/Docs/POD2HTML.pm:249
# A little bit of a hack to avoid config template files.
- lib/Parrot/Configure/Options/Conf.pm:84
--define=inet_aton Quick hack to use inet_aton instead of inet_pton
- ports/fedora/2.11.0/parrot.spec:137
# The LD_LIBRARY_PATH hack is needed for "miniparrot"
- ports/fedora/2.11.0/parrot.spec:149
# The LD_LIBRARY_PATH hack is needed for the command "pbc_to_exe parrot-nqp.pbc"
- ports/cygwin/README:1711
/usr/share/doc/parrot/1.0.0/html/t/op/hacks.t.html
- ports/cygwin/README:1895
* removed the postinstall and preremove hacks
- include/parrot/api.h:18
typedef int (*imcc_hack_func_t)(Parrot_PMC, const char *, int, const char **, Parrot_PMC*);
- include/parrot/api.h:232
Parrot_Int Parrot_api_wrap_imcc_hack(
- include/parrot/api.h:239
imcc_hack_func_t func);
- include/parrot/api.h:292
#define ASSERT_ARGS_Parrot_api_wrap_imcc_hack __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
- include/parrot/caches.h:16
/* turn off this hack, we need something better */
- config/gen/opengl.pm:373
# Ignore internal GLUT Win32 compatibility hackage
- config/gen/makefiles/root.in:643
# We build DYNPMC_TARGET in corevm. It's kinda hack to test t/pmc/threads.t CLONE_LIBRARIES
- config/inter/make.pm:122
# TT #1049: this is an ugly hack
- config/auto/headers.pm:41
# headers we found so far. This is somewhat a hack, but makes probing
- t/pmc/class.t:83
$I0 = 1 # hack for testing exceptions
- t/pmc/signal.t:46
# This is a non-portable hack.
- t/op/sprintf_tests:201
%d $p=sprintf('%p',$p);$p=~/^[0-9a-f]+$/ 1 Coarse hack: hex from %p?
- t/op/sprintf_tests:202
%d $p=sprintf('%-8p',$p);$p=~/^[0-9a-f]+\s*$/ 1 Coarse hack: hex from %p?
- t/configure/034-step.t:143
my $line = q{$(basename morgan/lefay/abra.ca.dabra src/foo.c hacks)};
- t/configure/034-step.t:162
my $line = q{$(notdir morgan/lefay/abra.ca.dabra src/foo.c hacks)};
- t/codingstd/c_returns.t:30
This test was hacked from the C<check_returns> sub in
- tools/release/templates.json:32
instructions</a>. For those who want to hack on Parrot or languages that run on top of Parrot,
- tools/dev/nci_thunk_gen.pir:351
/* All our static functions that call in various ways. Yes, terribly
hackish, but that is just fine */
- tools/dev/parrot-fuzzer:468
#This is a moderately fragile hack that relies on the specific
- docs/pdds/pdd21_namespaces.pod:328
Note that this method is basically a convenience and/or performance hack, as
- docs/pdds/pdd03_calling_conventions.pod:54
opcodes. But for now, certain efficiency hacks are easier with four opcodes.
- docs/book/draft/appd_build_options.pod:37
unless you are planning to hack on IMCC directly.
- docs/dev/pmc_obj_design_meeting_notes.pod:7
be found at L<http://rakudo.org/hackathon-chicago/index.cgi?object> and
- docs/dev/pmc_obj_design_meeting_notes.pod:8
L<http://rakudo.org/hackathon-chicago/index.cgi?pmc>. A log of the discussion
- docs/project/cage_cleaners_guide.pod:303
=head2 Help other contributors hack their patches into Parrot-style industrial-strength C code.
- examples/tools/pgegrep:145
stdindashhack:
- examples/tools/pgegrep:148
goto stdinhack
- examples/tools/pgegrep:153
goto stdindashhack
- examples/tools/pgegrep:185
stdinhack:
- examples/io/httpd.pir:82
The code was heavily hacked by bernhard and leo.
- examples/benchmarks/mops.pasm:32
# Eeevil hack.
- examples/benchmarks/oo1.pir:17
# find_global hack 2.16 1.6
- examples/benchmarks/oo1.pir:24
# find_global hack 1.51
- examples/shootout/revcomp.pir:9
# Original by Joshua Isom, heavily hacked by Leopold Toetsch
- examples/pir/sudoku.pir:2426
NB: it seems to be simpler to just hack the code as to utter the
- examples/pir/befunge/Changes:52
PMC, and thanks go to Steve Fink for his hack to pop an
- examples/pir/befunge/Changes:57
of Clinton Pierce's hack.
- ChangeLog:951
Also added small hack for .sub directive (which simply translates
- ChangeLog:4640
* core.ops, t/op/hacks.t: Added in the readline op, as well as
- ChangeLog:6994
Fixes to make Parrot compile without the temporary build hack
- ChangeLog:7843
Small hack to keep process_opfunc.pl from generating extra return()
- ChangeLog:9397
Temporary hack to store string constants in bytecode and recreate
- frontend/parrot/main.c:157
if (!Parrot_api_wrap_imcc_hack(
- editor/mk_skeleton.pir:4
# intended for people who hack on parrot itself, not users of parrot.
- Makefile:701
# We build DYNPMC_TARGET in corevm. It's kinda hack to test t/pmc/threads.t CLONE_LIBRARIES