#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

Reply via email to