#1105: [PATCH] change to a libjit based frame builder
----------------------+-----------------------------------------------------
Reporter: plobsing | Type: patch
Status: new | Priority: normal
Milestone: | Component: core
Version: trunk | Severity: medium
Keywords: | Lang:
Patch: | Platform:
----------------------+-----------------------------------------------------
Comment(by jkeenan):
plobsing,
This patch is a very fine effort and obviously reflects many hours of
work. Thanks for taking the time to prepare it, including the time you
clearly spent reading the documentation on how to add configuration steps,
how to add command-line options for ''Configure.pl'', how to test the
configuration steps, etc. And all that before we even get to the meat of
the patch!
I created [https://svn.parrot.org/parrot/branches/auto_libjit the
auto_libjit branch in SVN] mainly so that I could run this through various
parts of the test suite. I have a couple of comments, which happen to
occur in increasing order of importance:
1. I have a hunch that `auto::libjit` should be moved earlier in the list
of configuration steps, perhaps just before `auto::jit`. But at this
point that's only a hunch.
2. `gen::libjit` has to be moved earlier. `gen::makefiles`,
`gen::platform` and `gen::config_pm` must be the three final configuration
steps. But I cannot yet say exactly where in the ''gen'' category it
should go. For testing purposes, I have moved it to the 4th last step,
i.e., just before `gen::makefiles`.
3. When running `perl Configure.pl --verbose-step=auto::libjit --fatal-
step=auto::libjit` on Linux/i386 -- where ''libjit'' is probably not yet
installed -- `auto::libjit` failed with the following output:
{{{
auto::libjit - Is LibJIT installed...
cc -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DHASATTRIBUTE_CONST
-DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL
-DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED
-DHASATTRIBUTE_WARN_UNUSED_RESULT -falign-functions=16
-fvisibility=hidden -funit-at-a-time -maccumulate-outgoing-args -W -Wall
-Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment
-Wdisabled-optimization -Wendif-labels -Wextra -Wformat -Wformat-extra-
args -Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimplicit
-Wimport -Winit-self -Winline -Winvalid-pch -Wlogical-op -Wmissing-braces
-Wmissing-field-initializers -Wno-missing-format-attribute -Wmissing-
include-dirs -Wpacked -Wparentheses -Wpointer-arith -Wreturn-type
-Wsequence-point -Wno-shadow -Wsign-compare -Wstrict-aliasing -Wstrict-
aliasing=2 -Wswitch -Wswitch-default -Wtrigraphs -Wundef -Wunknown-pragmas
-Wno-unused -Wvariadic-macros -Wwrite-strings -Wbad-function-cast
-Wc++-compat -Wdeclaration-after-statement -Werror=declaration-after-
statement -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-
declarations -Wmissing-prototypes -Wnested-externs -Wnonnull -DHAS_GETTEXT
-I./include -c test_29572.c
test_29572.c:14:21: error: jit/jit.h: No such file or directory
test_29572.c: In function 'main':
test_29572.c:18: warning: implicit declaration of function 'jit_init'
test_29572.c:18: warning: nested extern declaration of 'jit_init'
test_29572.c:19: warning: implicit declaration of function
'jit_uses_interpreter'
test_29572.c:19: warning: nested extern declaration of
'jit_uses_interpreter'
step auto::libjit died during execution: C compiler failed (see
test_29572.cco) at lib/Parrot/Configure/Compiler.pm line 107
Parrot::Configure::Compiler::cc_build('Parrot::Configure=HASH(0x8307a90)',
'', '-ljit') called at config/auto/libjit.pm line 56
eval {...} called at config/auto/libjit.pm line 56
auto::libjit::runstep('auto::libjit=HASH(0x8604870)',
'Parrot::Configure=HASH(0x8307a90)') called at lib/Parrot/Configure.pm
line 412
eval {...} called at lib/Parrot/Configure.pm line 412
Parrot::Configure::_run_this_step('Parrot::Configure=HASH(0x8307a90)',
'HASH(0x8494568)') called at lib/Parrot/Configure.pm line 267
Parrot::Configure::runsteps('Parrot::Configure=HASH(0x8307a90)')
called at Configure.pl line 75
at Configure.pl line 75
}}}
Thank you very much.
kid51
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1105#comment:1>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets