-
diff --git a/CREDITS b/CREDITS
index 7cb9072..e57a55f 100644
|
a
|
b
|
|
| 948 | 948 | E: pdcawley@bofh.org.uk |
| 949 | 949 | W: http://www.bofh.org.uk:8080/ |
| 950 | 950 | |
| | 951 | N: Piotr Fusik |
| | 952 | D: Fixed typos |
| | 953 | |
| 951 | 954 | N: Reini Urban |
| 952 | 955 | U: rurban |
| 953 | 956 | E: rurban@cpan.org |
-
diff --git a/ChangeLog b/ChangeLog
index c0e1e5f..b8a6ded 100644
|
a
|
b
|
|
| 7979 | 7979 | before 5.6 did not handle the 0b numeric prefix; therefore, it was |
| 7980 | 7980 | returning 0. To fix this, I added a from_binary function that |
| 7981 | 7981 | would take a binary string and return its decimal representation. |
| 7982 | | Now, instead of blindly calilng oct, it makes a distinction between |
| | 7982 | Now, instead of blindly calling oct, it makes a distinction between |
| 7983 | 7983 | 0/0x numbers and 0b numbers. |
| 7984 | 7984 | |
| 7985 | 7985 | 2001-09-26 19:30 thgibbs |
-
diff --git a/NEWS b/NEWS
index 3641b0f..067b4dc 100644
|
a
|
b
|
|
| 186 | 186 | command-line parameters was improved. |
| 187 | 187 | + An experimental gdb pretty-printers in tools/dev for Parrot STRINGs and |
| 188 | 188 | PMCs is now available. (gdb 7.2 or later and Python are required) |
| 189 | | + c2str.pl and pmc2c.pl improvements result in a noticably faster build. |
| | 189 | + c2str.pl and pmc2c.pl improvements result in a noticeably faster build. |
| 190 | 190 | + Bugs in our Digest::sha256 library and bit-related dynamic ops were fixed |
| 191 | 191 | by GCI student Nolan Lum. Both now work correctly on 32 and 64 bit systems. |
| 192 | 192 | - Languages |
| … |
… |
|
| 923 | 923 | - skip creating a class/grammar if it already exists |
| 924 | 924 | - Languages |
| 925 | 925 | + Rakudo |
| 926 | | - improved error mesages in multi dispatch |
| | 926 | - improved error messages in multi dispatch |
| 927 | 927 | - implemented clone method for all objects |
| 928 | 928 | - implemented MAIN sub |
| 929 | 929 | - Unicode versions of infix hyper operators |
-
diff --git a/config/auto/backtrace/test_dlinfo_c.in b/config/auto/backtrace/test_dlinfo_c.in
index ae52dff..c5c0a85 100644
|
a
|
b
|
|
| 1 | 1 | /* |
| 2 | 2 | Copyright (C) 2009, Parrot Foundation. |
| 3 | 3 | |
| 4 | | check that Dl_info is avaible |
| | 4 | check that Dl_info is available |
| 5 | 5 | */ |
| 6 | 6 | |
| 7 | 7 | #include <execinfo.h> |
-
diff --git a/docs/book/pct/ch04_pge.pod b/docs/book/pct/ch04_pge.pod
index c554a81..0d35118 100644
|
a
|
b
|
|
| 1343 | 1343 | tokens make up the grammar. A proto declares a rule, defined elsewhere, which |
| 1344 | 1344 | other code may override dynamically. In this case, PCT takes information from |
| 1345 | 1345 | the proto declaration and fills in the details. The "dynamic overriding" |
| 1346 | | implies that a high-level language itself itself can modify its own grammar at |
| | 1346 | implies that a high-level language itself can modify its own grammar at |
| 1347 | 1347 | run time, by overriding the proto definitions for its operator table. Some |
| 1348 | 1348 | languages call this process X<operator overloading> I<operator overloading>. |
| 1349 | 1349 | |
-
diff --git a/docs/book/pir/ch05_control_structures.pod b/docs/book/pir/ch05_control_structures.pod
index f9dd244..7762281 100644
|
a
|
b
|
|
| 326 | 326 | The first time through the loop, this example sets the initial value of the |
| 327 | 327 | counter in C<loop_init>. It then goes on to test that the loop condition is met |
| 328 | 328 | in C<loop_test>. If the condition is true (C<counter> is less than or equal to |
| 329 | | 10) it jumps to C<loop_body> and executes the body of the loop. If the the |
| | 329 | 10) it jumps to C<loop_body> and executes the body of the loop. If the |
| 330 | 330 | condition is false, it will jump straight to C<loop_end> and the loop will end. |
| 331 | 331 | The body of the loop prints the current counter then goes on to |
| 332 | 332 | C<loop_continue>, which increments the counter and jumps back up to |
-
diff --git a/docs/book/pir/ch06_subroutines.pod b/docs/book/pir/ch06_subroutines.pod
index 2f8785f..9d705e6 100644
|
a
|
b
|
|
| 189 | 189 | Named parameters are an alternative to positional parameters. Instead of |
| 190 | 190 | passing parameters by their position in the string, Parrot assigns |
| 191 | 191 | arguments to parameters by their name. Consequently you may pass named |
| 192 | | parameters in any order. Declare named parameters with with the |
| | 192 | parameters in any order. Declare named parameters with the |
| 193 | 193 | C<:named>X<:named parameter modifier> modifier. |
| 194 | 194 | |
| 195 | 195 | This example declares two named parameters in the subroutine C<shoutout> |
-
diff --git a/docs/deprecations/deprecations_3_0.pod b/docs/deprecations/deprecations_3_0.pod
index a2aebdf..c4abad5 100644
|
a
|
b
|
|
| 92 | 92 | |
| 93 | 93 | =head3 Rational |
| 94 | 94 | |
| 95 | | They're old, crufty, and don't do anything that cannot be acheived by .call. |
| | 95 | They're old, crufty, and don't do anything that cannot be achieved by .call. |
| 96 | 96 | |
| 97 | 97 | Except obfuscasion of course. |
| 98 | 98 | |
-
diff --git a/docs/deprecations/how_to_deprecate.pod b/docs/deprecations/how_to_deprecate.pod
index 4d65ca1..ce781bb 100644
|
a
|
b
|
|
| 97 | 97 | |
| 98 | 98 | =item * |
| 99 | 99 | |
| 100 | | walk through the the documentation to ensure that it's sufficient for a user to |
| | 100 | walk through the documentation to ensure that it's sufficient for a user to |
| 101 | 101 | use to upgrade his or her code |
| 102 | 102 | |
| 103 | 103 | =item * |
-
diff --git a/docs/pdds/draft/pdd14_numbers.pod b/docs/pdds/draft/pdd14_numbers.pod
index bb856b2..6dab970 100644
|
a
|
b
|
|
| 126 | 126 | =item C<i_[add|subtract|multiply|divide|floor_divide|modulus|pow]_float(INTVAL |
| 127 | 127 | b)> |
| 128 | 128 | |
| 129 | | Add/subtract/multiply/divide/modulus/exponent an integer value with the the |
| | 129 | Add/subtract/multiply/divide/modulus/exponent an integer value with the |
| 130 | 130 | C<Integer> PMC, and set the C<Integer> to the resulting value, morphing it to |
| 131 | 131 | a C<Float>. Note that these are multidispatched. |
| 132 | 132 | |
-
diff --git a/docs/pdds/pdd07_codingstd.pod b/docs/pdds/pdd07_codingstd.pod
index 3cc6db1..97bed42 100644
|
a
|
b
|
|
| 503 | 503 | |
| 504 | 504 | =item Filenames |
| 505 | 505 | |
| 506 | | Filenames must be assumed to be case-insensitive, in the sense that that you |
| | 506 | Filenames must be assumed to be case-insensitive, in the sense that you |
| 507 | 507 | may not have two different files called F<Foo> and F<foo>. Normal source-code |
| 508 | 508 | filenames should be all lower-case; filenames with upper-case letters in them |
| 509 | 509 | are reserved for notice-me-first files such as F<README>, and for files which |
-
diff --git a/docs/pdds/pdd19_pir.pod b/docs/pdds/pdd19_pir.pod
index 5d35f4b..40ffacc 100644
|
a
|
b
|
|
| 815 | 815 | |
| 816 | 816 | =end PIR_FRAGMENT |
| 817 | 817 | |
| 818 | | Note that this only works for opcodes that have have a leading C<OUT> |
| | 818 | Note that this only works for opcodes that have a leading C<OUT> |
| 819 | 819 | parameter. [this restriction unimplemented: TT #906] |
| 820 | 820 | |
| 821 | 821 | =item ([<var1> [:<mod1> ...], ...]) = <var2>([<arg1> [:<mod2> ...], ...]) |
-
diff --git a/docs/pdds/pdd20_lexical_vars.pod b/docs/pdds/pdd20_lexical_vars.pod
index bd4daa2..b9c8d4f 100644
|
a
|
b
|
|
| 197 | 197 | If an inner subroutine is invoked that hasn't had a |
| 198 | 198 | C<capture_lex> operation performed on it, then Parrot |
| 199 | 199 | will attempt to dynamically perform the lexical capture |
| 200 | | using the call from from its outer sub. If the outer sub |
| | 200 | using the call from its outer sub. If the outer sub |
| 201 | 201 | doesn't have a call frame, as might occur when jumping |
| 202 | 202 | directly to the inner sub without previously invoking the |
| 203 | 203 | outer, then Parrot creates a dummy call frame for the |
-
diff --git a/docs/project/git_workflow.pod b/docs/project/git_workflow.pod
index 85e39d5..014baab 100644
|
a
|
b
|
|
| 139 | 139 | git add --force ports/foo |
| 140 | 140 | |
| 141 | 141 | NOTE: Make sure these files should actually be added. Most files in .gitignore |
| 142 | | should never be added, but some, such as some files in "ports/" will need need |
| | 142 | should never be added, but some, such as some files in "ports/" will need |
| 143 | 143 | the --force flag. |
| 144 | 144 | |
| 145 | 145 | Now for actually creating your commit! Since Git is a distributed version |
-
diff --git a/examples/past/blocktype_immediate.pir b/examples/past/blocktype_immediate.pir
index 533fa4c..3049714 100644
|
a
|
b
|
|
| 11 | 11 | =head1 DESCRIPTION |
| 12 | 12 | |
| 13 | 13 | Create and evaluate a PAST::Block with blocktype 'immediate'. |
| 14 | | 'immediate' means the the block is evaluated end the last value |
| | 14 | 'immediate' means the block is evaluated and the last value |
| 15 | 15 | is returned. |
| 16 | 16 | |
| 17 | 17 | Beware that this doesn't work yet as expected: |
-
diff --git a/examples/sdl/tetris/blockdata.pir b/examples/sdl/tetris/blockdata.pir
index 5709e93..8744d69 100644
|
a
|
b
|
|
| 29 | 29 | |
| 30 | 30 | =item blockdata."rotate"( dir ) |
| 31 | 31 | |
| 32 | | Changes the the C<block data> in a way to make |
| | 32 | Changes the C<block data> in a way to make |
| 33 | 33 | the block look rotated. |
| 34 | 34 | |
| 35 | 35 | =over 4 |
-
diff --git a/examples/streams/Combiner.pir b/examples/streams/Combiner.pir
index 231f69f..ecff32e 100644
|
a
|
b
|
|
| 87 | 87 | The _text sub is used as a source of the text stream. |
| 88 | 88 | It just writes some text to the stream. |
| 89 | 89 | |
| 90 | | The stream is automatically diconnected when the sub returns, which |
| | 90 | The stream is automatically disconnected when the sub returns, which |
| 91 | 91 | will also terminate the combined stream. |
| 92 | 92 | |
| 93 | 93 | =cut |
-
diff --git a/ext/winxed/README b/ext/winxed/README
index 7e28638..c31868f 100644
|
a
|
b
|
|
| 19 | 19 | |
| 20 | 20 | Releases are tagged like this: RELEASE_1_0_0 |
| 21 | 21 | |
| 22 | | To tag a new releease switch to the appropiate branch, like version_1_0, |
| 23 | | verify is updated with the appropiate changes and the pir generated files |
| | 22 | To tag a new release switch to the appropriate branch, like version_1_0, |
| | 23 | verify is updated with the appropriate changes and the pir generated files |
| 24 | 24 | are also updated, an tag it. Don't forget to push the tag to origin. |
-
diff --git a/ext/winxed/compiler.pir b/ext/winxed/compiler.pir
index 37a09a6..62547c4 100644
|
a
|
b
|
|
| 7326 | 7326 | .annotate 'line', 2635 |
| 7327 | 7327 | unless_null $P2, __label_2 |
| 7328 | 7328 | .annotate 'line', 2636 |
| 7329 | | WSubId_1('unknow namespace', __ARG_1) |
| | 7329 | WSubId_1('unknown namespace', __ARG_1) |
| 7330 | 7330 | __label_2: # endif |
| 7331 | 7331 | .annotate 'line', 2637 |
| 7332 | 7332 | __ARG_3.'usenamespace'($P2) |
| … |
… |
|
| 16547 | 16547 | goto __label_5 # break |
| 16548 | 16548 | __label_9: # case |
| 16549 | 16549 | .annotate 'line', 5559 |
| 16550 | | WSubId_6("Builtin unexpeted here", self) |
| | 16550 | WSubId_6("Builtin unexpected here", self) |
| 16551 | 16551 | __label_6: # default |
| 16552 | 16552 | .annotate 'line', 5561 |
| 16553 | 16553 | root_new $P6, ['parrot';'ResizablePMCArray'] |
-
diff --git a/src/dynoplibs/bit.ops b/src/dynoplibs/bit.ops
index 09186fd..d555b02 100644
|
a
|
b
|
|
| 402 | 402 | =item B<rot>(out INT, in INT, in INT, inconst INT) |
| 403 | 403 | |
| 404 | 404 | Rotate $2 left or right by $3 and place result in $1. |
| 405 | | $4 is the the size of the word to rotate, max 32 on a 32-bit CPU and 64 |
| | 405 | $4 is the size of the word to rotate, max 32 on a 32-bit CPU and 64 |
| 406 | 406 | on a 64-bit CPU. If the rotate count is negative a rotate right by abs($3) |
| 407 | 407 | is performed. |
| 408 | 408 | |
-
diff --git a/src/dynoplibs/math.ops b/src/dynoplibs/math.ops
index 14f39a4..df24da2 100644
|
a
|
b
|
|
| 208 | 208 | |
| 209 | 209 | =item B<rand>(out NUM, in NUM) |
| 210 | 210 | |
| 211 | | Set $1 to a random floating point number between 0 and and $2, inclusive. |
| | 211 | Set $1 to a random floating point number between 0 and $2, inclusive. |
| 212 | 212 | |
| 213 | 213 | =cut |
| 214 | 214 | |
| … |
… |
|
| 218 | 218 | |
| 219 | 219 | =item B<rand>(out INT, in INT) |
| 220 | 220 | |
| 221 | | Set $1 to a integer between 0 and and $2, inclusive. |
| | 221 | Set $1 to a integer between 0 and $2, inclusive. |
| 222 | 222 | |
| 223 | 223 | =cut |
| 224 | 224 | |
| … |
… |
|
| 228 | 228 | |
| 229 | 229 | =item B<rand>(out NUM, in NUM, in NUM) |
| 230 | 230 | |
| 231 | | Set $1 to a random floating point number between $2 and and $3, inclusive. |
| | 231 | Set $1 to a random floating point number between $2 and $3, inclusive. |
| 232 | 232 | |
| 233 | 233 | =cut |
| 234 | 234 | |
| … |
… |
|
| 258 | 258 | |
| 259 | 259 | =item B<rand>(out INT, in INT, in INT) |
| 260 | 260 | |
| 261 | | Set $1 to a integer between $2 and and $3, inclusive. |
| | 261 | Set $1 to a integer between $2 and $3, inclusive. |
| 262 | 262 | |
| 263 | 263 | =cut |
| 264 | 264 | |
-
diff --git a/src/exceptions.c b/src/exceptions.c
index 31981a8..c59b0ee 100644
|
a
|
b
|
|
| 7 | 7 | |
| 8 | 8 | =head1 DESCRIPTION |
| 9 | 9 | |
| 10 | | Define the the core subsystem for exceptions. |
| | 10 | Define the core subsystem for exceptions. |
| 11 | 11 | |
| 12 | 12 | =head2 Exception Functions |
| 13 | 13 | |
-
diff --git a/src/gc/alloc_resources.c b/src/gc/alloc_resources.c
index 18cb2ce..6bb16d7 100644
|
a
|
b
|
|
| 309 | 309 | /* should happen only once at the end */ |
| 310 | 310 | --last_free_list_count; |
| 311 | 311 | else { |
| 312 | | /* next item on free list should also be flaged as free item */ |
| | 312 | /* next item on free list should also be flagged as free item */ |
| 313 | 313 | pobj_walker = (GC_MS_PObj_Wrapper*)pobj_walker->next_ptr; |
| 314 | 314 | PARROT_ASSERT(PObj_on_free_list_TEST((PObj*)pobj_walker)); |
| 315 | 315 | } |
-
diff --git a/src/gc/api.c b/src/gc/api.c
index 410363d..4e7eedb 100644
|
a
|
b
|
|
| 551 | 551 | |
| 552 | 552 | =item C<void Parrot_gc_free_pmc_attributes(PARROT_INTERP, PMC *pmc)> |
| 553 | 553 | |
| 554 | | Deallocates an attibutes structure from a PMC if it has the auto_attrs |
| | 554 | Deallocates an attributes structure from a PMC if it has the auto_attrs |
| 555 | 555 | flag set. |
| 556 | 556 | |
| 557 | 557 | =cut |
-
diff --git a/src/gc/gc_gms.c b/src/gc/gc_gms.c
index ec8046f..2c43250 100644
|
a
|
b
|
|
| 2277 | 2277 | =item C<static void gc_gms_str_get_youngest_generation(PARROT_INTERP, STRING |
| 2278 | 2278 | *str)> |
| 2279 | 2279 | |
| 2280 | | Calculate youngest genereation of PMC children. Used to remove items from |
| | 2280 | Calculate youngest generation of PMC children. Used to remove items from |
| 2281 | 2281 | dirty_list. |
| 2282 | 2282 | |
| 2283 | 2283 | =cut |
-
diff --git a/src/gc/gc_ms.c b/src/gc/gc_ms.c
index d821323..7aa4774 100644
|
a
|
b
|
|
| 1257 | 1257 | |
| 1258 | 1258 | =item C<void gc_ms_free_pmc_attributes(PARROT_INTERP, PMC *pmc)> |
| 1259 | 1259 | |
| 1260 | | Deallocates an attibutes structure from a PMC if it has the auto_attrs |
| | 1260 | Deallocates an attributes structure from a PMC if it has the auto_attrs |
| 1261 | 1261 | flag set. |
| 1262 | 1262 | |
| 1263 | 1263 | */ |
-
diff --git a/src/gc/malloc.c b/src/gc/malloc.c
index 2fd8edc..3d87b61 100644
|
a
|
b
|
|
| 145 | 145 | you would be far better off obtaining ptmalloc, which is |
| 146 | 146 | derived from a version of this malloc, and is well-tuned for |
| 147 | 147 | concurrent programs. (See http://www.malloc.de) Note that |
| 148 | | even when USE_MALLOC_LOCK is defined, you can can guarantee |
| | 148 | even when USE_MALLOC_LOCK is defined, you can guarantee |
| 149 | 149 | full thread-safety only if no threads acquire memory through |
| 150 | 150 | direct calls to MORECORE or other system-level allocators. |
| 151 | 151 | |
| … |
… |
|
| 376 | 376 | #endif |
| 377 | 377 | |
| 378 | 378 | /* |
| 379 | | The unsigned integer type used to hold addresses when they are are |
| | 379 | The unsigned integer type used to hold addresses when they are |
| 380 | 380 | manipulated as integers. Except that it is not defined on all |
| 381 | 381 | systems, intptr_t would suffice. |
| 382 | 382 | */ |
| … |
… |
|
| 833 | 833 | The main declaration needed is the mallinfo struct that is returned |
| 834 | 834 | (by-copy) by mallinfo(). The SVID/XPG malloinfo struct contains a |
| 835 | 835 | bunch of fields that are not even meaningful in this version of |
| 836 | | malloc. These fields are are instead filled by mallinfo() with |
| | 836 | malloc. These fields are instead filled by mallinfo() with |
| 837 | 837 | other numbers that might be of interest. |
| 838 | 838 | |
| 839 | 839 | HAVE_USR_INCLUDE_MALLOC_H should be set if you have a |
| … |
… |
|
| 2273 | 2273 | To help compensate for the large number of bins, a one-level index |
| 2274 | 2274 | structure is used for bin-by-bin searching. `binmap' is a |
| 2275 | 2275 | bitvector recording whether bins are definitely empty so they can |
| 2276 | | be skipped over during during traversals. The bits are NOT always |
| | 2276 | be skipped over during traversals. The bits are NOT always |
| 2277 | 2277 | cleared as soon as bins are empty, but instead only |
| 2278 | 2278 | when they are noticed to be empty during traversal in malloc. |
| 2279 | 2279 | */ |
| … |
… |
|
| 2719 | 2719 | always true of any allocated chunk; i.e., that each allocated |
| 2720 | 2720 | chunk borders either a previously allocated and still in-use |
| 2721 | 2721 | chunk, or the base of its memory arena. This is ensured |
| 2722 | | by making all allocations from the the `lowest' part of any found |
| | 2722 | by making all allocations from the `lowest' part of any found |
| 2723 | 2723 | chunk. This does not necessarily hold however for chunks |
| 2724 | 2724 | recycled via fastbins. |
| 2725 | 2725 | */ |
-
diff --git a/src/gc/system.c b/src/gc/system.c
index 4e6b8ba..0446aa2 100644
|
a
|
b
|
|
| 110 | 110 | register windows. Store the code in a union with a double to |
| 111 | 111 | ensure proper memory alignment. */ |
| 112 | 112 | /* TT #271: This needs to be fixed in a variety of ways */ |
| 113 | | /* Using inline assember if available instead of the hand-coded version. */ |
| | 113 | /* Using inline assembler if available instead of the hand-coded version. */ |
| 114 | 114 | # if defined(__GNUC__) && (defined(__sparcv9) || defined(__sparcv9__) || defined(__arch64__)) |
| 115 | 115 | asm("flushw"); |
| 116 | 116 | # else |
-
diff --git a/src/interp/inter_create.c b/src/interp/inter_create.c
index 9a4250f..0965cf1 100644
|
a
|
b
|
|
| 543 | 543 | |
| 544 | 544 | Provide access to a (possibly) valid interp pointer. This is intended B<only> |
| 545 | 545 | for use cases when an interp is not available otherwise, which shouldn't be |
| 546 | | often. There are no guarantees about what what this function returns. If you |
| | 546 | often. There are no guarantees about what this function returns. If you |
| 547 | 547 | have access to a valid interp, use that instead. Don't use this for anything |
| 548 | 548 | other than error handling. |
| 549 | 549 | |
-
diff --git a/src/oo.c b/src/oo.c
index 0247e3b..a04a19b 100644
|
a
|
b
|
|
| 1221 | 1221 | them. The C<role> parameter is the role that we are composing into the class |
| 1222 | 1222 | or role. C<methods_hash> is the hash of method names to invokable PMCs that |
| 1223 | 1223 | contains the methods the class or role has. C<roles_list> is the list of roles |
| 1224 | | the the class or method does. |
| | 1224 | the class or method does. |
| 1225 | 1225 | |
| 1226 | 1226 | The C<role> parameter is only dealt with by its external interface. Whether |
| 1227 | 1227 | this routine is usable by any other object system implemented in Parrot very |
-
diff --git a/src/ops/core.ops b/src/ops/core.ops
index 06215cd..4b0e56d 100644
|
a
|
b
|
|
| 972 | 972 | |
| 973 | 973 | Fetch some piece of information about the interpreter and put it in $1. |
| 974 | 974 | Possible values for $2 are defined in F<runtime/parrot/include/interpinfo.pasm>. |
| 975 | | The valid constants for each return value are (excluding the the .INTERPINFO_ |
| | 975 | The valid constants for each return value are (excluding the .INTERPINFO_ |
| 976 | 976 | prefix): |
| 977 | 977 | |
| 978 | 978 | =over 4 |
-
diff --git a/src/platform/generic/entropy.c b/src/platform/generic/entropy.c
index ca266d5..24ec1fd 100644
|
a
|
b
|
|
| 43 | 43 | if (!urand_fh) { |
| 44 | 44 | const char *msg = "Couldn't open /dev/urandom for reading."; |
| 45 | 45 | /* This function is called during interp init, so use the GC registry |
| 46 | | * as a way to figure out interp's initialziedness. |
| | 46 | * as a way to figure out interp's initializedness. |
| 47 | 47 | */ |
| 48 | 48 | if (interp->gc_registry) |
| 49 | 49 | Parrot_ex_throw_from_c_args(interp, NULL, 1, msg); |
-
diff --git a/src/platform/win32/entropy.c b/src/platform/win32/entropy.c
index 925627e..39b6f72 100644
|
a
|
b
|
|
| 42 | 42 | if (!CryptAcquireContext(&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)){ |
| 43 | 43 | const char *msg = "Couldn't crypt context."; |
| 44 | 44 | /* This function is called during interp init, so use the GC registry |
| 45 | | * as a way to figure out interp's initialziedness. |
| | 45 | * as a way to figure out interp's initializedness. |
| 46 | 46 | */ |
| 47 | 47 | if (interp->gc_registry) |
| 48 | 48 | Parrot_ex_throw_from_c_args(interp, NULL, 1, msg); |
-
diff --git a/src/platform/win32/io.c b/src/platform/win32/io.c
index e599752..6e68ddc 100644
|
a
|
b
|
|
| 549 | 549 | /* Redirect input to NULL. This is to avoid |
| 550 | 550 | * interferences in case both the child and |
| 551 | 551 | * the parent tries to read from stdin. |
| 552 | | * May be unneccessary or even interfere |
| | 552 | * May be unnecessary or even interfere |
| 553 | 553 | * with valid usages, need more feedback. */ |
| 554 | 554 | hnull = CreateFile("NUL", GENERIC_READ|GENERIC_WRITE, |
| 555 | 555 | 0, &sec, OPEN_EXISTING, |
-
diff --git a/src/pmc.c b/src/pmc.c
index 25d0173..7d21fd9 100644
|
a
|
b
|
|
| 692 | 692 | participate in garbage collection, and mixing them with PMCs that are |
| 693 | 693 | garbage-collected will cause bugs. |
| 694 | 694 | |
| 695 | | If you don't know what this means means, or you can't tell if either case |
| | 695 | If you don't know what this means, or you can't tell if either case |
| 696 | 696 | will happen as the result of any call you make on or with this PMC, |
| 697 | 697 | B<DO NOT> use this function, lest you cause weird crashes and memory errors. |
| 698 | 698 | Use C<Parrot_pmc_new()> instead. |
-
diff --git a/src/pmc/class.pmc b/src/pmc/class.pmc
index eb292a4..5b5c76a 100644
|
a
|
b
|
|
| 1081 | 1081 | |
| 1082 | 1082 | =item namespace |
| 1083 | 1083 | |
| 1084 | | NameSpace PMC of the the namespace attached to the class. |
| | 1084 | NameSpace PMC of the namespace attached to the class. |
| 1085 | 1085 | |
| 1086 | 1086 | =item attributes |
| 1087 | 1087 | |
-
diff --git a/src/pmc/env.pmc b/src/pmc/env.pmc
index 0d9b787..8fe74d9 100644
|
a
|
b
|
|
| 278 | 278 | |
| 279 | 279 | =item C<void delete_keyed(PMC *key)> |
| 280 | 280 | |
| 281 | | Deletes the the environment variable for C<*key>. |
| | 281 | Deletes the environment variable for C<*key>. |
| 282 | 282 | |
| 283 | 283 | =cut |
| 284 | 284 | |
-
diff --git a/src/pmc/eval.pmc b/src/pmc/eval.pmc
index 5a49ced..3406542 100644
|
a
|
b
|
|
| 53 | 53 | |
| 54 | 54 | =item C<void destroy()> |
| 55 | 55 | |
| 56 | | Destroy the Eval and its asscociated bytecode. |
| | 56 | Destroy the Eval and its associated bytecode. |
| 57 | 57 | |
| 58 | 58 | =item C<void mark()> |
| 59 | 59 | |
-
diff --git a/src/pmc/hash.pmc b/src/pmc/hash.pmc
index 2134d81..8395e1e 100644
|
a
|
b
|
|
| 1265 | 1265 | |
| 1266 | 1266 | =item C<static void cannot_autovivify_nested(PARROT_INTERP)> |
| 1267 | 1267 | |
| 1268 | | Throw the appropiate exception. |
| | 1268 | Throw the appropriate exception. |
| 1269 | 1269 | |
| 1270 | 1270 | =cut |
| 1271 | 1271 | |
-
diff --git a/src/pmc/mappedbytearray.pmc b/src/pmc/mappedbytearray.pmc
index 60cc2db..22c95c7 100644
|
a
|
b
|
|
| 7 | 7 | |
| 8 | 8 | =head1 DESCRIPTION |
| 9 | 9 | |
| 10 | | A memory mapped file or shared memory segment accesible as array of bytes. |
| | 10 | A memory mapped file or shared memory segment accessible as array of bytes. |
| 11 | 11 | |
| 12 | 12 | Bare minimal functionality available, only for posix platforms |
| 13 | 13 | (tested on linux). |
| … |
… |
|
| 445 | 445 | |
| 446 | 446 | =item C<static void unavailable(PARROT_INTERP, const char *msg)> |
| 447 | 447 | |
| 448 | | Throws appropiately for functionality not available in the current platform. |
| | 448 | Throws appropriately for functionality not available in the current platform. |
| 449 | 449 | |
| 450 | 450 | =item C<static void * mapfromfilehandle(PIOHANDLE handle, unsigned long size, |
| 451 | 451 | int flag)> |
-
diff --git a/src/pmc/role.pmc b/src/pmc/role.pmc
index ce24d47..e469bcd 100644
|
a
|
b
|
|
| 392 | 392 | |
| 393 | 393 | =item name - String PMC containing the name of the role |
| 394 | 394 | |
| 395 | | =item namespce - NameSpace PMC of the the namespace attached to the role |
| | 395 | =item namespce - NameSpace PMC of the namespace attached to the role |
| 396 | 396 | |
| 397 | 397 | =item attributes - Hash keyed on attribute name, value is hash describing it |
| 398 | 398 | |
-
diff --git a/src/pmc/stringbuilder.pmc b/src/pmc/stringbuilder.pmc
index 35b5c9f..e106569 100644
|
a
|
b
|
|
| 321 | 321 | VTABLE STRING *substr(INTVAL offset, INTVAL length) { |
| 322 | 322 | STRING *buffer; |
| 323 | 323 | GET_ATTR_buffer(INTERP, SELF, buffer); |
| 324 | | /* We must clone here becase we can reallocate buffer behind the scene... */ |
| | 324 | /* We must clone here because we can reallocate buffer behind the scene... */ |
| 325 | 325 | /* TODO Optimize it to avoid creation of redundant STRING */ |
| 326 | 326 | return Parrot_str_clone(INTERP, |
| 327 | 327 | STRING_substr(INTERP, buffer, offset, length)); |
-
diff --git a/src/pmc/structview.pmc b/src/pmc/structview.pmc
index 7c589b6..2658c5e 100644
|
a
|
b
|
|
| 956 | 956 | if ((size_t)p != ALIGN_UP((size_t)p, align)) |
| 957 | 957 | Parrot_ex_throw_from_c_args(INTERP, NULL, 0, |
| 958 | 958 | "Attempt to dereference unaligned pointer " |
| 959 | | "(%x, required alignement: %d)", |
| | 959 | "(%x, required alignment: %d)", |
| 960 | 960 | p, align); |
| 961 | 961 | |
| 962 | 962 | size = ALIGN_UP(size, align); |
| … |
… |
|
| 1006 | 1006 | if ((size_t)p != ALIGN_UP((size_t)p, align)) |
| 1007 | 1007 | Parrot_ex_throw_from_c_args(INTERP, NULL, 0, |
| 1008 | 1008 | "Attempt to dereference unaligned pointer " |
| 1009 | | "(%x, required alignement: %d)", |
| | 1009 | "(%x, required alignment: %d)", |
| 1010 | 1010 | p, align); |
| 1011 | 1011 | } |
| 1012 | 1012 | |
-
diff --git a/src/pmc/sub.pmc b/src/pmc/sub.pmc
index 67d4f9c..241aff0 100644
|
a
|
b
|
|
| 1032 | 1032 | |
| 1033 | 1033 | PMC_get_sub(INTERP, SELF, sub); |
| 1034 | 1034 | /* |
| 1035 | | XXX Rakudo's failing with with this code on ASSERT. Why??? |
| | 1035 | XXX Rakudo's failing with this code on ASSERT. Why??? |
| 1036 | 1036 | GET_ATTR_namespace_stash(INTERP, SELF, _namespace); |
| 1037 | 1037 | PARROT_ASSERT(_namespace == sub->namespace_stash || !"consistency!!!"); |
| 1038 | 1038 | */ |
-
diff --git a/src/scheduler.c b/src/scheduler.c
index ba22d9b..713f48b 100644
|
a
|
b
|
|
| 258 | 258 | |
| 259 | 259 | =item C<PMC * Parrot_cx_peek_task(PARROT_INTERP)> |
| 260 | 260 | |
| 261 | | Retrieve the the top task on the scheduler's task list, but don't remove it |
| | 261 | Retrieve the top task on the scheduler's task list, but don't remove it |
| 262 | 262 | from the list. |
| 263 | 263 | |
| 264 | 264 | =cut |
-
diff --git a/t/oo/objects.t b/t/oo/objects.t
index a03357a..0971bc3 100644
|
a
|
b
|
|
| 683 | 683 | |
| 684 | 684 | .sub PMC_as_classes |
| 685 | 685 | get_class $P0, "Integer" |
| 686 | | ok( 1, "get_class of Integer did't croak" ) |
| | 686 | ok( 1, "get_class of Integer didn't croak" ) |
| 687 | 687 | |
| 688 | 688 | get_class $P0, "Integer" |
| 689 | | ok( 1, "get_class of Integer did't croak second time" ) |
| | 689 | ok( 1, "get_class of Integer didn't croak second time" ) |
| 690 | 690 | |
| 691 | 691 | typeof $S0, $P0 |
| 692 | 692 | is( $S0, 'PMCProxy', 'typeof PMCProxy' ) |
-
diff --git a/t/op/literal.t b/t/op/literal.t
index e1e5396..27f27e9 100644
|
a
|
b
|
|
| 11 | 11 | |
| 12 | 12 | =head1 DESCRIPTION |
| 13 | 13 | |
| 14 | | Tests the lexing of literal numbers. Taken from from the 2nd |
| | 14 | Tests the lexing of literal numbers. Taken from the 2nd |
| 15 | 15 | aoudad book (page 127). |
| 16 | 16 | |
| 17 | 17 | =cut |
-
diff --git a/t/op/sprintf.t b/t/op/sprintf.t
index bacf0e3..db0e48e 100644
|
a
|
b
|
|
| 350 | 350 | local_branch jmpstack, set_skip_loop |
| 351 | 351 | |
| 352 | 352 | skip_info[114] = 'harness needs support for * modifier' |
| 353 | | skip_info[144] = 'perl5 expresssion as test value' |
| | 353 | skip_info[144] = 'perl5 expression as test value' |
| 354 | 354 | skip_info[131] = 'harness needs support for * modifier' |
| 355 | 355 | skip_info[141] = 'harness needs support for * modifier' |
| 356 | 356 | skip_info[161] = 'harness needs support for * modifier' |
-
diff --git a/t/pmc/callcontext.t b/t/pmc/callcontext.t
index cfb8fc1..fbc42ba 100644
|
a
|
b
|
|
| 280 | 280 | unshift $P0, $P1 |
| 281 | 281 | $P2 = shift $P0 |
| 282 | 282 | |
| 283 | | is($P2, 'derF', '... but not convert when unneccesary') |
| | 283 | is($P2, 'derF', '... but not convert when unnecesary') |
| 284 | 284 | $I0 = issame $P1, $P2 |
| 285 | 285 | ok($I0, '... returning the same item' ) |
| 286 | 286 | |
-
diff --git a/t/pmc/managedstruct.t b/t/pmc/managedstruct.t
index 389c1ff..675e561 100644
|
a
|
b
|
|
| 92 | 92 | is($I0, 1, "char val of 1 is correct") |
| 93 | 93 | set $I0, $P0[0;1] |
| 94 | 94 | is($I0, 2, "char val of 258 retrieved as 2") |
| 95 | | # now acces that as a short |
| | 95 | # now access that as a short |
| 96 | 96 | new $P2, ['ResizablePMCArray'] |
| 97 | 97 | push $P2, .DATATYPE_SHORT |
| 98 | 98 | push $P2, 1 |
-
diff --git a/t/pmc/mappedbytearray.t b/t/pmc/mappedbytearray.t
index 37aa53f..5fa0d03 100644
|
a
|
b
|
|
| 80 | 80 | mm = new ['MappedByteArray'], filename |
| 81 | 81 | |
| 82 | 82 | $I0 = elements mm |
| 83 | | # The test file is one line of text, and line ending may have beeen |
| | 83 | # The test file is one line of text, and line ending may have been |
| 84 | 84 | # converted, so the lenght can be one byte different. |
| 85 | 85 | $I1 = $I0 == 43 |
| 86 | 86 | $I2 = $I0 == 44 |
-
diff --git a/t/pmc/task.t b/t/pmc/task.t
index 4e5202f..7c0f503 100644
|
a
|
b
|
|
| 77 | 77 | print "\n" |
| 78 | 78 | |
| 79 | 79 | $P2 = new ['String'] |
| 80 | | $P2 = "aditional data" |
| | 80 | $P2 = "additional data" |
| 81 | 81 | setattribute $P0, 'data', $P2 |
| 82 | 82 | |
| 83 | 83 | $P2 = get_global 'code' |
-
diff --git a/t/tools/install/01-create_directories.t b/t/tools/install/01-create_directories.t
index 8d3386f..e866f6d 100644
|
a
|
b
|
|
| 78 | 78 | |
| 79 | 79 | =head1 DESCRIPTION |
| 80 | 80 | |
| 81 | | The files in this directory test functionality used by the the scripts |
| | 81 | The files in this directory test functionality used by the scripts |
| 82 | 82 | F<tools/dev/install_files.pl>, F<tools/dev/install_doc_files.pl> and F<tools/dev/install_dev_files.pl> |
| 83 | 83 | and are exported by F<lib/Parrot/Install.pm>. |
| 84 | 84 | |
-
diff --git a/t/tools/install/02-install_files.t b/t/tools/install/02-install_files.t
index 20aa1be..d7969ef 100644
|
a
|
b
|
|
| 259 | 259 | |
| 260 | 260 | =head1 DESCRIPTION |
| 261 | 261 | |
| 262 | | The files in this directory test functionality used by the the scripts |
| | 262 | The files in this directory test functionality used by the scripts |
| 263 | 263 | F<tools/dev/install_files.pl>, F<tools/dev/install_doc_files.pl> and F<tools/dev/install_dev_files.pl> |
| 264 | 264 | and are exported by F<lib/Parrot/Install.pm>. |
| 265 | 265 | |
-
diff --git a/t/tools/install/03-lines_to_files.t b/t/tools/install/03-lines_to_files.t
index 46c8fe6..15f9b75 100644
|
a
|
b
|
|
| 208 | 208 | |
| 209 | 209 | =head1 DESCRIPTION |
| 210 | 210 | |
| 211 | | The files in this directory test functionality used by the the scripts |
| | 211 | The files in this directory test functionality used by the scripts |
| 212 | 212 | F<tools/dev/install_files.pl>, F<tools/dev/install_doc_files.pl> and F<tools/dev/install_dev_files.pl> |
| 213 | 213 | and are exported by F<lib/Parrot/Install.pm>. |
| 214 | 214 | |
-
diff --git a/tools/docs/make_html_docs.pl b/tools/docs/make_html_docs.pl
index fbc77dc..fce0d34 100644
|
a
|
b
|
|
| 202 | 202 | |
| 203 | 203 | my $outfile = File::Spec->catfile($target_dir, $outfilename) . '.html'; |
| 204 | 204 | |
| 205 | | # replace make_path with legacy functional mkpath to accomodate older versions of Perl |
| | 205 | # replace make_path with legacy functional mkpath to accommodate older versions of Perl |
| 206 | 206 | my $dir = File::Path::mkpath(File::Basename::dirname($outfile)); |
| 207 | 207 | |
| 208 | 208 | open my $out_fh, '>', $outfile; |
| … |
… |
|
| 307 | 307 | |
| 308 | 308 | my $outfile = File::Spec->catfile($target_dir, $input) . '.html'; |
| 309 | 309 | |
| 310 | | # replace make_path with legacy functional mkpath to accomodate older versions of Perl |
| | 310 | # replace make_path with legacy functional mkpath to accommodate older versions of Perl |
| 311 | 311 | my $dir = File::Path::mkpath(File::Basename::dirname($outfile)); |
| 312 | 312 | |
| 313 | 313 | open my $out_fh, '>', $outfile; |
-
diff --git a/tools/release/templates.json b/tools/release/templates.json
index c4a05c6..4b0b9e8 100644
|
a
|
b
|
|
| 37 | 37 | we recommend <a href=\"@web.org_root@\">our organization page</a> on GitHub, |
| 38 | 38 | or you can go directly to the official Parrot Git repo on <a href=\"@web.repository@\">Github</a> |
| 39 | 39 | |
| 40 | | To clone the the Parrot Git repo into a directory called 'parrot', use the following: |
| | 40 | To clone the Parrot Git repo into a directory called 'parrot', use the following: |
| 41 | 41 | <pre> |
| 42 | 42 | git clone git://github.com/parrot/parrot.git |
| 43 | 43 | </pre> |