Skip to content

Instantly share code, notes, and snippets.

@FROGGS

FROGGS/nqp.diff Secret

Created August 12, 2013 10:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save FROGGS/7373412a4e57f42af5fa to your computer and use it in GitHub Desktop.
Save FROGGS/7373412a4e57f42af5fa to your computer and use it in GitHub Desktop.
diff --git a/src/vm/parrot/ModuleLoader.nqp b/src/vm/parrot/ModuleLoader.nqp
index e5717a6..b360d7c 100644
--- a/src/vm/parrot/ModuleLoader.nqp
+++ b/src/vm/parrot/ModuleLoader.nqp
@@ -86,11 +86,7 @@ knowhow ModuleLoader {
# if there's a conflict then don't dig any deeper.
# Obviously, just a first cut at this. :-)
my %known_symbols;
- my $hash := $target.WHO;
- unless nqp::ishash($hash) {
- $hash := $hash.FLATTENABLE_HASH();
- }
- for $hash {
+ for $target.WHO {
%known_symbols{nqp::iterkey_s($_)} := 1;
}
for $source.WHO {
diff --git a/src/Perl6/ModuleLoader.nqp b/src/Perl6/ModuleLoader.nqp
index 0059e19..14fe7cf 100644
--- a/src/Perl6/ModuleLoader.nqp
+++ b/src/Perl6/ModuleLoader.nqp
@@ -53,8 +53,10 @@ class Perl6::ModuleLoader does Perl6::ModuleLoaderVMConfig {
# See if we need to load it from elsewhere.
if nqp::existskey(%opts, 'from') {
if nqp::existskey(%language_module_loaders, %opts<from>) {
+ my @global_merge_target;
+ @global_merge_target.push( stash_hash($_) ) for @GLOBALish;
return %language_module_loaders{%opts<from>}.load_module($module_name,
- %opts, |@GLOBALish, :$line, :$file);
+ %opts, |@global_merge_target, :$line, :$file);
}
else {
nqp::die("Do not know how to load code from " ~ %opts<from>);
$ perl6 --ll-exception -e 'use QAST:from<NQP>; say QAST::WVal.HOW.name(QAST::WVal)'
Can only use get_who on a SixModelObject
current instr.: 'merge_globals' pc 167 (src/stage2/gen/module_loader.pir:107) (src/vm/parrot/ModuleLoader.nqp:84)
called from Sub '' pc 2173 (src/stage2/gen/module_loader.pir:999) (src/vm/parrot/ModuleLoader.nqp:69)
called from Sub 'load_module' pc 1817 (src/stage2/gen/module_loader.pir:836) (src/vm/parrot/ModuleLoader.nqp:52)
called from Sub '' pc 4006 (src/gen/perl6-moduleloader.pir:1704) (src/gen/ModuleLoader.nqp:164)
called from Sub 'load_module' pc 3297 (src/gen/perl6-moduleloader.pir:1419) (src/gen/ModuleLoader.nqp:160)
called from Sub 'load_module' pc 5737 (src/gen/perl6-symboltable.pir:2305) (src/Perl6/World.nqp:334)
called from Sub '' pc 90189 (src/gen/perl6-grammar.pir:32232) (src/Perl6/Grammar.nqp:1282)
called from Sub '' pc 89915 (src/gen/perl6-grammar.pir:32118) (src/Perl6/Grammar.nqp:1277)
called from Sub 'statement_control:sym<use>' pc 87975 (src/gen/perl6-grammar.pir:31344) (src/Perl6/Grammar.nqp:1223)
called from Sub '!protoregex' pc 12099 (src/stage2/QRegex.pir:4961) (src/stage2/QRegex.nqp:699)
called from Sub 'statement_control' pc 77912 (src/gen/perl6-grammar.pir:28397) (src/Perl6/Grammar.nqp:1120)
called from Sub 'statement' pc 68844 (src/gen/perl6-grammar.pir:25083) (src/Perl6/Grammar.nqp:1005)
called from Sub 'statementlist' pc 66971 (src/gen/perl6-grammar.pir:24473) (src/Perl6/Grammar.nqp:978)
called from Sub 'LANG' pc 20036 (src/stage2/gen/NQPHLL.pir:7431) (src/stage2/gen/NQPHLL.nqp:631)
called from Sub 'comp_unit' pc 59555 (src/gen/perl6-grammar.pir:21436) (src/Perl6/Grammar.nqp:763)
called from Sub 'TOP' pc 22556 (src/gen/perl6-grammar.pir:8572) (src/Perl6/Grammar.nqp:340)
called from Sub 'parse' pc 20241 (src/stage2/QRegex.pir:8125) (src/stage2/QRegex.nqp:1193)
called from Sub 'parse' pc 33621 (src/stage2/gen/NQPHLL.pir:13264) (src/stage2/gen/NQPHLL.nqp:1409)
called from Sub '' pc 33021 (src/stage2/gen/NQPHLL.pir:13036) (src/stage2/gen/NQPHLL.nqp:1364)
called from Sub 'compile' pc 32799 (src/stage2/gen/NQPHLL.pir:12947) (src/stage2/gen/NQPHLL.nqp:1356)
called from Sub 'eval' pc 28346 (src/stage2/gen/NQPHLL.pir:11087) (src/stage2/gen/NQPHLL.nqp:1113)
called from Sub '' pc 30589 (src/stage2/gen/NQPHLL.pir:12071) (src/stage2/gen/NQPHLL.nqp:1220)
called from Sub 'command_eval' pc 30472 (src/stage2/gen/NQPHLL.pir:12021) (src/stage2/gen/NQPHLL.nqp:1252)
called from Sub 'command_eval' pc 369 (src/gen/perl6-compiler.pir:194) (src/Perl6/Compiler.nqp:17)
called from Sub 'command_line' pc 29495 (src/stage2/gen/NQPHLL.pir:11616) (src/stage2/gen/NQPHLL.nqp:1202)
called from Sub 'MAIN' pc 367 (src/gen/perl6.pir:136) (src/gen/main.nqp:44)
called from Sub '' pc 321 (src/gen/perl6.pir:115) (src/gen/main.nqp:32)
called from Sub '' pc 1089 (src/gen/perl6.pir:389) (src/gen/main.nqp:57)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment