[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: jasmin 1.05<->1.2 incompatibility, or...?



Hi Greg,

Are you able to produce jasmin input using some tool?

This would be a fast way to check that you're doing everything right.

Cheers,
Chris


Grzegorz B. Prokopski wrote:


Hello,

I am trying to compile rather simple piece of code (attached) w/ jasmin.
(It's a part of sablevm-test-suite) If I use 1.05 version - it work
smoothly. However if I use 1.2 I get:


/usr/bin/jasmin SVMTestInlinabilityBytecodeVerificationFields.j -d .
SVMTestInlinabilityBytecodeVerificationFields.j:17: Warning - Syntax
error.
.field public aByte ^
SVMTestInlinabilityBytecodeVerificationFields.j:17: Error - Couldn't
repair and continue parse.
.field public aByte ^
src/SVMTestInlinabilityBytecodeVerificationFields.j: Found 2 errors



Which is quite strange if you see that the line 17. is actually: .field public aByte B

Isn't the "B" somehow missing from the error message?
Or maybe the syntax of this construction has been changed somehow?
How can it be fixed? (or do I see "white rabbits" two days in a row? ;-)

I'd be thankful for help w/ solving this problem. Somehow I don't feel
very inclined to revert to years old version...

Cheers,

Grzegorz B. Prokopski


------------------------------------------------------------------------

; -------------------------------------------------------------------------
; This file is part of SableVM.
; See the file "LICENSE" for Copyright information and the
; terms and conditions for copying, distribution and
; modification of SableVM.
; -------------------------------------------------------------------------
; File:      BytecodeVerificationFields.j
; Author:    Christian Arcand, 2003
; Purpose:   providing fields for the testing of bytecode instructions
; -------------------------------------------------------------------------

.class public SVMTestInlinabilityBytecodeVerificationFields
.super java/lang/Object

;
; fields used to test the getfield and putfield instructions
.field public aByte B
.field public aChar C
.field public aDouble D
.field public aFloat F
.field public anInt I
.field public aLong J
.field public anObject Ljava/lang/Object; .field public aShort S
.field public aBoolean Z
.field public anArray [Ljava/lang/Object;


;
; fields used to test the getstatic and putstatic instructions
.field public static aStaticByte B
.field public static aStaticChar C
.field public static aStaticDouble D
.field public static aStaticFloat F
.field public static aStaticInt I
.field public static aStaticLong J
.field public static aStaticObject Ljava/lang/Object;
.field public static aStaticShort S
.field public static aStaticBoolean Z
.field public static aStaticArray [Ljava/lang/Object;

;
; standard initializer
.method public <init>()V
   .limit stack 1
   .limit locals 1

aload_0
invokenonvirtual java/lang/Object/<init>()V
return
.end method