This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/how/NQPClassHOW.pm b/src/how/NQPClassHOW.pm | |
index 4e9b979..3fdbd25 100644 | |
--- a/src/how/NQPClassHOW.pm | |
+++ b/src/how/NQPClassHOW.pm | |
@@ -254,14 +254,18 @@ knowhow NQPClassHOW { | |
# Provided we have immediate parents... | |
my @result; | |
if +@immediate_parents { | |
- # Build merge list of lineraizations of all our parents, add | |
- # immediate parents and merge. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/Perl6/Metamodel/C3MRO.pm b/src/Perl6/Metamodel/C3MRO.pm | |
index 6889829..781ae77 100644 | |
--- a/src/Perl6/Metamodel/C3MRO.pm | |
+++ b/src/Perl6/Metamodel/C3MRO.pm | |
@@ -9,14 +9,18 @@ role Perl6::Metamodel::C3MRO { | |
# Provided we have immediate parents... | |
my @result; | |
if +@immediate_parents { | |
- # Build merge list of lineraizations of all our parents, add | |
- # immediate parents and merge. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/call/pcc.c b/src/call/pcc.c | |
index 401b833..ca1dfc9 100644 | |
--- a/src/call/pcc.c | |
+++ b/src/call/pcc.c | |
@@ -316,14 +316,14 @@ Parrot_pcc_invoke_from_sig_object(PARROT_INTERP, ARGIN(PMC *sub_obj), | |
ASSERT_ARGS(Parrot_pcc_invoke_from_sig_object) | |
opcode_t *dest; | |
- const UINTVAL n_regs_used[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; | |
- PMC *ctx = Parrot_push_context(interp, n_regs_used); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.sub foo | |
.annotate 'file', "foo.pir" | |
.annotate 'line', 3 | |
say "function foo" | |
.end | |
.sub bar :main | |
die 'bye' | |
.end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/compilers/imcc/pbc.c b/compilers/imcc/pbc.c | |
index b085cc9..4204c2b 100644 | |
--- a/compilers/imcc/pbc.c | |
+++ b/compilers/imcc/pbc.c | |
@@ -681,7 +681,6 @@ get_code_size(ARGMOD(imc_info_t * imcc), ARGIN(const IMC_Unit *unit), | |
if (ins->opname && STREQ(ins->opname, ".annotate")) { | |
/* Annotations contribute nothing to code size, since they do not | |
* end up in bytecode segment. */ | |
- (*src_lines)++; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/sub.c b/src/sub.c | |
index 84a384a..d84518d 100644 | |
--- a/src/sub.c | |
+++ b/src/sub.c | |
@@ -221,7 +221,7 @@ Parrot_sub_get_line_from_pc(PARROT_INTERP, ARGIN_NULLOK(PMC *subpmc), ARGIN_NULL | |
ASSERT_ARGS(Parrot_sub_get_line_from_pc) | |
Parrot_Sub_attributes *sub; | |
opcode_t *base_pc, *debug_ops; | |
- size_t i, op, current_annotation, debug_size; | |
+ size_t i, op, current_annotation, debug_size, code_size; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.sub foo :method | |
.annotate "line", 2 | |
.param pmc node | |
.end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- compilers/pct/src/PCT/HLLCompiler.pir.orig 2011-08-31 13:29:53.000000000 +0000 | |
+++ compilers/pct/src/PCT/HLLCompiler.pir 2011-08-31 14:59:36.000000000 +0000 | |
@@ -1009,8 +1009,22 @@ memoize the line offsets as a C<!lineof> | |
# element is the line number to be returned. | |
# (Potential optimization: use a binary search.) | |
.local int line, count | |
+ .local pmc lastpos, lastline | |
count = elements linepos | |
line = 0 | |
+ unless cache goto line_loop |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/packfile/segments.c b/src/packfile/segments.c | |
index 1b23287..1339ade 100644 | |
--- a/src/packfile/segments.c | |
+++ b/src/packfile/segments.c | |
@@ -708,7 +708,7 @@ PackFile_Annotations_dump(PARROT_INTERP, ARGIN(const PackFile_Segment *seg)) | |
key->type == PF_ANNOTATION_KEY_TYPE_STR ? "string" : | |
key->type == PF_ANNOTATION_KEY_TYPE_PMC ? "pmc" : | |
"<ERROR>"); | |
- for (j = key->start; j < key->len; j++) { | |
+ for (j = key->start; j < key->start + key->len; j++) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- ./src/pmc/sub.pmc.orig 2011-08-30 15:52:12.000000000 +0000 | |
+++ ./src/pmc/sub.pmc 2011-08-30 15:56:05.000000000 +0000 | |
@@ -428,6 +428,9 @@ Invokes the subroutine. | |
Parrot_pcc_set_context(INTERP, context); | |
Parrot_pcc_set_caller_ctx(INTERP, context, caller_ctx); | |
+ /* support callcontext reuse */ | |
+ if (context == caller_ctx) | |
+ Parrot_pcc_free_registers(INTERP, context); | |
Parrot_pcc_allocate_registers(INTERP, context, sub->n_regs_used); |