diff --git a/Configure.pl b/Configure.pl
index 56fc4ee..012d9ec 100644
|
a
|
b
|
|
| 358 | 358 | |
| 359 | 359 | Use the given ops files. |
| 360 | 360 | |
| 361 | | =item C<--jitcapable> |
| 362 | | |
| 363 | | Use JIT system. |
| 364 | | |
| 365 | 361 | =item C<--buildframes> |
| 366 | 362 | |
| 367 | 363 | Dynamically build NCI call frames. |
| 368 | 364 | |
| 369 | | =item C<--execcapable> |
| 370 | | |
| 371 | | Use JIT to emit a native executable. |
| 372 | | |
| 373 | 365 | =back |
| 374 | 366 | |
| 375 | 367 | =head2 International Components For Unicode (ICU) Options |
diff --git a/MANIFEST b/MANIFEST
index ccae08c..06deecb 100644
|
a
|
b
|
|
| 167 | 167 | config/auto/ipv6/test.in [] |
| 168 | 168 | config/auto/isreg.pm [] |
| 169 | 169 | config/auto/isreg/test_c.in [] |
| 170 | | config/auto/jit.pm [] |
| 171 | 170 | config/auto/libffi.pm [] |
| 172 | 171 | config/auto/libffi/test_c.in [] |
| 173 | 172 | config/auto/llvm.pm [] |
| … |
… |
|
| 1987 | 1986 | t/steps/auto/inline-01.t [test] |
| 1988 | 1987 | t/steps/auto/ipv6-01.t [test] |
| 1989 | 1988 | t/steps/auto/isreg-01.t [test] |
| 1990 | | t/steps/auto/jit-01.t [test] |
| 1991 | 1989 | t/steps/auto/libffi-01.t [test] |
| 1992 | 1990 | t/steps/auto/llvm-01.t [test] |
| 1993 | 1991 | t/steps/auto/memalign-01.t [test] |
diff --git a/config/gen/config_h/config_h.in b/config/gen/config_h/config_h.in
index d2dd1f9..09cc1b2 100644
|
a
|
b
|
|
| 21 | 21 | #define PARROT_MINOR_VERSION @MINOR@ |
| 22 | 22 | #define PARROT_PATCH_VERSION @PATCH@ |
| 23 | 23 | #define PARROT_ARCHNAME "@cpuarch@-@osname@" |
| 24 | | #define PARROT_JIT_CAPABLE @jitcapable@ |
| 25 | | #define PARROT_EXEC_CAPABLE @execcapable@ |
| 26 | 24 | #define PARROT_SHARE_EXT "@share_ext@" |
| 27 | 25 | #define PARROT_LOAD_EXT "@load_ext@" |
| 28 | 26 | #define PARROT_OBJ_EXT "@o@" |
| … |
… |
|
| 92 | 90 | #include <stddef.h> |
| 93 | 91 | |
| 94 | 92 | #define PARROT_CPU_ARCH "@cpuarch@" |
| 95 | | #define PARROT_OS_NAME "@jitosname@" |
| 96 | 93 | #define PARROT_BYTEORDER 0x@byteorder@ |
| 97 | 94 | #define PARROT_BIGENDIAN @bigendian@ |
| 98 | 95 | |
| … |
… |
|
| 141 | 138 | typedef struct _vtable VTABLE; |
| 142 | 139 | typedef void DPOINTER; |
| 143 | 140 | |
| 144 | | /* JIT and exec cores. */ |
| 145 | | #define JIT_CPUARCH "@jitcpuarch@" |
| 146 | | #define JIT_OSNAME "@jitosname@" |
| 147 | | #define JIT_ARCHNAME "@jitarchname@" |
| 148 | | #define JIT_CAPABLE @jitcapable@ |
| 149 | | #define EXEC_CAPABLE @execcapable@ |
| 150 | | #define PARROT_EXEC_OS_@jitosname@ 1 |
| 151 | | #define PARROT_@jitcpu@ 1 |
| 152 | | |
| 153 | 141 | /* Oplib and dynamic ops related. */ |
| 154 | 142 | #define PARROT_CORE_OPLIB_NAME "core_ops" |
| 155 | 143 | #define PARROT_CORE_OPLIB_INIT Parrot_DynOp_core_@MAJOR@_@MINOR@_@PATCH@ |
diff --git a/config/gen/config_pm/myconfig.in b/config/gen/config_pm/myconfig.in
index efecb66..4f2acf2 100644
|
a
|
b
|
|
| 2 | 2 | configdate='@configdate@' |
| 3 | 3 | Platform: |
| 4 | 4 | osname=@osname@, archname=@archname@ |
| 5 | | jitcapable=@jitcapable@, jitarchname=@jitarchname@, |
| 6 | | jitosname=@jitosname@, jitcpuarch=@jitcpuarch@ |
| 7 | | execcapable=@execcapable@ |
| 8 | 5 | perl=@perl@ |
| 9 | 6 | Compiler: |
| 10 | 7 | cc='@cc@', ccflags='@ccflags@', |
diff --git a/include/parrot/embed.h b/include/parrot/embed.h
index 069216c..6168c9c 100644
|
a
|
b
|
|
| 12 | 12 | |
| 13 | 13 | #include "parrot/core_types.h" /* types used */ |
| 14 | 14 | #include "parrot/compiler.h" /* compiler capabilities */ |
| 15 | | #include "parrot/config.h" /* PARROT_VERSION, PARROT_JIT_CAPABLE... */ |
| | 15 | #include "parrot/config.h" /* PARROT_VERSION... */ |
| 16 | 16 | #include "parrot/interpreter.h" /* give us the interpreter flags */ |
| 17 | 17 | #include "parrot/warnings.h" /* give us the warnings flags */ |
| 18 | 18 | |
diff --git a/include/parrot/extend.h b/include/parrot/extend.h
index fca555f..9f99d55 100644
|
a
|
b
|
|
| 15 | 15 | |
| 16 | 16 | #include <stdarg.h> |
| 17 | 17 | #include "parrot/core_types.h" |
| 18 | | #include "parrot/config.h" /* PARROT_VERSION, PARROT_JIT_CAPABLE... */ |
| | 18 | #include "parrot/config.h" /* PARROT_VERSION... */ |
| 19 | 19 | #include "parrot/interpreter.h" /* give us the interpreter flags */ |
| 20 | 20 | #include "parrot/warnings.h" /* give us the warnings flags */ |
| 21 | 21 | |
diff --git a/lib/Parrot/Configure/Options/Conf.pm b/lib/Parrot/Configure/Options/Conf.pm
index ffe8aea..0f3a6da 100644
|
a
|
b
|
|
| 90 | 90 | --opcode=(type) Use the given type for opcodes |
| 91 | 91 | --ops=(files) Use the given ops files |
| 92 | 92 | |
| 93 | | --jitcapable Use JIT |
| 94 | | --execcapable Use JIT to emit a native executable |
| 95 | 93 | --without-threads Build parrot without thread support |
| 96 | 94 | --buildframes Dynamically build NCI call frames |
| 97 | 95 | --without-core-nci-thunks |
diff --git a/lib/Parrot/Configure/Options/Conf/Shared.pm b/lib/Parrot/Configure/Options/Conf/Shared.pm
index 05ed095..a2c1b6c 100644
|
a
|
b
|
|
| 26 | 26 | define |
| 27 | 27 | disable-rpath |
| 28 | 28 | exec-prefix |
| 29 | | execcapable |
| 30 | 29 | fatal |
| 31 | 30 | fatal-step |
| 32 | 31 | floatval |
| … |
… |
|
| 39 | 38 | infodir |
| 40 | 39 | inline |
| 41 | 40 | intval |
| 42 | | jitcapable |
| 43 | 41 | buildframes |
| 44 | 42 | ld |
| 45 | 43 | ldflags |
diff --git a/lib/Parrot/Configure/Step/List.pm b/lib/Parrot/Configure/Step/List.pm
index 02ef0fb..070bf48 100644
|
a
|
b
|
|
| 35 | 35 | auto::va_ptr |
| 36 | 36 | auto::format |
| 37 | 37 | auto::isreg |
| 38 | | auto::jit |
| 39 | 38 | auto::frames |
| 40 | 39 | auto::llvm |
| 41 | 40 | auto::inline |
diff --git a/runtime/parrot/library/distutils.pir b/runtime/parrot/library/distutils.pir
index 792b322..6c8f31c 100644
|
a
|
b
|
|
| 4216 | 4216 | $S0 = $P0['ccwarn'] |
| 4217 | 4217 | flags .= $S0 |
| 4218 | 4218 | flags .= " " |
| 4219 | | $S0 = $P0['cc_hasjit'] |
| 4220 | | flags .= $S0 |
| 4221 | 4219 | .return (flags) |
| 4222 | 4220 | .end |
| 4223 | 4221 | |
diff --git a/src/exceptions.c b/src/exceptions.c
index fc8b207..5c873d3 100644
|
a
|
b
|
|
| 714 | 714 | fprintf(stderr, "Version : %s\n", PARROT_VERSION); |
| 715 | 715 | fprintf(stderr, "Configured : %s\n", PARROT_CONFIG_DATE); |
| 716 | 716 | fprintf(stderr, "Architecture: %s\n", PARROT_ARCHNAME); |
| 717 | | fprintf(stderr, "JIT Capable : %s\n", JIT_CAPABLE ? "Yes" : "No"); |
| 718 | 717 | if (interp) |
| 719 | 718 | fprintf(stderr, "Interp Flags: %#x\n", (unsigned int)interp->flags); |
| 720 | 719 | else |
diff --git a/t/examples/shootout.t b/t/examples/shootout.t
index bdbcc2f..408fd2f 100644
|
a
|
b
|
|
| 69 | 69 | if ( $shebang =~ /^\#.+parrot\s+(.+)$/ ) { |
| 70 | 70 | $args = $1; # parrot options |
| 71 | 71 | } |
| 72 | | unless ( $PConfig{jitcapable} ) { |
| 73 | 72 | $args =~ s/-j/-C/; |
| 74 | 73 | $args =~ s/-Cj/-C/; |
| 75 | | } |
| 76 | 74 | $args =~ s/-Cj/-j/; |
| 77 | 75 | |
| 78 | 76 | # Remove any plain -C option. |
diff --git a/t/native_pbc/integer.t b/t/native_pbc/integer.t
index 3dc71c1..8972d39 100644
|
a
|
b
|
|
| 173 | 173 | # ] |
| 174 | 174 | test_pbc_integer(1, "(4_le) i386 32 bit opcode_t, 4 byte intval, 8 byte double"); |
| 175 | 175 | |
| 176 | | # adding --floatval="long double" --jitcapable=0 |
| | 176 | # adding --floatval="long double" |
| 177 | 177 | # HEADER => [ |
| 178 | 178 | # wordsize = 4 (interpreter's wordsize/INTVAL = 4/4) |
| 179 | 179 | # byteorder = 0 (interpreter's byteorder = 0) |
diff --git a/tools/dev/create_language.pl b/tools/dev/create_language.pl
index 2a87378..fc7dc55 100644
|
a
|
b
|
|
| 486 | 486 | HAS_ICU = @has_icu@ |
| 487 | 487 | |
| 488 | 488 | CC = @cc@ |
| 489 | | CFLAGS = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @cg_flag@ @gc_flag@ |
| | 489 | CFLAGS = @ccflags@ @cc_shared@ @cc_debug@ @ccwarn@ @cg_flag@ @gc_flag@ |
| 490 | 490 | EXE = @exe@ |
| 491 | 491 | LD = @ld@ |
| 492 | 492 | LDFLAGS = @ldflags@ @ld_debug@ |
diff --git a/tools/dev/mk_native_pbc b/tools/dev/mk_native_pbc
index 1013610..628c56d 100755
|
a
|
b
|
|
| 144 | 144 | exit |
| 145 | 145 | fi |
| 146 | 146 | make -s prog-clean |
| 147 | | perl Configure.pl --floatval="long double" --jitcapable=0 --nomanicheck |
| | 147 | perl Configure.pl --floatval="long double" --nomanicheck |
| 148 | 148 | tail myconfig |
| 149 | 149 | make -s || exit 1 |
| 150 | 150 | hugefloatvalsize=$(./parrot_config hugefloatvalsize) |