Skip to content

Instantly share code, notes, and snippets.

@sorear
sorear / gist:5882254
Created June 28, 2013 03:19
bad ast for $_
- QAST::CompUnit
- QAST::Block $_ := 4;{ $_ := 1; for 2 -> $k { say $_ } }
- QAST::Var(local __args__ :decl(param))
- QAST::Stmts
- QAST::Op(call)
- QAST::Block
- QAST::Stmts
- QAST::Var(lexical GLOBALish :decl(static))
- QAST::Var(lexical EXPORT :decl(static))
- QAST::Var(lexical $?PACKAGE :decl(static))
@sorear
sorear / gist:5866922
Created June 26, 2013 12:13
autosplit testing patch
diff --git a/src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java b/src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java
index 2fc2e88..d773edf 100644
--- a/src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java
+++ b/src/vm/jvm/runtime/org/perl6/nqp/jast2bc/JASTToJVMBytecode.java
@@ -40,7 +40,7 @@ public class JASTToJVMBytecode {
{
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream(argv[0]), "UTF-8"));
- JavaClass c = buildClassFrom(in);
+ JavaClass c = buildClassFrom(in, true);
@sorear
sorear / gist:5843669
Created June 23, 2013 03:30
x86_64 does not require function alignment
Stefans-MacBook-Air:tmp sorear$ cat x.c
#include <stdio.h>
int bar();
int main() { printf("%lx\n",(long)bar); return 0; }
int bar() { return 5; }
Stefans-MacBook-Air:tmp sorear$ cc x.c; ./a.out
10bc7af00
Stefans-MacBook-Air:tmp sorear$ cc -Os x.c; ./a.out
101247f05
Stefans-MacBook-Air:tmp sorear$
@sorear
sorear / gist:5834999
Created June 21, 2013 23:12
hotspot diagnostics
86 1 java.lang.String::hashCode (55 bytes)
94 2 java.lang.String::charAt (29 bytes)
125 3 java.lang.String::equals (81 bytes)
131 4 java.lang.Object::<init> (1 bytes)
176 5 ! sun.reflect.generics.parser.SignatureParser::current (40 bytes)
189 6 java.util.HashMap::indexFor (6 bytes)
217 7 n java.lang.Object::getClass (0 bytes)
223 8 java.util.HashMap::hash (59 bytes)
226 9 n java.lang.Object::hashCode (0 bytes)
229 10 java.lang.AbstractStringBuilder::ensureCapacityInternal (16 bytes)
@sorear
sorear / gist:5832444
Created June 21, 2013 16:31
space reduction
1080397 1039318 -3.8% save-0621/Actions.class
248678 239654 -3.6% save-0621/BOOTSTRAP.class
11191262 10877680 -2.8% save-0621/CORE.setting.class
38236 36172 -5.4% save-0621/Compiler.class
29007 27283 -5.9% save-0621/ConstantFolder.class
5994769 5914294 -1.3% save-0621/Grammar.class
131697 123421 -6.3% save-0621/JASTNodes.class
602979 571968 -5.1% save-0621/Metamodel.class
40471 37771 -6.7% save-0621/ModuleLoader.class
112289 104836 -6.6% save-0621/NQPCORE.setting.class
@sorear
sorear / gist:5827643
Created June 20, 2013 23:21
reduced case for xor failure
say(([^^] 5, 9, 0), (5 ^^ 9 ^^ 0), '[^^] mix 1');
say(([^^] 5, 0, 17), (5 ^^ 0 ^^ 17), '[^^] mix 2');
@sorear
sorear / gist:5827413
Created June 20, 2013 22:41
sizes & stuff for benabik
Stefans-MacBook-Air:rakudo-jvm sorear$ ls -lhS *.class blib/Perl6/*.class ../nqp-jvm/install/*.class rakudo-runtime.jar ../nqp-jvm/install/*.jar
-rw-r--r-- 1 sorear staff 11M Jun 20 14:43 CORE.setting.class
-rw-r--r-- 1 sorear staff 5.7M Jun 20 14:11 blib/Perl6/Grammar.class
-rw-r--r-- 1 sorear staff 1.7M Jun 20 13:39 ../nqp-jvm/install/nqp.class
-rw-r--r-- 1 sorear staff 1.0M Jun 20 14:10 blib/Perl6/Actions.class
-rw-r--r-- 1 sorear staff 759K Jun 20 13:39 ../nqp-jvm/install/NQPP6QRegex.class
-rw-r--r-- 1 sorear staff 746K Jun 20 13:39 ../nqp-jvm/install/QAST.class
-rw-r--r-- 1 sorear staff 589K Jun 20 14:12 blib/Perl6/Metamodel.class
-rw-r--r-- 1 sorear staff 549K Jun 20 13:39 ../nqp-jvm/install/NQPP5QRegex.class
-rw-r--r-- 1 sorear staff 495K Jun 20 13:39 ../nqp-jvm/install/nqp-runtime.jar
@sorear
sorear / test_summary
Created June 20, 2013 22:15
jvm test summary
Test Summary Report
-------------------
t/spec/S02-literals/autoref.t (Wstat: 0 Tests: 4 Failed: 0)
Parse errors: Bad plan. You planned 57 tests but ran 4.
t/spec/S02-literals/hex_chars.t (Wstat: 0 Tests: 4 Failed: 1)
Failed test: 1
t/spec/S02-literals/listquote-whitespace.rakudo.jvm (Wstat: 0 Tests: 0 Failed: 0)
Parse errors: Bad plan. You planned 12 tests but ran 0.
t/spec/S02-literals/pairs.rakudo.jvm (Wstat: 0 Tests: 21 Failed: 0)
Parse errors: Bad plan. You planned 79 tests but ran 21.
@sorear
sorear / gist:5821914
Created June 20, 2013 11:09
rakudo is mocking me
Stefans-MacBook-Air:rakudo-jvm sorear$ ./perl6 --ll-exception
> "6".Numeric
6
> my $x = "6"
6
> $x.Numeric
Could not find symbol '&Return'
> "6".Numeric
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
> "6".Numeric
@sorear
sorear / gist:5820307
Last active December 18, 2015 17:39
histogram of P6opaque class creation in ./perl6 -e '' (fixed)
LEGEND:
; Next attribute
IREPR(xxx) Is inlined; xxx is repr-specific (and currently unused)
BREPR(xxx) Boxing mode
v Autovivifies
a Associative delegate
p Positional delegate
131 ;;;;;;;IP6int();;IP6int();;IP6int();;;
62 ;;;;;;;IP6int();;IP6int();;IP6int();;;v;