[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Classpath] Question about Boolean
From: |
C. Scott Ananian |
Subject: |
Re: [Classpath] Question about Boolean |
Date: |
Thu, 19 Jul 2001 13:52:21 -0400 (EDT) |
On Thu, 19 Jul 2001, C. Scott Ananian wrote:
> On 19 Jul 2001, Tom Tromey wrote:
>
> > - public static final Class TYPE =
> > VMClassLoader.getPrimitiveClass("boolean");
> > + public static final Class TYPE = boolean.class;
>
> With jikes, at least, this actually compiles to:
> public static final Class TYPE = Boolean.TYPE;
> which is probably not what you meant.
I just verified that javac compiles this in the same way.
Foo.java:
public class foo {
Class field = boolean.class;
}
Compiling:
% java -version
java version "1.3.0"
% javac -d . -g foo.java
Disassembling:
% javap -c foo
Compiled from foo.java
public class foo extends java.lang.Object {
java.lang.Class field;
public foo();
}
Method foo()
0 aload_0
1 invokespecial #1 <Method java.lang.Object()>
4 aload_0
5 getstatic #2 <Field java.lang.Class TYPE>
8 putfield #3 <Field java.lang.Class field>
11 return
---------
It's hard to tell that pc 5 is in fact a load from Boolean.TYPE (with
type java.lang.Class); my harpoon compiler loading this bytecode is more
clear:
% java harpoon.Main.Main foo
Codeview "bytecode" for public foo():
#0/foo.java:1 - aload_0 lv_0
#1/foo.java:1 - invokespecial public java.lang.Object()
#2/foo.java:2 - aload_0 lv_0
#3/foo.java:2 - getstatic public static final java.lang.Class
java.lang.Boolean.TYPE
#4/foo.java:2 - putfield java.lang.Class foo.field
#5/foo.java:1 - return
Hope this makes clear why the Classpath code is written as it is.
--s
Peking atomic shotgun Israel Indonesia RNC affinity group Pakistan
Boston arrangements KGB LA strategic AK-47 chemical agent Iraq [Hello to all my
fans in domestic surveillance]
( http://lesser-magoo.lcs.mit.edu/~cananian )
--
"These students are going to have to find out what law and order is
all about." -- Brig. General Robert Canterbury, Noon, May 4, 1970,
minutes before his troops shot 13 unarmed Kent State students, killing 4.
--
[http://www.cs.cmu.edu/~dst/DeCSS/Gallery/]
#!/usr/bin/perl -w
# 526-byte qrpff, Keith Winstein and Marc Horowitz <address@hidden>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$c=142;if((@a=unx"C*",$_)[20]&48){$h=5;
$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])address@hidden;s/...$/1$&/;$d=
unxV,xb25,$_;$b=73;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=($t=255)&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9
,$_=(map{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t
^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271))
[$_]^(($h>>=8)+=$f+(~$g&$t))address@hidden"C*",@a}';s/x/pack+/g;eval
- Question about Boolean, Tom Tromey, 2001/07/19
- Re: [Classpath] Question about Boolean, C. Scott Ananian, 2001/07/19
- Re: [Classpath] Question about Boolean,
C. Scott Ananian <=
- Re: Question about Boolean, Mark Wielaard, 2001/07/19
- Re: Question about Boolean, Tom Tromey, 2001/07/19
- Re: [Classpath] Re: Question about Boolean, C. Scott Ananian, 2001/07/19
- Re: [Classpath] Re: Question about Boolean, Jeff Sturm, 2001/07/19
- Re: [Classpath] Re: Question about Boolean, C. Scott Ananian, 2001/07/19
- Re: [Classpath] Re: Question about Boolean, Jeff Sturm, 2001/07/19
- Re: [Classpath] Re: Question about Boolean, Tom Tromey, 2001/07/21
- Re: [Classpath] Re: Question about Boolean, C. Scott Ananian, 2001/07/21
- Re: [Classpath] Re: Question about Boolean, Tom Tromey, 2001/07/21
- Re: Question about Boolean, Brian Jones, 2001/07/20