[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.
 public class foo {
    Class field = boolean.class;
% java -version
java version "1.3.0"
% javac -d . -g

% javap -c foo
Compiled from
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

% java harpoon.Main.Main foo
Codeview "bytecode" for public foo():
  #0/ - aload_0 lv_0
  #1/ - invokespecial public java.lang.Object()
  #2/ - aload_0 lv_0
  #3/ - getstatic public static final java.lang.Class 
  #4/ - putfield java.lang.Class foo.field
  #5/ - return

Hope this makes clear why the Classpath code is written as it is.

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] 
              ( )
 "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.
#!/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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]