Signum Benchmark revisited

R

Roedy Green

This morning I was thinking about how Hotspot knows which code to
optimise. It can very well measure usage except at points were it
calls different methods.

I began to wonder if you ran a single method that took sever hours to
execute would it ever get around to optimising it. Do you have to
arrange the crucial methods get CALLED many times to trigger the
optimisation?

This was chewing away in the back of my mind when I received an email
from someone saying they had made a small mod to my benchmark, to
repeat it after the first was over, this time being fairly sure
optimisation was in place from the start.

Lo! it made a HUGE difference. Here are some results:


[JRockit 5.0 R26.0]
C:\Java\signum>\Program\Java\jrockit-R26.0.0-jdk1.5.0_04\bin\java
-Xms128m -Xmx128m TestSignum
<><><> Cold Test <><><>
Checking conformance on crucial corner values...
stephan fails at -9223372036854775808 giving 0
sgn fails at 0 giving 1
Checking conformance on 20 million random longs...
Running timing tests with 200000000 iterations per candidate.
nanoseconds : candidate
21413037132 : wibble
21520079228 : piotr
21609720788 : sgn
23680904416 : kobzda
24472920161 : Sun Long.signum
36069783451 : stephan
39119122682 : signOf
42178383565 : signHalf
53662121023 : twoifs
finished
<><><> Warm Test <><><>
Checking conformance on crucial corner values...
stephan fails at -9223372036854775808 giving 0
sgn fails at 0 giving 1
Checking conformance on 20 million random longs...
Running timing tests with 200000000 iterations per candidate.
..........
nanoseconds : candidate
12086733649 : kobzda
12834817554 : piotr
13030512817 : signOf
15661405291 : wibble
15674467844 : sgn
16053298952 : Sun Long.signum
18162473722 : stephan
25837091585 : signHalf
29743114557 : twoifs
finished

[Sun HotSpot Client 1.5.0_06]
C:\Java\signum>\Program\Java\jre1.5.0_06\bin\java -Xbatch -Xms128m
-Xmx128m Test
<><><> Cold Test <><><>
Checking conformance on crucial corner values...
stephan fails at -9223372036854775808 giving 0
sgn fails at 0 giving 1
Checking conformance on 20 million random longs...
Running timing tests with 200000000 iterations per candidate.
nanoseconds : candidate
35411795634 : kobzda
36982571808 : piotr
42080198461 : signOf
42749740260 : wibble
43042244196 : twoifs
49368676745 : signHalf
51636447370 : sgn
53070962091 : Sun Long.signum
70221175875 : stephan
finished

<><><> Warm Test <><><>

Checking conformance on crucial corner values...
stephan fails at -9223372036854775808 giving 0
sgn fails at 0 giving 1
Checking conformance on 20 million random longs...
Running timing tests with 200000000 iterations per candidate.
nanoseconds : candidate
39064700960 : piotr
39122569209 : wibble
39165978358 : kobzda
41321444485 : twoifs
45712750084 : signOf
47069010167 : signHalf
51211896205 : sgn
51227077184 : Sun Long.signum
74266777481 : stephan
finished

JRockit wam 12086733649 : kobzda
Sun client warm 39064700960 : piotr

Not only did the optimal algorithms change over time, the best one
doubled in speed over time on JRockit.

Rockit's best was 3.25 times faster than Sun server's best. This is
surprise for me. I always thought of JRockit as primarily about memory
management and I/O optimisation, not this sort of low level bit
optimisation.

I have posted a fancier version of my own TestSignum program with
prettier results and both cold and warm competitions. Source is
posted as usual at http://mindprod.com/jgloss/benchmark.html
 
T

Thomas Hawtin

Roedy said:
This morning I was thinking about how Hotspot knows which code to
optimise. It can very well measure usage except at points were it
calls different methods.

I began to wonder if you ran a single method that took sever hours to
execute would it ever get around to optimising it. Do you have to
arrange the crucial methods get CALLED many times to trigger the
optimisation?

The original HotSpot for 1.2 did not do "on stack replacement". I
believe 1.3 did. More of a problem than replacing interpreted code with
compiled code, is replacing compiled code with better compiled code. By
this time optimisation has mashed up the code, so options are limited
for swapping replacement in.

Tom Hawtin
 
R

Roedy Green

Rockit's best was 3.25 times faster than Sun server's best.

oops. that is not correct. JRockit compared itself with Sun -client,
not -server. I have posted the corrected figures, now in beautiful
HTML tables with a normalised speed index to make comparing easier.
http://mindprod.com/jgloss/benchmark.html

The bottom line, Jet is the best optimiser, with JRockit coming in
about 3/4 of Jet's speed, Java -server at 1/2 Jet's speed and Java
-client at 1/4 Jet's speed.

Piotr, kobzda or signhalf are the best algorithms, depending on
platform. Wibble does best before the optimiser has time to kick in.

This is a very narrow test and should not be taken as indicative of
overall speed in real world situations.

I would like to thank every who participated and especially
congratulate to Peter Kobzda who designed the overall fastest
algorithm and the Jet compiler team whose optimisation skills embedded
in the Jet AOT compiler converted it into the fasted machine code.

If you think you can beat these results, please feel free to submit
more entries.

all the source code is posted. But here again is Peter's winning
algorithm:

/**
* alternate to signum for use in compare. Not a true signum,
since it
* returns ints other than +-1. Where there is any possibility of
overflow,
* you should compare two longs with < rather than subtraction.
*
* @author Peter Kobzda, who came up with it 17 hours before
Wibble, whom I
* earlier gave the attribution to.
* @param diff
* number to be collapsed to an int preserving sign and
zeroness.
* usually represents the difference of two long.
* @return sign of diff, some -ve int, 0 or some -ve int.
*/
public static final int kobzda ( long diff )
{
// the beauty of this method is most
// of the work is in int, not long
// which works well on 32-bit machines.
return (int) ( diff >>> 32 ) | (int)diff >>> 1 | (int)diff & 1;
}

I'd love to see the actual machine code that Jet generated or to
understand more fully why this particular algorithm and compiler did
so much better than the others.

If someone has access to a 64-bit JVM I'd like to see the speed. I
suspect Sun's elegant Long.signum, which does very badly on the
benchmarks will then come in first.
 
R

Rob Skedgell

Roedy Green wrote:
[...]
If someone has access to a 64-bit JVM I'd like to see the speed. I
suspect Sun's elegant Long.signum, which does very badly on the
benchmarks will then come in first.

As requested...

[rob@dionysus java]$ java com.mindprod.example.TestSignum "Opteron 244
1793MHz 2048MB" "Linux/2.6.15-git12-6-smp Java HotSpot(TM) 64-Bit
Server VM (build 1.5.0_06-b05, mixed mode)"

---- Opteron 244 1793MHz 2048MB : Linux/2.6.15-git12-6-smp Java
HotSpot(TM) 64-Bit Server VM (build 1.5.0_06-b05, mixed mode) : Cold
----
Checking conformance on crucial corner values...
stephan fails at -9,223,372,036,854,775,808 giving 0
sgn fails at 0 giving 1
Checking conformance on 20,000,000 random longs...
Running timing tests with 200,000,000 iterations per candidate.
..........
nanoseconds : speed % : candidate
19,502,732,000 : 60.03 : Sun Long.signum
19,872,286,000 : 58.91 : wibble
19,924,763,000 : 58.76 : kobzda
20,677,618,000 : 56.62 : piotr
20,915,422,000 : 55.98 : sgn
22,283,347,000 : 52.54 : signOf
23,077,739,000 : 50.73 : stephan
28,219,911,000 : 41.49 : signHalf
31,601,167,000 : 37.05 : twoifs
finished

---- Opteron 244 1793MHz 2048MB : Linux/2.6.15-git12-6-smp Java
HotSpot(TM) 64-Bit Server VM (build 1.5.0_06-b05, mixed mode) : Warm
----
Checking conformance on crucial corner values...
stephan fails at -9,223,372,036,854,775,808 giving 0
sgn fails at 0 giving 1
Checking conformance on 20,000,000 random longs...
Running timing tests with 200,000,000 iterations per candidate.
..........
nanoseconds : speed % : candidate
10,176,818,000 : 115.04 : signHalf
12,184,700,000 : 96.09 : sgn
12,421,622,000 : 94.25 : Sun Long.signum
12,549,649,000 : 93.29 : twoifs
12,754,350,000 : 91.79 : stephan
12,767,143,000 : 91.70 : signOf
13,646,727,000 : 85.79 : piotr
14,988,245,000 : 78.11 : wibble
15,074,235,000 : 77.67 : kobzda
finished
 
W

Wibble

Roedy said:
oops. that is not correct. JRockit compared itself with Sun -client,
not -server. I have posted the corrected figures, now in beautiful
HTML tables with a normalised speed index to make comparing easier.
http://mindprod.com/jgloss/benchmark.html

The bottom line, Jet is the best optimiser, with JRockit coming in
about 3/4 of Jet's speed, Java -server at 1/2 Jet's speed and Java
-client at 1/4 Jet's speed.

Piotr, kobzda or signhalf are the best algorithms, depending on
platform. Wibble does best before the optimiser has time to kick in.

This is a very narrow test and should not be taken as indicative of
overall speed in real world situations.

I would like to thank every who participated and especially
congratulate to Peter Kobzda who designed the overall fastest
algorithm and the Jet compiler team whose optimisation skills embedded
in the Jet AOT compiler converted it into the fasted machine code.

If you think you can beat these results, please feel free to submit
more entries.

all the source code is posted. But here again is Peter's winning
algorithm:

/**
* alternate to signum for use in compare. Not a true signum,
since it
* returns ints other than +-1. Where there is any possibility of
overflow,
* you should compare two longs with < rather than subtraction.
*
* @author Peter Kobzda, who came up with it 17 hours before
Wibble, whom I
* earlier gave the attribution to.
* @param diff
* number to be collapsed to an int preserving sign and
zeroness.
* usually represents the difference of two long.
* @return sign of diff, some -ve int, 0 or some -ve int.
*/
public static final int kobzda ( long diff )
{
// the beauty of this method is most
// of the work is in int, not long
// which works well on 32-bit machines.
return (int) ( diff >>> 32 ) | (int)diff >>> 1 | (int)diff & 1;
}

I'd love to see the actual machine code that Jet generated or to
understand more fully why this particular algorithm and compiler did
so much better than the others.

If someone has access to a 64-bit JVM I'd like to see the speed. I
suspect Sun's elegant Long.signum, which does very badly on the
benchmarks will then come in first.

Its really funny that Wibble does better then piotr ever.

I typed it in and oops'd it back, since it was really just piotr with
an extra '&' thrown in, which does nothing.

I think that if wibble ever wins its an indicator that the signal to
noise is low in the benchmark. At best the compiler will just optimize
them into identical code.
 
R

Roedy Green

As requested...

any chance you could run those again with the latest version and email
me the generated HTML so they will have the new columns and both
elapsed and cpu time.
 
R

Roedy Green

nanoseconds : speed % : candidate
19,502,732,000 : 60.03 : Sun Long.signum

aha , just as I predicted. They go from last to first place with
hardware 64-bit longs.
 
R

Roedy Green

Its really funny that Wibble does better then piotr ever.

I typed it in and oops'd it back, since it was really just piotr with
an extra '&' thrown in, which does nothing.

The tool I need to solve many of these mysteries is something that
will let me stop the program in mid flight and examine the tight look
machine code it is executing, a 32-bit Periscope.

I think the biggest problem is simply random noise even in a machine
with nominally no other apps running with obvious background processes
shut down. There may be random elements within the JVM itself. The
amount of noise is much high than I would have predicted. Maybe is in
the Homeland security microphone and webcam spyware throwing the
numbers off. :)

I wrecked one benchmark run by clicking on the window, which of course
froze output for a while.

Puzzles for me, why did all code generators do so badly on hilo
generating such bad code and missing the obvious peephole
optimisations. Why did Jet so do well on piotr, better than my best
hand-coded assembler for the algorithm? How did Jet do that and what
machine code solution did it find?

I could imagine a very clever optimiser working using a chess
analogy. It looks for "book openings".It sees a bit of JVM byte code
that matches the piotr-signum gambit (either in method or manually
inlined) It looks in its book of how to code that algorithm for the
given platform, then plops in the pre-optimised machine code -- or
machine code template that permits things like fine tuning register
usage.

The key is these decisions are made at run time and might require some
statistics gathering, for example are most of the numbers positive,
negative or zero?

That way you can get code tuned to the platform so long as you code
with idioms in the code book.

This may be why up loops go faster than down loops. There are simply
more UP patterns in the play book. the more common idioms are more
likely to get the optimiser teams attention.
 
R

Roedy Green

This morning I was thinking about how Hotspot knows which code to
optimise. It can very well measure usage except at points were it
calls different methods.

I have been having paranoid thoughts, a failure of nerve.

Optimisation often does not kick in until the program has been running
a while. So it might work FINE for a while THEN die, only after
running a long time. The optimisation code might contain a tiny bug,
failing on some obscure corner case the ordinal code handled
correctly.

The other problem is HotSpot attempts the electronic equivalent of the
stunt of changing tires on a race car without a pit stop. This is so
tricky it is bound to screw up. it converts a method to machine code
from byte code WHILE IT IS EXCUTING, and even more amazingly later
re-optimises that machine code WHILE IT IS EXCUTING.

Bugs will show up intermittently, because the failure will only occur
in certain stack states. The problem is compounded when HotSpot
attempts to RE-optimise machine code where the stack states are even
more complicated to modify on the fly.

I have always loved working with software rather than hardware because
of the repeatability of problems. Threads and Hotspot remove that
repeatability.

On the fly optimisation of machine code is a daring high wire act. I
am astounded that it works at all.

How do you possibly go about debugging such software and proving it is
correct? I guess you need to keep running thousand and thousands of
test suites both with and without optimisations, each tuned to kick in
with optimisation at random times, checking for any anomalous
outputs. Even when you find an anomaly, that is not much of clue
where the optimisation of the flipover failed.

Nailing the bugs, especially for pathological conditions is extremely
difficult. Optimisations can work 99% of the coding situations, but
that is not good enough for mindless replacement.

In particular, it usually does not matter what code does with
Integer.MAX_VALUE and Integer.MIN_VALUE. The values just don't occur
naturally. However, "obvious" optimisations can fail for these values.

Perhaps, eventually we will be encouraged to pepper code with asserts
about variable range values primarily to assure the optimiser it does
not need to worry about handling those corners, ditto for negative
divisors or dividends.
 
O

Oliver Wong

Roedy Green said:
Perhaps, eventually we will be encouraged to pepper code with asserts
about variable range values primarily to assure the optimiser it does
not need to worry about handling those corners, ditto for negative
divisors or dividends.

I don't think this will happen. If a particular optimization could only
be done for non-negative divisors, then the optimizer should check whether
there exists any code path that would allow for a negative divisor. Let's
say it's right 80% of the time, and 20% of the time it has false negatives,
but never any false positives. Then the optimized program does exactly the
same thing as the unoptimized program, and 80% of the time, it's runs pretty
quickly too.

If we allow the programmer to tell to the optimizer "This divisor will
never be negative", you're opening a big can of worms. What if the
programmer was mistaken? What if the programmer is lying? Etc.

Anyone who's ever programmed for a significant amount of time has
probably encountered a situation that they erroneously thought "could never
happen".

Leave the optimizations to the optimizer, and have the programmers focus
on writing correct code.

- Oliver
 
R

Rob Skedgell

Roedy said:
any chance you could run those again with the latest version and email
me the generated HTML so they will have the new columns and both
elapsed and cpu time.

Done.
 
W

Wibble

Roedy said:
The tool I need to solve many of these mysteries is something that
will let me stop the program in mid flight and examine the tight look
machine code it is executing, a 32-bit Periscope.

Pretty much any debugger will let you attach a running process
and dump the assembler.
ps | grep java prints process id
gdb
attach pid
disassemble
 
R

Roedy Green

The tool I need to solve many of these mysteries is something that
will let me stop the program in mid flight and examine the tight look
machine code it is executing, a 32-bit Periscope.

I have such a tool, at least for an undocumented switch to get it to
squirt out the assembler code. I discovered the secret of how Jet
managed to pull off the piotr algorithm so cleverly.

it uses a lea instruction *load effective address) to shift left,
leave the orgininal intact and put the result in a second register all
in one cycle. Very clever!!

lea ecx,[eax,eax] adding eax to itself effectively shifts it left,
and lea allow you to keep the old eax without needing to make an extra
copy.

Years ago Michael Abrash (the guy who wrote most of Microsoft's NT
video drivers) used brute force try all possibilities to find the
fastest possible way to code short sequences i gave him. Once I knew
the "trick" I could generalise it to many another situations. However
it took brute force to discover the basic gambit.

This project has been a bit of a black hole. I originally intended to
spend no more than 15 minutes on it. Now curiosity has me hooked and I
want to figure out just what optimisations you can count on the
compiler doing for you. I presume some of you too are curious.

Here is the asm for the various algorithms. It is a bit peculiar
assembler. It does not use the usual mnemonics, and it reverses the
Intel order of the operands. It just for study, not for reassembly.



.file "TestSignum.class"
xds_compiled:

..text
Ltext0:


.align 4
..global _0com_mindprod_example_TestSignum_clinit
_0com_mindprod_example_TestSignum_clinit:
pushl %esi
pushl %edi
addl $-12, %esp
cmpl -3080(%esp), %esp
pushl _1java_text_DecimalFormat
call JR_NEW
pushl %eax
pushl _0com_mindprod_example_TestSignum_strtable
call
_0java_text_DecimalFormat_init__Ljava_lang_String_2___Ljava_text_DecimalFormat_2
movl %eax, _4com_mindprod_example_TestSignum_df0
pushl _1java_text_DecimalFormat
call JR_NEW
pushl %eax
pushl _0com_mindprod_example_TestSignum_strtable+4
call
_0java_text_DecimalFormat_init__Ljava_lang_String_2___Ljava_text_DecimalFormat_2
movl %eax, _4com_mindprod_example_TestSignum_df2
pushl _1java_lang_StringBuilder
call JR_NEW24
movl %eax, 8(%esp)
pushl %eax
pushl $3000
call
_0java_lang_AbstractStringBuilder_init__I___Ljava_lang_AbstractStringBuilder_2
pushl $21
pushl $1
pushl $1
movl 20(%esp), %eax
movl %eax, _4com_mindprod_example_TestSignum_html
pushl _1com_excelsior_internal_longTD
call X2J_NEW_OPEN
movl %eax, 20(%esp)
leal 16(%eax), %edi
movl $$aggregate, %esi
movl $42, %ecx
rep
movsl
movl 20(%esp), %ecx
movl %ecx,
_4com_mindprod_example_TestSignum_testSuiteValues
movl $95238095,
_4com_mindprod_example_TestSignum_suiteIterations
movl $1073741824,
_4com_mindprod_example_TestSignum_cpuTimeToBeatInNanos
movl $1105341934,
_4com_mindprod_example_TestSignum_cpuTimeToBeatInNanos+4
subl $-28, %esp
popl %edi
popl %esi
ret
pushl $3
call JR_unwind_2RS
# -- _0com_mindprod_example_TestSignum_clinit


.align 4
..global _3com_mindprod_example_TestSignum_access$200
_3com_mindprod_example_TestSignum_access$200:
pushl %ebp
pushl %ebx
cmpl $0, _1com_mindprod_example_TestSignum+52
je L0
L9:
movb 12(%esp), %al
movl 20(%esp), %ecx
==== Next deref = checknull 12
movl 12(%ecx), %edx
movl 16(%esp), %ebx
movl %ebx, %ebp
subl %edx, %ebp
testl %ebp, %ebp
jle L1
movl _0com_mindprod_example_TestSignum_strtable+116, %edx
cmpl %ebp, 12(%edx)
jl L2
je L3
pushl _1java_lang_String
call JR_NEW32
movl 4(%edx), %ebx
movl %ebx, 4(%eax)
movl 8(%edx), %ebx
movl %ebx, 8(%eax)
movl %ebp, 12(%eax)
jmp L4
L3:
movl %edx, %eax
L4:
pushl %ecx
pushl %eax
pushl $$$new_obj0
call JR_StrConcat
subl $-12, %esp
jmp L5
L1:
testb %al, %al
je L6
cmpl %ebx, %edx
jl L7
testl %ebx, %ebx
jl L8
cmpl %ebx, %edx
je L6
pushl _1java_lang_String
call JR_NEW32
movl 4(%ecx), %edx
movl %edx, 4(%eax)
movl 8(%ecx), %ebp
movl %ebp, 8(%eax)
movl %ebx, 12(%eax)
jmp L5
L6:
movl %ecx, %eax
L5:
popl %ebx
popl %ebp
ret $12
L0:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L9
L2:
pushl %ebp
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L8:
pushl %ebx
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L7:
pushl %ebx
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
popl %ebx
popl %ebp
call JR_unwind
# -- _3com_mindprod_example_TestSignum_access$200


.align 4
..global _3com_mindprod_example_TestSignum_access$100
_3com_mindprod_example_TestSignum_access$100:
cmpl $0, _1com_mindprod_example_TestSignum+52
je L10
L11:
movl _4com_mindprod_example_TestSignum_df2, %eax
ret
L10:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L11
call JR_unwind
# -- _3com_mindprod_example_TestSignum_access$100


.align 4
..global _3com_mindprod_example_TestSignum_access$000
_3com_mindprod_example_TestSignum_access$000:
cmpl $0, _1com_mindprod_example_TestSignum+52
je L12
L13:
movl _4com_mindprod_example_TestSignum_df0, %eax
ret
L12:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L13
call JR_unwind
# -- _3com_mindprod_example_TestSignum_access$000


.align 4
..global _3com_mindprod_example_TestSignum_wibble
_3com_mindprod_example_TestSignum_wibble:
cmpl $0, _1com_mindprod_example_TestSignum+52
je L14
L15:
movl 4(%esp), %eax
movl %eax, %ecx
andl $1, %ecx
shrl $1, %eax
andl $2147483647, %eax
orl 8(%esp), %eax
orl %ecx, %eax
ret $8
L14:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L15
call JR_unwind
# -- _3com_mindprod_example_TestSignum_wibble


.align 4
..global _3com_mindprod_example_TestSignum_twoifs
_3com_mindprod_example_TestSignum_twoifs:
cmpl $0, _1com_mindprod_example_TestSignum+52
je L16
L21:
movl 4(%esp), %eax
cmpl $0, 8(%esp)
jge L17
movl $-1, %eax
jmp L18
L17:
jne L19
testl %eax, %eax
je L20
L19:
movl $1, %eax
jmp L18
L20:
xorl %eax, %eax
L18:
ret $8
L16:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L21
call JR_unwind
# -- _3com_mindprod_example_TestSignum_twoifs


.align 4
..global _3com_mindprod_example_TestSignum_sunSignum
_3com_mindprod_example_TestSignum_sunSignum:
pushl %ebp
pushl %ebx
cmpl $0, _1com_mindprod_example_TestSignum+52
je L22
L23:
pushl $63
movl 20(%esp), %ecx
pushl %ecx
movl 20(%esp), %ebx
pushl %ebx
call JR_lshr
movl %eax, %ebp
pushl $63
negl %ebx
adcl $0, %ecx
negl %ecx
pushl %ecx
pushl %ebx
call JR_lushr
orl %ebp, %eax
popl %ebx
popl %ebp
ret $8
L22:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L23
popl %ebx
popl %ebp
call JR_unwind
# -- _3com_mindprod_example_TestSignum_sunSignum


.align 4
..global _3com_mindprod_example_TestSignum_stephan
_3com_mindprod_example_TestSignum_stephan:
pushl %ebp
pushl %ebx
cmpl $0, _1com_mindprod_example_TestSignum+52
je L24
L25:
pushl $63
movl 20(%esp), %ecx
movl 16(%esp), %ebx
movl %ebx, %eax
negl %eax
movl %ecx, %edx
adcl $0, %edx
negl %edx
pushl %edx
pushl %eax
call JR_lshr
pushl $63
movl %eax, %ebp
negl %ebp
pushl %ecx
pushl %ebx
call JR_lshr
negl %eax
subl %eax, %ebp
movl %ebp, %eax
popl %ebx
popl %ebp
ret $8
L24:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L25
popl %ebx
popl %ebp
call JR_unwind
# -- _3com_mindprod_example_TestSignum_stephan


.align 4
..global _3com_mindprod_example_TestSignum_signOf
_3com_mindprod_example_TestSignum_signOf:
cmpl $0, _1com_mindprod_example_TestSignum+52
je L26
L29:
movl 8(%esp), %eax
movl 4(%esp), %ecx
orl %eax, %ecx
je L27
orl $1, %eax
jmp L28
L27:
xorl %eax, %eax
L28:
ret $8
L26:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L29
call JR_unwind
# -- _3com_mindprod_example_TestSignum_signOf


.align 4
..global _3com_mindprod_example_TestSignum_signHalf
_3com_mindprod_example_TestSignum_signHalf:
cmpl $0, _1com_mindprod_example_TestSignum+52
je L30
L33:
movl 4(%esp), %eax
movl 8(%esp), %ecx
testl %ecx, %ecx
jl L31
jne L32
testl %eax, %eax
je L31
L32:
movl $1, %ecx
L31:
movl %ecx, %eax
ret $8
L30:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L33
call JR_unwind
# -- _3com_mindprod_example_TestSignum_signHalf


.align 4
..global _3com_mindprod_example_TestSignum_sgn
_3com_mindprod_example_TestSignum_sgn:
pushl %ebp
pushl %ebx
cmpl $0, _1com_mindprod_example_TestSignum+52
je L34
L35:
pushl $63
movl 20(%esp), %ecx
pushl %ecx
movl 20(%esp), %ebx
pushl %ebx
call JR_lshr
movl %eax, %ebp
pushl $63
notl %ecx
pushl %ecx
notl %ebx
pushl %ebx
call JR_lushr
orl %ebp, %eax
popl %ebx
popl %ebp
ret $8
L34:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L35
popl %ebx
popl %ebp
call JR_unwind
# -- _3com_mindprod_example_TestSignum_sgn


.align 4
..global _3com_mindprod_example_TestSignum_piotr
_3com_mindprod_example_TestSignum_piotr:
cmpl $0, _1com_mindprod_example_TestSignum+52
je L36
L37:
movl 4(%esp), %eax
leal (%eax, %eax), %ecx
orl %ecx, %eax
shrl $1, %eax
orl 8(%esp), %eax
ret $8
L36:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L37
call JR_unwind
# -- _3com_mindprod_example_TestSignum_piotr


.align 4
..global _3com_mindprod_example_TestSignum_main
_3com_mindprod_example_TestSignum_main:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-64, %esp
cmpl -3088(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L38
L88:
movl 84(%esp), %ecx
==== Next deref = checknull 8
cmpl $3, 8(%ecx)
jne L39
movl 16(%ecx), %edi
==== Next deref = checknull 8
movl 8(%edi), %edx
movl 4(%edi), %ebx
movl 12(%edi), %eax
movl %eax, 44(%esp)
testl %eax, %eax
jle L40
==== Next deref = checknull 0
cmpl %ebx, (%ebx)
leal 16(%ebx), %eax
cmpw $32, (%eax, %edx, 2)
ja L40
xorl %ebp, %ebp
jmp L41
.align 4
L43:
leal (%edx, %ebp), %esi
cmpw $32, (%eax, %esi, 2)
ja L42
L41:
addl $1, %ebp
cmpl %ebp, 44(%esp)
jg L43
jmp L42
L40:
xorl %ebp, %ebp
L42:
movl 44(%esp), %eax
movl %eax, 24(%esp)
jmp L44
.align 4
L46:
movl 24(%esp), %esi
addl $-1, %esi
==== Next deref = checknull 0
cmpl %ebx, (%ebx)
leal (%edx, %esi), %eax
cmpw $32, 16(%ebx, %eax, 2)
ja L45
movl %esi, 24(%esp)
L44:
cmpl %ebp, 24(%esp)
jg L46
L45:
testl %ebp, %ebp
jle L47
movl 24(%esp), %esi
cmpl %esi, 44(%esp)
jge L48
jmp L49
L47:
movl 44(%esp), %eax
cmpl %eax, 24(%esp)
jge L50
testl %ebp, %ebp
jne L51
L48:
cmpl %ebp, 24(%esp)
jl L52
testl %ebp, %ebp
jne L53
movl 24(%esp), %esi
cmpl %esi, 44(%esp)
je L50
L53:
pushl _1java_lang_String
call JR_NEW32
movl %eax, %edi
movl %ebx, 4(%edi)
addl %ebp, %edx
movl %edx, 8(%edi)
movl 24(%esp), %eax
subl %ebp, %eax
movl %eax, 12(%edi)
L50:
movl %edi, 60(%esp)
movl 20(%ecx), %esi
==== Next deref = checknull 8
movl 8(%esi), %edx
movl 4(%esi), %ebx
movl 12(%esi), %eax
movl %eax, 20(%esp)
testl %eax, %eax
jle L54
==== Next deref = checknull 0
cmpl %ebx, (%ebx)
leal 16(%ebx), %eax
cmpw $32, (%eax, %edx, 2)
ja L54
movl $0, 48(%esp)
jmp L55
.align 4
L57:
movl 48(%esp), %ebp
addl %edx, %ebp
cmpw $32, (%eax, %ebp, 2)
ja L56
L55:
addl $1, 48(%esp)
movl 20(%esp), %ebp
cmpl %ebp, 48(%esp)
jl L57
jmp L56
L54:
movl $0, 48(%esp)
L56:
movl 20(%esp), %eax
movl %eax, 28(%esp)
jmp L58
.align 4
L60:
addl $-1, %ebp
==== Next deref = checknull 0
cmpl %ebx, (%ebx)
leal (%edx, %ebp), %eax
cmpw $32, 16(%ebx, %eax, 2)
ja L59
movl %ebp, 28(%esp)
L58:
movl 28(%esp), %ebp
cmpl %ebp, 48(%esp)
jl L60
L59:
cmpl $0, 48(%esp)
jle L61
movl 28(%esp), %ebp
cmpl %ebp, 20(%esp)
jge L62
jmp L63
L61:
movl 20(%esp), %eax
cmpl %eax, 28(%esp)
jge L64
cmpl $0, 48(%esp)
jne L65
L62:
movl 48(%esp), %ebp
cmpl %ebp, 28(%esp)
jl L66
testl %ebp, %ebp
jne L67
movl 28(%esp), %ebp
cmpl %ebp, 20(%esp)
je L64
L67:
pushl _1java_lang_String
call JR_NEW32
movl %eax, %esi
movl %ebx, 4(%esi)
addl 48(%esp), %edx
movl %edx, 8(%esi)
movl 28(%esp), %eax
subl 48(%esp), %eax
movl %eax, 12(%esi)
L64:
movl %esi, 56(%esp)
movl 24(%ecx), %ebp
==== Next deref = checknull 8
movl 8(%ebp), %edx
movl 4(%ebp), %ecx
movl 12(%ebp), %eax
movl %eax, 12(%esp)
testl %eax, %eax
jle L68
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
leal 16(%ecx), %eax
cmpw $32, (%eax, %edx, 2)
ja L68
movl $0, 40(%esp)
jmp L69
.align 4
L71:
movl 40(%esp), %ebx
addl %edx, %ebx
cmpw $32, (%eax, %ebx, 2)
ja L70
L69:
addl $1, 40(%esp)
movl 12(%esp), %ebx
cmpl %ebx, 40(%esp)
jl L71
jmp L70
L68:
movl $0, 40(%esp)
L70:
movl 12(%esp), %eax
movl %eax, 32(%esp)
jmp L72
.align 4
L74:
addl $-1, %ebx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
leal (%edx, %ebx), %eax
cmpw $32, 16(%ecx, %eax, 2)
ja L73
movl %ebx, 32(%esp)
L72:
movl 32(%esp), %ebx
cmpl %ebx, 40(%esp)
jl L74
L73:
cmpl $0, 40(%esp)
jle L75
movl 32(%esp), %ebx
cmpl %ebx, 12(%esp)
jge L76
jmp L77
L75:
movl 12(%esp), %eax
cmpl %eax, 32(%esp)
jge L78
cmpl $0, 40(%esp)
jne L79
L76:
movl 40(%esp), %ebx
cmpl %ebx, 32(%esp)
jl L80
testl %ebx, %ebx
jne L81
movl 32(%esp), %ebx
cmpl %ebx, 12(%esp)
je L78
L81:
pushl _1java_lang_String
call JR_NEW32
movl %eax, %ebp
movl %ecx, 4(%ebp)
addl 40(%esp), %edx
movl %edx, 8(%ebp)
movl 32(%esp), %eax
subl 40(%esp), %eax
movl %eax, 12(%ebp)
L78:
movl _4com_mindprod_example_TestSignum_html, %ebx
pushl _0com_mindprod_example_TestSignum_strtable+212
pushl _0com_mindprod_example_TestSignum_strtable+208
pushl %ebp
pushl _0com_mindprod_example_TestSignum_strtable+204
pushl _0com_mindprod_example_TestSignum_strtable+200
pushl %esi
pushl _0com_mindprod_example_TestSignum_strtable+196
pushl _0com_mindprod_example_TestSignum_strtable+192
pushl %edi
pushl _0com_mindprod_example_TestSignum_strtable+188
pushl $$$new_obj1
movl %ebp, 96(%esp)
call JR_StrConcat
movl %eax, 80(%esp)
==== Next deref = checknull 0
cmpl %ebx, (%ebx)
subl $-44, %esp
testl %eax, %eax
jne L82
movl _0java_lang_AbstractStringBuilder_strtable, %edx
movl 52(%edx), %eax
movl %eax, 36(%esp)
==== Next deref = checknull 0
cmpl %eax, (%eax)
L82:
movl 36(%esp), %ecx
movl 12(%ecx), %eax
movl %eax, 4(%esp)
testl %eax, %eax
je L83
movl 4(%ebx), %edx
==== Next deref = checknull 8
movl 8(%edx), %eax
movl 8(%ebx), %ecx
movl %ecx, 8(%esp)
movl 8(%esp), %ecx
addl 4(%esp), %ecx
movl %ecx, 16(%esp)
cmpl %eax, %ecx
jle L84
leal (%eax, %eax), %ecx
addl $2, %ecx
jns L85
movl $2147483647, %ecx
jmp L86
L85:
cmpl %ecx, 16(%esp)
jle L86
movl 16(%esp), %ecx
L86:
pushl %edx
pushl %ecx
pushl 16(%esp)
pushl $0
call _3com_excelsior_MemoryManager_Heap_expandCharArray
movl %eax, 4(%ebx)
L84:
pushl 36(%esp)
pushl 4(%ebx)
pushl 8(%ebx)
call _3com_excelsior_util_Chars_unsafeGetChars
movl 16(%esp), %eax
movl %eax, 8(%ebx)
L83:
pushl %edi
pushl %esi
pushl %ebp
pushl _0com_mindprod_example_TestSignum_strtable+16
call _3com_mindprod_example_TestSignum_trial
movl _1java_lang_System, %eax
cmpl $0, 52(%eax)
je L87
L89:
movl _4java_lang_System_out, %ecx
pushl (%ecx)
pushl _0com_mindprod_example_TestSignum_strtable+20
movl (%ecx), %edx
==== Next deref = checknull -4
movl -4(%edx), %eax
call *256(%eax)
pushl $0
pushl $10000
call _3java_lang_Thread_sleep__J___V
L92:
pushl %edi
pushl %esi
pushl %ebp
pushl _0com_mindprod_example_TestSignum_strtable+28
call _3com_mindprod_example_TestSignum_trial
movl _4java_lang_System_err, %eax
pushl (%eax)
pushl _4com_mindprod_example_TestSignum_html
movl (%eax), %ecx
==== Next deref = checknull -4
movl -4(%ecx), %edx
call *260(%edx)
movl _4java_lang_System_out, %eax
pushl (%eax)
pushl _0com_mindprod_example_TestSignum_strtable+32
movl (%eax), %ecx
==== Next deref = checknull -4
movl -4(%ecx), %edx
call *256(%edx)
subl $-64, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret $4
L38:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L88
L49:
pushl %esi
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L52:
movl 24(%esp), %eax
subl %ebp, %eax
pushl %eax
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L51:
pushl %ebp
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L63:
pushl %ebp
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L66:
movl 28(%esp), %eax
subl %ebp, %eax
pushl %eax
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L65:
pushl 48(%esp)
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L77:
pushl %ebx
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L80:
movl 32(%esp), %eax
subl %ebx, %eax
pushl %eax
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L79:
pushl 40(%esp)
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L87:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L89
movl fs:[0], %eax
movl 8(%eax), %ecx
movl 4(%ecx), %edx
movl $0, 4(%ecx)
movl _1java_lang_InterruptedException, %eax
movl -4(%edx), %ebx
cmpl %eax, 120(%ebx)
je L90
movl %edx, 4(%ecx)
jmp L91
L90:
movl _4java_lang_System_out, %eax
pushl (%eax)
pushl _0com_mindprod_example_TestSignum_strtable+24
movl (%eax), %ecx
==== Next deref = checknull -4
movl -4(%ecx), %eax
call *256(%eax)
movl 60(%esp), %edi
movl 56(%esp), %esi
movl 52(%esp), %ebp
jmp L92
L39:
pushl _0com_mindprod_example_TestSignum_strtable+12
pushl
$_0java_lang_IllegalArgumentException_init__Ljava_lang_String_2___Ljava_lang_IllegalArgumentException_2
pushl TDINDEX(_1java_lang_IllegalArgumentException)
call JR_ThrowNewThrowable_String
L91:
pushl $16
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_main


.align 4
..global _3com_mindprod_example_TestSignum_lohi32
_3com_mindprod_example_TestSignum_lohi32:
cmpl $0, _1com_mindprod_example_TestSignum+52
je L93
L95:
movl 4(%esp), %eax
movl 8(%esp), %ecx
testl %ecx, %ecx
je L94
movl %ecx, %eax
L94:
ret $8
L93:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L95
call JR_unwind
# -- _3com_mindprod_example_TestSignum_lohi32


.align 4
..global _3com_mindprod_example_TestSignum_kobzda
_3com_mindprod_example_TestSignum_kobzda:
cmpl $0, _1com_mindprod_example_TestSignum+52
je L96
L97:
movl 4(%esp), %eax
movl %eax, %ecx
andl $1, %ecx
shrl $1, %eax
orl 8(%esp), %eax
orl %ecx, %eax
ret $8
L96:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L97
call JR_unwind
# -- _3com_mindprod_example_TestSignum_kobzda


.align 4
..global _3com_mindprod_example_TestSignum_trial
_3com_mindprod_example_TestSignum_trial:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-124, %esp
cmpl -3112(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L98
L126:
movl _1java_lang_System, %eax
cmpl $0, 52(%eax)
je L99
L127:
movl _4java_lang_System_out, %ecx
pushl (%ecx)
movl (%ecx), %edx
==== Next deref = checknull -4
movl -4(%edx), %eax
call *284(%eax)
movl _4java_lang_System_out, %ecx
movl (%ecx), %edx
pushl _0com_mindprod_example_TestSignum_strtable+48
movl 148(%esp), %edi
pushl %edi
pushl _0com_mindprod_example_TestSignum_strtable+44
pushl 160(%esp)
pushl _0com_mindprod_example_TestSignum_strtable+40
movl 172(%esp), %esi
pushl %esi
pushl _0com_mindprod_example_TestSignum_strtable+36
pushl $$$new_obj2
call JR_StrConcat
pushl %edx
pushl %eax
==== Next deref = checknull -4
movl -4(%edx), %eax
call *256(%eax)
movl _4com_mindprod_example_TestSignum_html, %ebp
==== Next deref = checknull 0
cmpl %edi, (%edi)
pushl %edi
pushl _0com_mindprod_example_TestSignum_strtable+124
call _2java_lang_String_equalsIgnoreCase
subl $-32, %esp
testb %al, %al
je L100
movl _0com_mindprod_example_TestSignum_strtable+128, %ecx
jmp L101
L100:
movl _0com_mindprod_example_TestSignum_strtable+132, %ecx
L101:
pushl %edi
pushl _0com_mindprod_example_TestSignum_strtable+164
movl %ecx, 120(%esp)
call _2java_lang_String_equalsIgnoreCase
movl 112(%esp), %ecx
testb %al, %al
je L102
movl _0com_mindprod_example_TestSignum_strtable+168, %edx
movl %edx, %ebx
jmp L103
L102:
movl _0com_mindprod_example_TestSignum_strtable+172, %edx
movl %edx, %ebx
L103:
movl %ecx, 112(%esp)
call
_3com_mindprod_example_TestSignum$BenchmarkMeasurement_toHTMLHeading
movl 112(%esp), %ecx
pushl %eax
pushl _0com_mindprod_example_TestSignum_strtable+184
pushl _0com_mindprod_example_TestSignum_strtable+180
pushl %edi
pushl _0com_mindprod_example_TestSignum_strtable+176
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+160
pushl _0com_mindprod_example_TestSignum_strtable+156
pushl 180(%esp)
pushl _0com_mindprod_example_TestSignum_strtable+152
pushl _0com_mindprod_example_TestSignum_strtable+148
pushl %esi
pushl _0com_mindprod_example_TestSignum_strtable+144
pushl _0com_mindprod_example_TestSignum_strtable+140
pushl 212(%esp)
pushl _0com_mindprod_example_TestSignum_strtable+136
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+120
pushl $$$new_obj3
call JR_StrConcat
==== Next deref = checknull 0
cmpl %ebp, (%ebp)
subl $-76, %esp
pushl %ebp
pushl %eax
call
_2java_lang_AbstractStringBuilder_append__Ljava_lang_String_2___Ljava_lang_AbstractStringBuilder_2
movl _4java_lang_System_out, %eax
pushl (%eax)
pushl _0com_mindprod_example_TestSignum_strtable+52
movl (%eax), %ecx
==== Next deref = checknull -4
movl -4(%ecx), %edx
call *256(%edx)
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%edi
==== Next deref = checknull 8
movl 8(%edi), %eax
movl %eax, 20(%esp)
testl %eax, %eax
jle L104
movl _0com_mindprod_example_TestSignum_strtable+260, %esi
testb $1, %al
je L105
movl 20(%edi), %ebp
pushl %ebp
movl 16(%edi), %ebx
pushl %ebx
call _3com_mindprod_example_TestSignum_kobzda
pushl %eax
pushl %ebp
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+224
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
pushl %ebp
pushl %ebx
call _3com_mindprod_example_TestSignum_lohi32
pushl %eax
pushl %ebp
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+228
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
pushl %ebp
pushl %ebx
call _3com_mindprod_example_TestSignum_piotr
pushl %eax
pushl %ebp
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+232
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
pushl %ebp
pushl %ebx
call _3com_mindprod_example_TestSignum_sgn
pushl %eax
pushl %ebp
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+236
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
pushl %ebp
pushl %ebx
call _3com_mindprod_example_TestSignum_signHalf
pushl %eax
pushl %ebp
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+240
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
pushl %ebp
pushl %ebx
call _3com_mindprod_example_TestSignum_signOf
pushl %eax
pushl %ebp
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+244
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
pushl %ebp
pushl %ebx
call _3com_mindprod_example_TestSignum_stephan
pushl %eax
pushl %ebp
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+248
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
pushl %ebp
pushl %ebx
call _3java_lang_Long_signum
pushl %eax
pushl %ebp
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+252
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
pushl %ebp
pushl %ebx
call _3com_mindprod_example_TestSignum_twoifs
pushl %eax
pushl %ebp
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+256
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
pushl %ebp
pushl %ebx
call _3com_mindprod_example_TestSignum_wibble
pushl %eax
pushl %ebp
pushl %ebx
pushl %esi
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
cmpl $1, 20(%esp)
je L104
movl $1, %ebp
jmp L106
L105:
xorl %ebp, %ebp
.align 4
L106:
movl 20(%edi, %ebp, 8), %ebx
pushl %ebx
movl 16(%edi, %ebp, 8), %ecx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_kobzda
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+224
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_lohi32
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+228
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_piotr
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+232
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_sgn
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+236
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_signHalf
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+240
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_signOf
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+244
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_stephan
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+248
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3java_lang_Long_signum
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+252
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
call _3com_mindprod_example_TestSignum_twoifs
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+256
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_wibble
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl %esi
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 28(%edi, %ebp, 8), %ebx
pushl %ebx
movl 24(%edi, %ebp, 8), %ecx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_kobzda
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+224
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_lohi32
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+228
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_piotr
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+232
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_sgn
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+236
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_signHalf
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+240
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_signOf
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+244
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_stephan
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+248
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3java_lang_Long_signum
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+252
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
call _3com_mindprod_example_TestSignum_twoifs
pushl %eax
pushl %ebx
pushl %ecx
pushl _0com_mindprod_example_TestSignum_strtable+256
movl %ecx, 128(%esp)
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
movl 112(%esp), %ecx
pushl %ebx
pushl %ecx
movl %ecx, 120(%esp)
call _3com_mindprod_example_TestSignum_wibble
movl 112(%esp), %ecx
pushl %eax
pushl %ebx
pushl %ecx
pushl %esi
call
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
addl $2, %ebp
cmpl %ebp, 20(%esp)
jg L106
L104:
movl _1java_util_Random, %esi
movl %esi, 36(%esp)
movl _4java_lang_System_out, %eax
movl (%eax), %ebp
movl _0com_mindprod_example_TestSignum_strtable+56, %ebx
movl _4com_mindprod_example_TestSignum_df0, %edi
==== Next deref = checknull 0
cmpl %edi, (%edi)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L107
L128:
pushl %edi
pushl $0
pushl $20000000
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%edi), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl _0com_mindprod_example_TestSignum_strtable+60
pushl %eax
pushl %ebx
pushl $$$new_obj4
call JR_StrConcat
pushl %ebp
pushl %eax
==== Next deref = checknull -4
movl -4(%ebp), %ecx
call *256(%ecx)
subl $-16, %esp
cmpl $0, 52(%esi)
je L108
L129:
movl $0, 32(%esp)
leal 40(%esp), %edi
movl $5, %ecx
xorl %eax, %eax
rep
stosl
movl _4java_util_Random_seedUniquifier, %ecx
fildq (%ecx)
fistpq 96(%esp)
movl 100(%esp), %edi
movl 96(%esp), %eax
movl %eax, %esi
addl $1, %esi
adcl $0, %edi
movl %esi, %eax
movl %edi, %edx
movl %edx, 116(%esp)
movl %eax, 112(%esp)
fildq 112(%esp)
fistpq (%ecx)
<generic_lock> add [esp], 0 (MEMBAR)
call _3java_lang_System_nanoTime
movl %edx, %ecx
leal 40(%esp), %edx
pushl %edx
addl %esi, %eax
adcl %edi, %ecx
pushl %ecx
pushl %eax
call _0java_util_Random_init__J___Ljava_util_Random_2
movl $10000000, %edi
.align 4
L109:
leal 40(%esp), %eax
pushl %eax
addl $-1, %edi
pushl $32
call _2java_util_Random_next
movl %eax, %esi
leal 40(%esp), %ecx
pushl %ecx
pushl $32
call _2java_util_Random_next
movl %eax, %edx
sarl $31, %edx
addl %edx, %esi
pushl %esi
pushl %eax
call
_3com_mindprod_example_TestSignum_checkConformanceOfAllCandidates
leal 40(%esp), %eax
pushl %eax
pushl $32
call _2java_util_Random_next
movl %eax, %ebp
leal 40(%esp), %ecx
pushl %ecx
pushl $32
call _2java_util_Random_next
movl %eax, %edx
sarl $31, %edx
addl %edx, %ebp
pushl %ebp
pushl %eax
call
_3com_mindprod_example_TestSignum_checkConformanceOfAllCandidates
testl %edi, %edi
jg L109
pushl _1java_lang_StringBuffer
movl _4java_lang_System_out, %eax
movl (%eax), %ebx
movl _0com_mindprod_example_TestSignum_strtable+64, %edi
movl _4com_mindprod_example_TestSignum_df0, %esi
==== Next deref = checknull 0
cmpl %esi, (%esi)
call JR_NEW24
movl %eax, %ebp
pushl %ebp
pushl $16
call
_0java_lang_AbstractStringBuilder_init__I___Ljava_lang_AbstractStringBuilder_2
pushl %esi
pushl $0
pushl $2000000000
pushl %ebp
movl _4java_text_DontCareFieldPosition_INSTANCE, %ecx
pushl (%ecx)
movl -4(%esi), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl _0com_mindprod_example_TestSignum_strtable+68
pushl %eax
pushl %edi
pushl $$$new_obj5
call JR_StrConcat
pushl %ebx
pushl %eax
==== Next deref = checknull -4
movl -4(%ebx), %ecx
call *256(%ecx)
pushl _1java_util_ArrayList
call JR_NEW24
movl %eax, 32(%esp)
pushl %eax
call _0java_util_AbstractList_init
pushl $15
pushl $1
pushl $1
pushl _1java_lang_Object
call X2J_NEW_OPEN
pushl $_1com_mindprod_example_TestSignum$BenchmarkMeasurement
movl 52(%esp), %ebx
movl %eax, 8(%ebx)
call JR_NEW24
movl %eax, %edi
call _3com_mindprod_example_TestSignum_measureKobzda
movl %eax, %esi
movl %edx, %ebp
movl _4java_lang_System_out, %ecx
pushl (%ecx)
pushl $46
movl (%ecx), %eax
==== Next deref = checknull -4
movl -4(%eax), %ecx
call *328(%ecx)
pushl %ebx
movl %esi, 8(%edi)
movl %ebp, 12(%edi)
movl _0com_mindprod_example_TestSignum_strtable+72, %eax
movl %eax, 4(%edi)
movl 12(%ebx), %ecx
addl $1, %ecx
pushl %ecx
call _2java_util_ArrayList_ensureCapacity
pushl $_1com_mindprod_example_TestSignum$BenchmarkMeasurement
movl 12(%ebx), %eax
leal 1(%eax), %ecx
movl %ecx, 12(%ebx)
movl 8(%ebx), %edx
==== Next deref = checknull 8
cmpl %eax, 8(%edx)
jbe label_trial_JR_ThrowArrayIndexOutOfBoundsException
movl %edi, 16(%edx, %eax, 4)
call JR_NEW24
movl %eax, %edi
call _3com_mindprod_example_TestSignum_measureLoHi32
movl %eax, %esi
movl %edx, %ebp
movl _4java_lang_System_out, %ecx
pushl (%ecx)
pushl $46
movl (%ecx), %eax
==== Next deref = checknull -4
movl -4(%eax), %ecx
call *328(%ecx)
pushl %ebx
movl %esi, 8(%edi)
movl %ebp, 12(%edi)
movl _0com_mindprod_example_TestSignum_strtable+76, %eax
movl %eax, 4(%edi)
movl 12(%ebx), %ecx
addl $1, %ecx
pushl %ecx
call _2java_util_ArrayList_ensureCapacity
pushl $_1com_mindprod_example_TestSignum$BenchmarkMeasurement
movl 12(%ebx), %eax
leal 1(%eax), %ecx
movl %ecx, 12(%ebx)
movl 8(%ebx), %edx
==== Next deref = checknull 8
cmpl %eax, 8(%edx)
jbe label_trial_JR_ThrowArrayIndexOutOfBoundsException
movl %edi, 16(%edx, %eax, 4)
call JR_NEW24
movl %eax, %edi
call _3com_mindprod_example_TestSignum_measurePiotr
movl %eax, %esi
movl %edx, %ebp
movl _4java_lang_System_out, %ecx
pushl (%ecx)
pushl $46
movl (%ecx), %eax
==== Next deref = checknull -4
movl -4(%eax), %ecx
call *328(%ecx)
pushl %ebx
movl %esi, 8(%edi)
movl %ebp, 12(%edi)
movl _0com_mindprod_example_TestSignum_strtable+80, %eax
movl %eax, 4(%edi)
movl 12(%ebx), %ecx
addl $1, %ecx
pushl %ecx
call _2java_util_ArrayList_ensureCapacity
pushl $_1com_mindprod_example_TestSignum$BenchmarkMeasurement
movl 12(%ebx), %eax
leal 1(%eax), %ecx
movl %ecx, 12(%ebx)
movl 8(%ebx), %edx
==== Next deref = checknull 8
cmpl %eax, 8(%edx)
jbe label_trial_JR_ThrowArrayIndexOutOfBoundsException
movl %edi, 16(%edx, %eax, 4)
call JR_NEW24
movl %eax, %edi
call _3com_mindprod_example_TestSignum_measureSignHalf
movl %eax, %esi
movl %edx, %ebp
movl _4java_lang_System_out, %ecx
pushl (%ecx)
pushl $46
movl (%ecx), %eax
==== Next deref = checknull -4
movl -4(%eax), %ecx
call *328(%ecx)
pushl %ebx
movl %esi, 8(%edi)
movl %ebp, 12(%edi)
movl _0com_mindprod_example_TestSignum_strtable+84, %eax
movl %eax, 4(%edi)
movl 12(%ebx), %ecx
addl $1, %ecx
pushl %ecx
call _2java_util_ArrayList_ensureCapacity
pushl $_1com_mindprod_example_TestSignum$BenchmarkMeasurement
movl 12(%ebx), %eax
leal 1(%eax), %ecx
movl %ecx, 12(%ebx)
movl 8(%ebx), %edx
==== Next deref = checknull 8
cmpl %eax, 8(%edx)
jbe label_trial_JR_ThrowArrayIndexOutOfBoundsException
movl %edi, 16(%edx, %eax, 4)
call JR_NEW24
movl %eax, %edi
call _3com_mindprod_example_TestSignum_measureSignOf
movl %eax, %esi
movl %edx, %ebp
movl _4java_lang_System_out, %ecx
pushl (%ecx)
pushl $46
movl (%ecx), %eax
==== Next deref = checknull -4
movl -4(%eax), %ecx
call *328(%ecx)
pushl %ebx
movl %esi, 8(%edi)
movl %ebp, 12(%edi)
movl _0com_mindprod_example_TestSignum_strtable+88, %eax
movl %eax, 4(%edi)
movl 12(%ebx), %ecx
addl $1, %ecx
pushl %ecx
call _2java_util_ArrayList_ensureCapacity
pushl $_1com_mindprod_example_TestSignum$BenchmarkMeasurement
movl 12(%ebx), %eax
leal 1(%eax), %ecx
movl %ecx, 12(%ebx)
movl 8(%ebx), %edx
==== Next deref = checknull 8
cmpl %eax, 8(%edx)
jbe label_trial_JR_ThrowArrayIndexOutOfBoundsException
movl %edi, 16(%edx, %eax, 4)
call JR_NEW24
movl %eax, %edi
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 40(%esp)
movl %eax, 44(%esp)
movl _4com_mindprod_example_TestSignum_suiteIterations,
%eax
subl $-32, %esp
testl %eax, %eax
jle L110
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%ecx
movl $0, 28(%esp)
movl $0, 24(%esp)
.align 4
L115:
==== Next deref = checknull 8
movl 8(%ecx), %esi
testl %esi, %esi
jle L111
testl $1, %esi
je L112
pushl 20(%ecx)
pushl 16(%ecx)
movl %ecx, 120(%esp)
call _3java_lang_Long_signum
movl 112(%esp), %ecx
addl %eax, 28(%esp)
cmpl $1, %esi
je L113
movl $1, %ebp
jmp L114
L112:
xorl %ebp, %ebp
.align 4
L114:
pushl 20(%ecx, %ebp, 8)
pushl 16(%ecx, %ebp, 8)
movl %ecx, 120(%esp)
call _3java_lang_Long_signum
movl 112(%esp), %ecx
pushl 28(%ecx, %ebp, 8)
pushl 24(%ecx, %ebp, 8)
movl 36(%esp), %ebx
addl %eax, %ebx
movl %ecx, 120(%esp)
call _3java_lang_Long_signum
movl 112(%esp), %ecx
addl %ebx, %eax
movl %eax, 28(%esp)
addl $2, %ebp
cmpl %esi, %ebp
jl L114
L113:
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%ecx
movl _4com_mindprod_example_TestSignum_suiteIterations,
%eax
L111:
addl $1, 24(%esp)
cmpl %eax, 24(%esp)
jl L115
jmp L116
L110:
movl $0, 28(%esp)
L116:
movl 28(%esp), %ebx
addl %ebx, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %eax, %esi
subl 12(%esp), %esi
movl %ecx, %ebp
sbbl 8(%esp), %ebp
movl _4java_lang_System_out, %eax
pushl (%eax)
pushl $46
movl (%eax), %ecx
==== Next deref = checknull -4
movl -4(%ecx), %eax
call *328(%eax)
pushl 16(%esp)
movl %esi, 8(%edi)
movl %ebp, 12(%edi)
movl _0com_mindprod_example_TestSignum_strtable+92, %ecx
movl %ecx, 4(%edi)
movl 20(%esp), %ebx
movl 12(%ebx), %eax
addl $1, %eax
pushl %eax
call _2java_util_ArrayList_ensureCapacity
pushl $_1com_mindprod_example_TestSignum$BenchmarkMeasurement
movl 12(%ebx), %ecx
leal 1(%ecx), %eax
movl %eax, 12(%ebx)
movl 8(%ebx), %edx
==== Next deref = checknull 8
cmpl %ecx, 8(%edx)
jbe label_trial_JR_ThrowArrayIndexOutOfBoundsException
movl %edi, 16(%edx, %ecx, 4)
call JR_NEW24
movl %eax, %edi
call _3com_mindprod_example_TestSignum_measureTwoifs
movl %eax, %esi
movl %edx, %ebp
movl _4java_lang_System_out, %ecx
pushl (%ecx)
pushl $46
movl (%ecx), %eax
==== Next deref = checknull -4
movl -4(%eax), %ecx
call *328(%ecx)
pushl %ebx
movl %esi, 8(%edi)
movl %ebp, 12(%edi)
movl _0com_mindprod_example_TestSignum_strtable+96, %eax
movl %eax, 4(%edi)
movl 12(%ebx), %ecx
addl $1, %ecx
pushl %ecx
call _2java_util_ArrayList_ensureCapacity
pushl $_1com_mindprod_example_TestSignum$BenchmarkMeasurement
movl 12(%ebx), %eax
leal 1(%eax), %ecx
movl %ecx, 12(%ebx)
movl 8(%ebx), %edx
==== Next deref = checknull 8
cmpl %eax, 8(%edx)
jbe label_trial_JR_ThrowArrayIndexOutOfBoundsException
movl %edi, 16(%edx, %eax, 4)
call JR_NEW24
movl %eax, %edi
call _3com_mindprod_example_TestSignum_measureWibble
movl %eax, %esi
movl %edx, %ebp
movl _4java_lang_System_out, %ecx
pushl (%ecx)
pushl $46
movl (%ecx), %eax
==== Next deref = checknull -4
movl -4(%eax), %ecx
call *328(%ecx)
pushl %ebx
movl %esi, 8(%edi)
movl %ebp, 12(%edi)
movl _0com_mindprod_example_TestSignum_strtable+100, %eax
movl %eax, 4(%edi)
movl 12(%ebx), %ecx
addl $1, %ecx
pushl %ecx
call _2java_util_ArrayList_ensureCapacity
movl 12(%ebx), %eax
leal 1(%eax), %ecx
movl %ecx, 12(%ebx)
movl 8(%ebx), %edx
==== Next deref = checknull 8
cmpl %eax, 8(%edx)
jbe label_trial_JR_ThrowArrayIndexOutOfBoundsException
movl %edi, 16(%edx, %eax, 4)
movl _4java_lang_System_out, %eax
pushl (%eax)
movl (%eax), %ecx
==== Next deref = checknull -4
movl -4(%ecx), %eax
call *284(%eax)
call _3com_mindprod_example_TestSignum_measureOverhead
movl %eax, %edi
movl %edx, %esi
pushl _1java_lang_StringBuffer
movl %edi,
_4com_mindprod_example_TestSignum_overheadInNanos
movl %esi,
_4com_mindprod_example_TestSignum_overheadInNanos+4
movl _4java_lang_System_out, %ecx
movl (%ecx), %ebp
movl _0com_mindprod_example_TestSignum_strtable+104, %ebx
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 116(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 112(%esp), %ecx
pushl %ecx
pushl %esi
pushl %edi
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl _0com_mindprod_example_TestSignum_strtable+108
pushl %eax
pushl %ebx
pushl $$$new_obj6
call JR_StrConcat
pushl %ebp
pushl %eax
==== Next deref = checknull -4
movl -4(%ebp), %ecx
call *256(%ecx)
subl $-16, %esp
movl _1java_util_Collections, %eax
cmpl $0, 52(%eax)
je L117
L130:
pushl 16(%esp)
call _2java_util_ArrayList_toArray____3Ljava_lang_Object_2
movl %eax, %edi
pushl %edi
call _3java_util_Arrays_sort___3Ljava_lang_Object_2___V
pushl 16(%esp)
call
_2java_util_AbstractList_listIterator___Ljava_util_ListIterator_2
movl %edx, %ecx
movl %eax, %esi
==== Next deref = checknull 8
movl 8(%edi), %ebp
testl %ebp, %ebp
jle L118
==== Next deref = checknull 4
movl 4(%ecx), %eax
movl %eax, 4(%esp)
movl 12(%ecx), %edx
movl %edx, (%esp)
xorl %ebx, %ebx
.align 4
L121:
pushl %esi
call *8(%esp)
movl 16(%edi, %ebx, 4), %ecx
testl %ecx, %ecx
je L119
movl -4(%ecx), %eax
movl _4com_mindprod_example_TestSignum_'cache_11, %edx
addl %edx, %eax
cmpl %eax, _4com_mindprod_example_TestSignum_'cache_11+4
jne L120
L119:
pushl %esi
pushl %ecx
call *8(%esp)
addl $1, %ebx
cmpl %ebp, %ebx
jl L121
L118:
movl _1java_util_AbstractList$Itr, %eax
movl %eax, 68(%esp)
movl _4java_lang_System_out, %ecx
pushl (%ecx)
pushl
_0com_mindprod_example_TestSignum$BenchmarkMeasurement_strtable+40
movl (%ecx), %eax
==== Next deref = checknull -4
movl -4(%eax), %edx
call *256(%edx)
leal 72(%esp), %eax
pushl %eax
pushl 20(%esp)
movl $0, 72(%esp)
leal 80(%esp), %edi
movl $5, %ecx
xorl %eax, %eax
rep
stosl
call
_0java_util_AbstractList$Itr_init__Ljava_util_AbstractList_2___Ljava_util_AbstractList$Itr_2
leal 72(%esp), %ecx
pushl %ecx
call _2java_util_AbstractList$Itr_hasNext
testb %al, %al
je L122
.align 4
L125:
leal 72(%esp), %eax
pushl %eax
call _2java_util_AbstractList$Itr_next
movl %eax, %edi
testl %edi, %edi
je L123
movl -4(%edi), %eax
cmpl $_1com_mindprod_example_TestSignum$BenchmarkMeasurement,
112(%eax)
jne L124
L123:
movl _4java_lang_System_out, %eax
pushl (%eax)
pushl %edi
movl (%eax), %ecx
==== Next deref = checknull -4
movl -4(%ecx), %edx
call *260(%edx)
pushl %edi
movl _4com_mindprod_example_TestSignum_html, %esi
==== Next deref = checknull -4
movl -4(%edi), %eax
call *224(%eax)
==== Next deref = checknull 0
cmpl %esi, (%esi)
pushl %esi
pushl %eax
call
_2java_lang_AbstractStringBuilder_append__Ljava_lang_String_2___Ljava_lang_AbstractStringBuilder_2
leal 72(%esp), %ecx
pushl %ecx
call _2java_util_AbstractList$Itr_hasNext
testb %al, %al
jne L125
L122:
movl _4java_lang_System_out, %eax
pushl (%eax)
pushl _0com_mindprod_example_TestSignum_strtable+112
movl (%eax), %ecx
==== Next deref = checknull -4
movl -4(%ecx), %edx
call *256(%edx)
subl $-124, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret $16
L98:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L126
L99:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L127
L107:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L128
L108:
pushl TDINDEX(_1java_util_Random)
call JR_Clinit
jmp L129
L117:
pushl TDINDEX(_1java_util_Collections)
call JR_Clinit
jmp L130
.align 4
L120:
pushl $_4com_mindprod_example_TestSignum_'cache_11
pushl _1java_lang_Comparable
pushl %ecx
call JR_icastZ
jmp L119
L124:
pushl %edi
call JR_ThrowClassCastExceptionByObj
pushl $31
call JR_unwind_4RS

#Used Traps

label_trial_JR_ThrowArrayIndexOutOfBoundsException:
call JR_ThrowArrayIndexOutOfBoundsException
label_trial_JR_ThrowArrayIndexOutOfBoundsException:
call JR_ThrowArrayIndexOutOfBoundsException
label_trial_JR_ThrowArrayIndexOutOfBoundsException:
call JR_ThrowArrayIndexOutOfBoundsException
label_trial_JR_ThrowArrayIndexOutOfBoundsException:
call JR_ThrowArrayIndexOutOfBoundsException
label_trial_JR_ThrowArrayIndexOutOfBoundsException:
call JR_ThrowArrayIndexOutOfBoundsException
label_trial_JR_ThrowArrayIndexOutOfBoundsException:
call JR_ThrowArrayIndexOutOfBoundsException
label_trial_JR_ThrowArrayIndexOutOfBoundsException:
call JR_ThrowArrayIndexOutOfBoundsException
label_trial_JR_ThrowArrayIndexOutOfBoundsException:
call JR_ThrowArrayIndexOutOfBoundsException
# -- _3com_mindprod_example_TestSignum_trial


.align 4
_3com_mindprod_example_TestSignum_measureWibble:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-12, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L131
L138:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 8(%esp)
movl %eax, 4(%esp)
cmpl $0, _4com_mindprod_example_TestSignum_suiteIterations
jle L132
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%ecx
==== Next deref = checknull 8
movl 8(%ecx), %edx
movl 16(%ecx), %eax
andl $1, %eax
movl 16(%ecx), %ebx
shrl $1, %ebx
andl $2147483647, %ebx
orl 20(%ecx), %ebx
orl %eax, %ebx
movl %ebx, (%esp)
xorl %eax, %eax
xorl %ebx, %ebx
.align 4
L136:
testl %edx, %edx
jle L133
testb $1, %dl
je L134
addl (%esp), %eax
cmpl $1, %edx
je L133
movl $1, %ebp
jmp L135
L134:
xorl %ebp, %ebp
.align 4
L135:
movl 16(%ecx, %ebp, 8), %esi
andl $1, %esi
movl 16(%ecx, %ebp, 8), %edi
shrl $1, %edi
andl $2147483647, %edi
orl 20(%ecx, %ebp, 8), %edi
orl %esi, %edi
addl %edi, %eax
movl 24(%ecx, %ebp, 8), %esi
andl $1, %esi
movl 24(%ecx, %ebp, 8), %edi
shrl $1, %edi
andl $2147483647, %edi
orl 28(%ecx, %ebp, 8), %edi
orl %esi, %edi
addl %edi, %eax
addl $2, %ebp
cmpl %edx, %ebp
jl L135
L133:
addl $1, %ebx
cmpl %ebx,
_4com_mindprod_example_TestSignum_suiteIterations
jg L136
jmp L137
L132:
xorl %eax, %eax
L137:
addl %eax, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ecx
subl 4(%esp), %eax
sbbl 8(%esp), %ecx
movl %ecx, %edx
subl $-12, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L131:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L138
pushl $3
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measureWibble


.align 4
_3com_mindprod_example_TestSignum_measureTwoifs:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-12, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L139
L148:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 8(%esp)
movl %eax, 4(%esp)
movl _4com_mindprod_example_TestSignum_suiteIterations,
%eax
testl %eax, %eax
jle L140
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%ecx
==== Next deref = checknull 8
movl 8(%ecx), %edx
leal 16(%ecx), %ebx
xorl %ecx, %ecx
xorl %ebp, %ebp
.align 4
L146:
testl %edx, %edx
jle L141
xorl %esi, %esi
.align 4
L145:
movl (%ebx, %esi, 8), %edi
cmpl $0, 4(%ebx, %esi, 8)
jge L142
addl $-1, %ecx
jmp L143
L142:
jne L144
testl %edi, %edi
je L143
L144:
addl $1, %ecx
L143:
addl $1, %esi
cmpl %edx, %esi
jl L145
L141:
addl $1, %ebp
cmpl %eax, %ebp
jl L146
jmp L147
L140:
xorl %ecx, %ecx
L147:
addl %ecx, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ecx
subl 4(%esp), %eax
sbbl 8(%esp), %ecx
movl %ecx, %edx
subl $-12, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L139:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L148
pushl $3
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measureTwoifs


.align 4
_3com_mindprod_example_TestSignum_measureSun:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-28, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L149
L160:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, (%esp)
movl %eax, 4(%esp)
movl _4com_mindprod_example_TestSignum_suiteIterations,
%eax
testl %eax, %eax
jle L150
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%ecx
movl $0, 24(%esp)
movl $0, 20(%esp)
.align 4
L158:
==== Next deref = checknull 8
movl 8(%ecx), %edx
movl %edx, 12(%esp)
testl %edx, %edx
jle L151
testb $1, %dl
je L152
movl 16(%ecx), %ebx
movl 20(%ecx), %ebp
movl _1java_lang_Long, %esi
cmpl $0, 52(%esi)
je L153
L161:
pushl $63
pushl %ebp
pushl %ebx
call JR_lshr
movl %eax, %esi
pushl $63
negl %ebx
adcl $0, %ebp
negl %ebp
pushl %ebp
pushl %ebx
call JR_lushr
orl %eax, %esi
addl %esi, 24(%esp)
cmpl $1, 12(%esp)
je L154
movl $1, %ebx
jmp L155
L152:
xorl %ebx, %ebx
L155:
movl _1java_lang_Long, %ebp
movl 52(%ebp), %eax
movl %eax, 8(%esp)
.align 4
L157:
movl 16(%ecx, %ebx, 8), %ebp
movl 20(%ecx, %ebx, 8), %esi
cmpl $0, 8(%esp)
je L156
L162:
pushl $63
pushl %esi
pushl %ebp
call JR_lshr
movl %eax, %edi
pushl $63
negl %ebp
adcl $0, %esi
negl %esi
pushl %esi
pushl %ebp
call JR_lushr
orl %eax, %edi
movl %edi, 16(%esp)
pushl $63
movl 28(%ecx, %ebx, 8), %ebp
pushl %ebp
movl 24(%ecx, %ebx, 8), %esi
pushl %esi
call JR_lshr
movl %eax, %edi
pushl $63
negl %esi
adcl $0, %ebp
negl %ebp
pushl %ebp
pushl %esi
movl 36(%esp), %ebp
addl 28(%esp), %ebp
call JR_lushr
orl %eax, %edi
addl %ebp, %edi
movl %edi, 24(%esp)
addl $2, %ebx
cmpl %ebx, 12(%esp)
jg L157
L154:
movl _4com_mindprod_example_TestSignum_suiteIterations,
%eax
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%ecx
L151:
addl $1, 20(%esp)
cmpl %eax, 20(%esp)
jl L158
jmp L159
L150:
movl $0, 24(%esp)
L159:
movl 24(%esp), %ecx
addl %ecx, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ebx
subl 4(%esp), %eax
sbbl (%esp), %ebx
movl %ebx, %edx
subl $-28, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L149:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L160
.align 4
L153:
pushl TDINDEX(_1java_lang_Long)
call JR_Clinit
jmp L161
.align 4
L156:
pushl TDINDEX(_1java_lang_Long)
call JR_Clinit
jmp L162
pushl $7
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measureSun


.align 4
_3com_mindprod_example_TestSignum_measureStephan:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-36, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L163
L170:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 12(%esp)
movl %eax, 4(%esp)
cmpl $0, _4com_mindprod_example_TestSignum_suiteIterations
jle L164
pushl $63
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%ecx
==== Next deref = checknull 8
movl 8(%ecx), %eax
movl %eax, 24(%esp)
movl 20(%ecx), %ebx
movl 16(%ecx), %ebp
movl %ebp, %eax
negl %eax
movl %ebx, %edx
adcl $0, %edx
negl %edx
pushl %edx
pushl %eax
call JR_lshr
pushl $63
movl %eax, %esi
negl %esi
pushl %ebx
pushl %ebp
call JR_lshr
negl %eax
subl %eax, %esi
movl %esi, 8(%esp)
movl $0, 32(%esp)
movl $0, 28(%esp)
.align 4
L168:
cmpl $0, 20(%esp)
jle L165
testb $1, 20(%esp)
je L166
movl 8(%esp), %ebx
addl %ebx, 32(%esp)
cmpl $1, 20(%esp)
je L165
movl $1, %ebx
jmp L167
L166:
xorl %ebx, %ebx
.align 4
L167:
pushl $63
movl 20(%ecx, %ebx, 8), %ebp
movl 16(%ecx, %ebx, 8), %esi
movl %esi, %eax
negl %eax
movl %ebp, %edx
adcl $0, %edx
negl %edx
pushl %edx
pushl %eax
call JR_lshr
pushl $63
negl %eax
movl %eax, 20(%esp)
pushl %ebp
pushl %esi
call JR_lshr
pushl $63
negl %eax
movl %eax, 28(%esp)
movl 28(%ecx, %ebx, 8), %ebp
movl 24(%ecx, %ebx, 8), %esi
movl %esi, %eax
negl %eax
movl %ebp, %edx
adcl $0, %edx
negl %edx
pushl %edx
pushl %eax
call JR_lshr
pushl $63
movl %eax, %edi
negl %edi
pushl %ebp
pushl %esi
call JR_lshr
negl %eax
movl 32(%esp), %edx
addl 16(%esp), %edx
subl 24(%esp), %edx
addl %edi, %edx
subl %eax, %edx
movl %edx, 32(%esp)
addl $2, %ebx
cmpl %ebx, 20(%esp)
jg L167
L165:
addl $1, 28(%esp)
movl _4com_mindprod_example_TestSignum_suiteIterations,
%ebx
cmpl %ebx, 28(%esp)
jl L168
jmp L169
L164:
movl $0, 32(%esp)
L169:
movl 32(%esp), %ecx
addl %ecx, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ebx
subl 4(%esp), %eax
sbbl 12(%esp), %ebx
movl %ebx, %edx
subl $-36, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L163:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L170
pushl $9
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measureStephan


.align 4
_3com_mindprod_example_TestSignum_measureSignOf:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-12, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L171
L178:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 8(%esp)
movl %eax, 4(%esp)
cmpl $0, _4com_mindprod_example_TestSignum_suiteIterations
jle L172
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%eax
==== Next deref = checknull 8
movl 8(%eax), %ecx
leal 16(%eax), %edx
xorl %eax, %eax
xorl %ebx, %ebx
.align 4
L176:
testl %ecx, %ecx
jle L173
xorl %ebp, %ebp
.align 4
L175:
movl 4(%edx, %ebp, 8), %esi
movl (%edx, %ebp, 8), %edi
orl %esi, %edi
je L174
orl $1, %esi
addl %esi, %eax
L174:
addl $1, %ebp
cmpl %ecx, %ebp
jl L175
L173:
addl $1, %ebx
cmpl %ebx,
_4com_mindprod_example_TestSignum_suiteIterations
jg L176
jmp L177
L172:
xorl %eax, %eax
L177:
addl %eax, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ecx
subl 4(%esp), %eax
sbbl 8(%esp), %ecx
movl %ecx, %edx
subl $-12, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L171:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L178
pushl $3
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measureSignOf


.align 4
_3com_mindprod_example_TestSignum_measureSignHalf:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-12, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L179
L187:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 4(%esp)
movl %eax, 8(%esp)
cmpl $0, _4com_mindprod_example_TestSignum_suiteIterations
jle L180
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%eax
==== Next deref = checknull 8
movl 8(%eax), %ecx
leal 16(%eax), %edx
xorl %eax, %eax
xorl %ebx, %ebx
.align 4
L185:
testl %ecx, %ecx
jle L181
xorl %ebp, %ebp
.align 4
L184:
movl (%edx, %ebp, 8), %esi
movl 4(%edx, %ebp, 8), %edi
testl %edi, %edi
jl L182
jne L183
testl %esi, %esi
je L182
L183:
movl $1, %edi
L182:
addl %edi, %eax
addl $1, %ebp
cmpl %ecx, %ebp
jl L184
L181:
addl $1, %ebx
cmpl %ebx,
_4com_mindprod_example_TestSignum_suiteIterations
jg L185
jmp L186
L180:
xorl %eax, %eax
L186:
addl %eax, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ecx
subl 8(%esp), %eax
sbbl 4(%esp), %ecx
movl %ecx, %edx
subl $-12, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L179:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L187
pushl $3
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measureSignHalf


.align 4
_3com_mindprod_example_TestSignum_measureSgn:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-36, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L188
L195:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 12(%esp)
movl %eax, 8(%esp)
cmpl $0, _4com_mindprod_example_TestSignum_suiteIterations
jle L189
pushl $63
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%ecx
==== Next deref = checknull 8
movl 8(%ecx), %eax
movl %eax, 24(%esp)
movl 20(%ecx), %ebx
pushl %ebx
movl 16(%ecx), %ebp
pushl %ebp
call JR_lshr
movl %eax, %esi
pushl $63
notl %ebx
pushl %ebx
notl %ebp
pushl %ebp
call JR_lushr
orl %eax, %esi
movl %esi, 16(%esp)
movl $0, 32(%esp)
movl $0, 28(%esp)
.align 4
L193:
cmpl $0, 20(%esp)
jle L190
testb $1, 20(%esp)
je L191
movl 16(%esp), %ebx
addl %ebx, 32(%esp)
cmpl $1, 20(%esp)
je L190
movl $1, %ebx
jmp L192
L191:
xorl %ebx, %ebx
.align 4
L192:
pushl $63
movl 20(%ecx, %ebx, 8), %ebp
pushl %ebp
movl 16(%ecx, %ebx, 8), %esi
pushl %esi
call JR_lshr
movl %eax, 24(%esp)
pushl $63
notl %ebp
pushl %ebp
notl %esi
pushl %esi
call JR_lushr
movl %eax, 4(%esp)
pushl $63
movl 28(%ecx, %ebx, 8), %ebp
pushl %ebp
movl 24(%ecx, %ebx, 8), %esi
pushl %esi
call JR_lshr
movl %eax, %edi
pushl $63
notl %ebp
pushl %ebp
notl %esi
pushl %esi
movl 16(%esp), %eax
orl 36(%esp), %eax
movl 44(%esp), %ebp
addl %eax, %ebp
call JR_lushr
orl %eax, %edi
addl %ebp, %edi
movl %edi, 32(%esp)
addl $2, %ebx
cmpl %ebx, 20(%esp)
jg L192
L190:
addl $1, 28(%esp)
movl _4com_mindprod_example_TestSignum_suiteIterations,
%ebx
cmpl %ebx, 28(%esp)
jl L193
jmp L194
L189:
movl $0, 32(%esp)
L194:
movl 32(%esp), %ecx
addl %ecx, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ebx
subl 8(%esp), %eax
sbbl 12(%esp), %ebx
movl %ebx, %edx
subl $-36, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L188:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L195
pushl $9
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measureSgn


.align 4
_3com_mindprod_example_TestSignum_measurePiotr:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-12, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L196
L203:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 4(%esp)
movl %eax, 8(%esp)
cmpl $0, _4com_mindprod_example_TestSignum_suiteIterations
jle L197
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%ecx
==== Next deref = checknull 8
movl 8(%ecx), %edx
movl 16(%ecx), %eax
addl %eax, %eax
orl 16(%ecx), %eax
shrl $1, %eax
movl 20(%ecx), %ebx
orl %eax, %ebx
xorl %eax, %eax
xorl %ebp, %ebp
.align 4
L201:
testl %edx, %edx
jle L198
testb $1, %dl
je L199
addl %ebx, %eax
cmpl $1, %edx
je L198
movl $1, %esi
jmp L200
L199:
xorl %esi, %esi
.align 4
L200:
movl 16(%ecx, %esi, 8), %edi
addl %edi, %edi
orl 16(%ecx, %esi, 8), %edi
shrl $1, %edi
orl 20(%ecx, %esi, 8), %edi
addl %edi, %eax
movl 24(%ecx, %esi, 8), %edi
addl %edi, %edi
orl 24(%ecx, %esi, 8), %edi
shrl $1, %edi
orl 28(%ecx, %esi, 8), %edi
addl %edi, %eax
addl $2, %esi
cmpl %edx, %esi
jl L200
L198:
addl $1, %ebp
cmpl %ebp,
_4com_mindprod_example_TestSignum_suiteIterations
jg L201
jmp L202
L197:
xorl %eax, %eax
L202:
addl %eax, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ecx
subl 8(%esp), %eax
sbbl 4(%esp), %ecx
movl %ecx, %edx
subl $-12, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L196:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L203
pushl $3
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measurePiotr


.align 4
_3com_mindprod_example_TestSignum_measureOverhead:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-12, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L204
L211:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 8(%esp)
movl %eax, 4(%esp)
movl _4com_mindprod_example_TestSignum_suiteIterations,
%eax
testl %eax, %eax
jle L205
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%edx
==== Next deref = checknull 8
movl 8(%edx), %ebx
movl 16(%edx), %ebp
xorl %ecx, %ecx
xorl %esi, %esi
.align 4
L209:
testl %ebx, %ebx
jle L206
testb $1, %bl
je L207
addl %ebp, %ecx
cmpl $1, %ebx
je L206
movl $1, %edi
jmp L208
L207:
xorl %edi, %edi
.align 4
L208:
addl 16(%edx, %edi, 8), %ecx
addl 24(%edx, %edi, 8), %ecx
addl $2, %edi
cmpl %ebx, %edi
jl L208
L206:
addl $1, %esi
cmpl %eax, %esi
jl L209
jmp L210
L205:
xorl %ecx, %ecx
L210:
addl %ecx, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ecx
subl 4(%esp), %eax
sbbl 8(%esp), %ecx
movl %ecx, %edx
subl $-12, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L204:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L211
pushl $3
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measureOverhead


.align 4
_3com_mindprod_example_TestSignum_measureLoHi32:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-12, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L212
L219:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 8(%esp)
movl %eax, 4(%esp)
cmpl $0, _4com_mindprod_example_TestSignum_suiteIterations
jle L213
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%eax
==== Next deref = checknull 8
movl 8(%eax), %ecx
leal 16(%eax), %edx
xorl %eax, %eax
xorl %ebx, %ebx
.align 4
L217:
testl %ecx, %ecx
jle L214
xorl %ebp, %ebp
.align 4
L216:
movl (%edx, %ebp, 8), %esi
movl 4(%edx, %ebp, 8), %edi
testl %edi, %edi
je L215
movl %edi, %esi
L215:
addl %esi, %eax
addl $1, %ebp
cmpl %ecx, %ebp
jl L216
L214:
addl $1, %ebx
cmpl %ebx,
_4com_mindprod_example_TestSignum_suiteIterations
jg L217
jmp L218
L213:
xorl %eax, %eax
L218:
addl %eax, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ecx
subl 4(%esp), %eax
sbbl 8(%esp), %ecx
movl %ecx, %edx
subl $-12, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L212:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L219
pushl $3
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measureLoHi32


.align 4
_3com_mindprod_example_TestSignum_measureKobzda:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-12, %esp
cmpl -3072(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L220
L227:
call _3java_lang_System_nanoTime
movl %edx, %ecx
movl %ecx, 8(%esp)
movl %eax, (%esp)
cmpl $0, _4com_mindprod_example_TestSignum_suiteIterations
jle L221
movl _4com_mindprod_example_TestSignum_testSuiteValues,
%ecx
==== Next deref = checknull 8
movl 8(%ecx), %edx
movl 16(%ecx), %eax
andl $1, %eax
movl 16(%ecx), %ebx
shrl $1, %ebx
orl 20(%ecx), %ebx
orl %eax, %ebx
movl %ebx, 4(%esp)
xorl %eax, %eax
xorl %ebx, %ebx
.align 4
L225:
testl %edx, %edx
jle L222
testb $1, %dl
je L223
addl 4(%esp), %eax
cmpl $1, %edx
je L222
movl $1, %ebp
jmp L224
L223:
xorl %ebp, %ebp
.align 4
L224:
movl 16(%ecx, %ebp, 8), %esi
andl $1, %esi
movl 16(%ecx, %ebp, 8), %edi
shrl $1, %edi
orl 20(%ecx, %ebp, 8), %edi
orl %esi, %edi
addl %edi, %eax
movl 24(%ecx, %ebp, 8), %esi
andl $1, %esi
movl 24(%ecx, %ebp, 8), %edi
shrl $1, %edi
orl 28(%ecx, %ebp, 8), %edi
orl %esi, %edi
addl %edi, %eax
addl $2, %ebp
cmpl %edx, %ebp
jl L224
L222:
addl $1, %ebx
cmpl %ebx,
_4com_mindprod_example_TestSignum_suiteIterations
jg L225
jmp L226
L221:
xorl %eax, %eax
L226:
addl %eax, _4com_mindprod_example_TestSignum_globalSum
call _3java_lang_System_nanoTime
movl %edx, %ecx
subl (%esp), %eax
sbbl 8(%esp), %ecx
movl %ecx, %edx
subl $-12, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
L220:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L227
pushl $3
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_measureKobzda


.align 4
_3com_mindprod_example_TestSignum_leftPad:
pushl %ebp
pushl %ebx
cmpl $0, _1com_mindprod_example_TestSignum+52
je L228
L237:
movl 20(%esp), %ecx
==== Next deref = checknull 12
movl 12(%ecx), %eax
movl 16(%esp), %edx
movl %edx, %ebx
subl %eax, %ebx
testl %ebx, %ebx
jle L229
movl _0com_mindprod_example_TestSignum_strtable+116, %edx
cmpl %ebx, 12(%edx)
jl L230
je L231
pushl _1java_lang_String
call JR_NEW32
movl 4(%edx), %ebp
movl %ebp, 4(%eax)
movl 8(%edx), %ebp
movl %ebp, 8(%eax)
movl %ebx, 12(%eax)
jmp L232
L231:
movl %edx, %eax
L232:
pushl %ecx
pushl %eax
pushl $$$new_obj7
call JR_StrConcat
subl $-12, %esp
jmp L233
L229:
cmpb $0, 12(%esp)
je L234
cmpl %edx, %eax
jl L235
testl %edx, %edx
jl L236
cmpl %edx, %eax
je L234
pushl _1java_lang_String
call JR_NEW32
movl 4(%ecx), %ebx
movl %ebx, 4(%eax)
movl 8(%ecx), %ebx
movl %ebx, 8(%eax)
movl %edx, 12(%eax)
jmp L233
L234:
movl %ecx, %eax
L233:
popl %ebx
popl %ebp
ret $12
L228:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L237
L230:
pushl %ebx
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L236:
pushl %edx
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L235:
pushl %edx
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
popl %ebx
popl %ebp
call JR_unwind
# -- _3com_mindprod_example_TestSignum_leftPad


.align 4
_3com_mindprod_example_TestSignum_isLessThan:
pushl %ebx
cmpl $0, _1com_mindprod_example_TestSignum+52
je L238
L239:
pushl $63
movl 16(%esp), %eax
movl 24(%esp), %ecx
movl 12(%esp), %edx
movl 20(%esp), %ebx
subl %edx, %ebx
sbbl %eax, %ecx
pushl %ecx
pushl %ebx
call JR_lshr
negl %eax
popl %ebx
ret $16
L238:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L239
popl %ebx
call JR_unwind
# -- _3com_mindprod_example_TestSignum_isLessThan


.align 4
_3com_mindprod_example_TestSignum_emitTrialHeaderHTML:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
pushl %eax
cmpl -3096(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L240
L252:
movl _4com_mindprod_example_TestSignum_html, %edi
movl 24(%esp), %esi
==== Next deref = checknull 0
cmpl %esi, (%esi)
movl _0com_mindprod_example_TestSignum_strtable+124, %eax
cmpl %esi, %eax
je L241
movl 12(%esi), %ecx
cmpl %ecx, 12(%eax)
jne L242
pushl %esi
pushl $1
pushl $0
pushl %eax
pushl $0
pushl %ecx
call
_2java_lang_String_regionMatches__ZILjava_lang_String_2II___Z
testb %al, %al
jne L241
L242:
movl _0com_mindprod_example_TestSignum_strtable+132, %eax
movl %eax, %ebp
jmp L243
L241:
movl _0com_mindprod_example_TestSignum_strtable+128, %eax
movl %eax, %ebp
L243:
movl _0com_mindprod_example_TestSignum_strtable+160, %ebx
movl _0com_mindprod_example_TestSignum_strtable+164, %eax
cmpl %esi, %eax
je L244
movl 12(%esi), %ecx
cmpl %ecx, 12(%eax)
jne L245
pushl %esi
pushl $1
pushl $0
pushl %eax
pushl $0
pushl %ecx
call
_2java_lang_String_regionMatches__ZILjava_lang_String_2II___Z
testb %al, %al
jne L244
L245:
movl _0com_mindprod_example_TestSignum_strtable+172, %eax
jmp L246
L244:
movl _0com_mindprod_example_TestSignum_strtable+168, %eax
L246:
pushl
_0com_mindprod_example_TestSignum$BenchmarkMeasurement_strtable+44
pushl _0com_mindprod_example_TestSignum_strtable+184
pushl _0com_mindprod_example_TestSignum_strtable+180
pushl %esi
pushl _0com_mindprod_example_TestSignum_strtable+176
pushl %eax
pushl %ebx
pushl _0com_mindprod_example_TestSignum_strtable+156
pushl 60(%esp)
pushl _0com_mindprod_example_TestSignum_strtable+152
pushl _0com_mindprod_example_TestSignum_strtable+148
pushl 76(%esp)
pushl _0com_mindprod_example_TestSignum_strtable+144
pushl _0com_mindprod_example_TestSignum_strtable+140
pushl 92(%esp)
pushl _0com_mindprod_example_TestSignum_strtable+136
pushl %ebp
pushl _0com_mindprod_example_TestSignum_strtable+120
pushl $$$new_obj8
call JR_StrConcat
movl %eax, %esi
==== Next deref = checknull 0
cmpl %edi, (%edi)
subl $-76, %esp
testl %esi, %esi
jne L247
movl _0java_lang_AbstractStringBuilder_strtable, %eax
movl 52(%eax), %esi
==== Next deref = checknull 0
cmpl %esi, (%esi)
L247:
movl 12(%esi), %eax
testl %eax, %eax
je L248
movl 4(%edi), %ecx
==== Next deref = checknull 8
movl 8(%ecx), %edx
movl 8(%edi), %ebx
leal (%ebx, %eax), %ebp
cmpl %ebp, %edx
jge L249
leal (%edx, %edx), %eax
addl $2, %eax
jns L250
movl $2147483647, %eax
jmp L251
L250:
cmpl %ebp, %eax
jge L251
movl %ebp, %eax
L251:
pushl %ecx
pushl %eax
pushl %ebx
pushl $0
call _3com_excelsior_MemoryManager_Heap_expandCharArray
movl %eax, 4(%edi)
L249:
pushl %esi
pushl 4(%edi)
pushl 8(%edi)
call _3com_excelsior_util_Chars_unsafeGetChars
movl %ebp, 8(%edi)
L248:
popl %ecx
popl %edi
popl %esi
popl %ebx
popl %ebp
ret $16
L240:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L252
popl %ecx
call JR_unwind_4R
# -- _3com_mindprod_example_TestSignum_emitTrialHeaderHTML


.align 4
_3com_mindprod_example_TestSignum_echoCommandLineHTML:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
cmpl -3088(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L253
L259:
movl _4com_mindprod_example_TestSignum_html, %edi
pushl _0com_mindprod_example_TestSignum_strtable+212
pushl _0com_mindprod_example_TestSignum_strtable+208
pushl 28(%esp)
pushl _0com_mindprod_example_TestSignum_strtable+204
pushl _0com_mindprod_example_TestSignum_strtable+200
pushl 44(%esp)
pushl _0com_mindprod_example_TestSignum_strtable+196
pushl _0com_mindprod_example_TestSignum_strtable+192
pushl 60(%esp)
pushl _0com_mindprod_example_TestSignum_strtable+188
pushl $$$new_obj9
call JR_StrConcat
movl %eax, %esi
==== Next deref = checknull 0
cmpl %edi, (%edi)
subl $-44, %esp
testl %esi, %esi
jne L254
movl _0java_lang_AbstractStringBuilder_strtable, %eax
movl 52(%eax), %esi
==== Next deref = checknull 0
cmpl %esi, (%esi)
L254:
movl 12(%esi), %eax
testl %eax, %eax
je L255
movl 4(%edi), %ecx
==== Next deref = checknull 8
movl 8(%ecx), %edx
movl 8(%edi), %ebx
leal (%ebx, %eax), %ebp
cmpl %ebp, %edx
jge L256
leal (%edx, %edx), %eax
addl $2, %eax
jns L257
movl $2147483647, %eax
jmp L258
L257:
cmpl %ebp, %eax
jge L258
movl %ebp, %eax
L258:
pushl %ecx
pushl %eax
pushl %ebx
pushl $0
call _3com_excelsior_MemoryManager_Heap_expandCharArray
movl %eax, 4(%edi)
L256:
pushl %esi
pushl 4(%edi)
pushl 8(%edi)
call _3com_excelsior_util_Chars_unsafeGetChars
movl %ebp, 8(%edi)
L255:
popl %edi
popl %esi
popl %ebx
popl %ebp
ret $12
L253:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L259
call JR_unwind_4R
# -- _3com_mindprod_example_TestSignum_echoCommandLineHTML


.align 4
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-36, %esp
cmpl -3104(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L260
L279:
movl 68(%esp), %ecx
sarl $31, %ecx
movl %ecx, 8(%esp)
cmpl $0, 68(%esp)
jle L261
movl $1, %eax
jmp L262
L261:
je L263
movl $-1, %eax
jmp L262
L263:
xorl %eax, %eax
L262:
movl 60(%esp), %edx
movl 64(%esp), %ecx
testl %ecx, %ecx
jge L264
movl $-1, %ebx
jmp L265
L264:
jne L266
movl %edx, %ebx
testl %ebx, %ebx
je L267
L266:
movl $1, %ebx
jmp L265
L267:
xorl %ebx, %ebx
L265:
cmpl %ebx, %eax
je L268
movl _1java_lang_System, %eax
cmpl $0, 52(%eax)
je L269
L280:
movl _4java_lang_System_err, %eax
movl (%eax), %ebx
movl %ebx, 4(%esp)
movl _0com_mindprod_example_TestSignum_strtable+216, %eax
movl %eax, 28(%esp)
movl _4com_mindprod_example_TestSignum_df0, %ebx
==== Next deref = checknull 0
cmpl %ebx, (%ebx)
pushl _1java_lang_StringBuffer
call JR_NEW24
movl %eax, %ebp
pushl $-1069547464
pushl $16
pushl _1com_excelsior_internal_charTD
call JR_NEW_OPEN56
movl %eax, 4(%ebp)
movl _1java_text_DontCareFieldPosition, %eax
cmpl $0, 52(%eax)
je L270
L281:
pushl %ebx
pushl %ecx
pushl %edx
pushl %ebp
movl _4java_text_DontCareFieldPosition_INSTANCE, %eax
pushl (%eax)
movl fs:[0], %edi
movl 12(%edi), %ecx
movl %ecx, 40(%esp)
movl -4(%ebx), %eax
call *320(%eax)
movl %eax, %esi
movl 20(%esp), %ebx
xorl %eax, %eax
<generic_lock>==== Next deref = checknull 0
cmpxchgl (%esi), %ebx
jne L271
movl %esi, 32(%esp)
L282:
pushl _1java_lang_String
call JR_NEW32
movl %eax, %ebp
movl 4(%esi), %ecx
movl 8(%esi), %ebx
testl %ebx, %ebx
jl L272
==== Next deref = checknull 8
movl 8(%ecx), %eax
subl %ebx, %eax
js L273
pushl %ebx
pushl _1com_excelsior_internal_charTD
call JR_NEW_ARRAY
movl %eax, 16(%esp)
pushl %ecx
pushl $0
pushl %eax
pushl $0
pushl %ebx
call _3com_excelsior_util_Arrays_unsafeCharArrayCopy
movl $0, 8(%ebp)
movl %ebx, 12(%ebp)
movl 16(%esp), %eax
movl %eax, 4(%ebp)
testb $1, -8(%esi)
jne L274
movl (%esi), %eax
cmpl %eax, 20(%esp)
jne L274
movl $0, (%esi)
L284:
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %eax
movl %eax, 28(%esp)
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
movl %eax, %edx
pushl $-1069547464
pushl $16
pushl _1com_excelsior_internal_charTD
call JR_NEW_OPEN56
pushl %ecx
movl %eax, 4(%edx)
pushl 12(%esp)
pushl 76(%esp)
pushl %edx
movl _4java_text_DontCareFieldPosition_INSTANCE, %eax
pushl (%eax)
movl -4(%ecx), %ecx
call *320(%ecx)
movl %eax, %esi
movl 20(%esp), %ebx
xorl %eax, %eax
<generic_lock>==== Next deref = checknull 0
cmpxchgl (%esi), %ebx
jne L275
movl %esi, 32(%esp)
L285:
pushl _1java_lang_String
call JR_NEW32
movl %eax, %ebx
movl 4(%esi), %ecx
movl 8(%esi), %eax
movl %eax, (%esp)
testl %eax, %eax
jl L276
==== Next deref = checknull 8
movl 8(%ecx), %edx
subl %eax, %edx
js L277
pushl %eax
pushl _1com_excelsior_internal_charTD
call JR_NEW_ARRAY
movl %eax, 12(%esp)
pushl %ecx
pushl $0
pushl %eax
pushl $0
pushl 16(%esp)
call _3com_excelsior_util_Arrays_unsafeCharArrayCopy
movl $0, 8(%ebx)
movl (%esp), %eax
movl %eax, 12(%ebx)
movl 12(%esp), %ecx
movl %ecx, 4(%ebx)
testb $1, -8(%esi)
jne L278
movl (%esi), %eax
cmpl %eax, 20(%esp)
jne L278
movl $0, (%esi)
L286:
pushl %ebx
pushl 28(%esp)
pushl %ebp
pushl 40(%esp)
pushl 72(%esp)
pushl $$$new_obj10
call JR_StrConcat
pushl 28(%esp)
pushl %eax
movl 36(%esp), %ebx
==== Next deref = checknull -4
movl -4(%ebx), %ecx
call *256(%ecx)
subl $-24, %esp
L268:
subl $-36, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret $16
L260:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L279
L269:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L280
L270:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L281
L271:
pushl %esi
pushl 8(%edi)
movl %esi, 40(%esp)
call JR_LockObj
jmp L282
pushl 32(%esp)
call JR_UnlockOnThrow
jmp L283
L274:
pushl %esi
pushl 8(%edi)
call JR_FreeObj
jmp L284
L275:
pushl %esi
pushl 8(%edi)
movl %esi, 40(%esp)
call JR_LockObj
jmp L285
pushl 32(%esp)
call JR_UnlockOnThrow
jmp L283
L278:
pushl %esi
pushl 8(%edi)
call JR_FreeObj
jmp L286
L277:
pushl %eax
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L276:
pushl %eax
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L273:
pushl %ebx
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L272:
pushl %ebx
pushl
$_0java_lang_StringIndexOutOfBoundsException_init__I___Ljava_lang_StringIndexOutOfBoundsException_2
pushl TDINDEX(_1java_lang_StringIndexOutOfBoundsException)
call JR_ThrowNewThrowable_I
L283:
pushl $9
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_checkConformanceOfOneValue


.align 4
_3com_mindprod_example_TestSignum_checkConformanceOfAllCandidates:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
addl $-148, %esp
cmpl -3104(%esp), %esp
cmpl $0, _1com_mindprod_example_TestSignum+52
je L287
L338:
movl _0com_mindprod_example_TestSignum_strtable+224, %eax
movl %eax, 140(%esp)
movl 168(%esp), %ecx
shrl $1, %ecx
movl %ecx, 56(%esp)
movl 168(%esp), %edx
andl $1, %edx
orl 172(%esp), %edx
movl %edx, 32(%esp)
movl %ecx, %eax
orl %edx, %eax
movl %eax, 24(%esp)
movl %eax, %ecx
sarl $31, %ecx
movl %ecx, 52(%esp)
pushl %ecx
pushl %eax
call _3com_mindprod_example_TestSignum_twoifs
cmpl $0, 172(%esp)
jge L288
movl $-1, %ecx
jmp L289
L288:
jne L290
cmpl $0, 168(%esp)
je L291
L290:
movl $1, %ecx
jmp L289
L291:
xorl %ecx, %ecx
L289:
cmpl %ecx, %eax
je L292
movl _1java_lang_System, %eax
cmpl $0, 52(%eax)
je L293
L339:
movl _4java_lang_System_err, %eax
movl (%eax), %edi
movl _0com_mindprod_example_TestSignum_strtable+216, %esi
movl _4com_mindprod_example_TestSignum_df0, %ebp
==== Next deref = checknull 0
cmpl %ebp, (%ebp)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L294
L340:
pushl %ebp
pushl 176(%esp)
pushl 176(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ebp), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
movl %eax, %ebx
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %ebp
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 148(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 144(%esp), %ecx
pushl %ecx
pushl 56(%esp)
pushl 32(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl %eax
pushl %ebp
pushl %ebx
pushl %esi
pushl 156(%esp)
pushl $$$new_obj11
call JR_StrConcat
pushl %edi
pushl %eax
==== Next deref = checknull -4
movl -4(%edi), %ecx
call *256(%ecx)
subl $-24, %esp
L292:
cmpl $0, 172(%esp)
je L295
movl 172(%esp), %eax
movl %eax, 120(%esp)
jmp L296
L295:
movl 168(%esp), %eax
movl %eax, 120(%esp)
L296:
movl _0com_mindprod_example_TestSignum_strtable+228, %eax
movl %eax, 136(%esp)
movl 120(%esp), %ecx
sarl $31, %ecx
movl %ecx, 60(%esp)
pushl %ecx
pushl 124(%esp)
call _3com_mindprod_example_TestSignum_twoifs
movl %eax, %edi
pushl 172(%esp)
pushl 172(%esp)
call _3com_mindprod_example_TestSignum_twoifs
cmpl %edi, %eax
je L297
movl _1java_lang_System, %edx
cmpl $0, 52(%edx)
je L298
L341:
movl _4java_lang_System_err, %ebx
movl (%ebx), %esi
movl _0com_mindprod_example_TestSignum_strtable+216, %ebp
movl _4com_mindprod_example_TestSignum_df0, %edi
==== Next deref = checknull 0
cmpl %edi, (%edi)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L299
L342:
pushl %edi
pushl 176(%esp)
pushl 176(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%edi), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
movl %eax, %edi
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %ebx
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 148(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 144(%esp), %ecx
pushl %ecx
pushl 64(%esp)
pushl 128(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl %eax
pushl %ebx
pushl %edi
pushl %ebp
pushl 152(%esp)
pushl $$$new_obj12
call JR_StrConcat
pushl %esi
pushl %eax
==== Next deref = checknull -4
movl -4(%esi), %ecx
call *256(%ecx)
subl $-24, %esp
L297:
movl _0com_mindprod_example_TestSignum_strtable+232, %eax
movl %eax, 132(%esp)
movl 168(%esp), %ebx
leal (%ebx, %ebx), %ecx
orl %ebx, %ecx
shrl $1, %ecx
orl 172(%esp), %ecx
movl %ecx, 84(%esp)
movl %ecx, %ebp
sarl $31, %ebp
movl %ebp, 40(%esp)
pushl %ebp
pushl %ecx
call _3com_mindprod_example_TestSignum_twoifs
movl %eax, %edi
pushl 172(%esp)
pushl %ebx
call _3com_mindprod_example_TestSignum_twoifs
cmpl %edi, %eax
je L300
movl _1java_lang_System, %edx
cmpl $0, 52(%edx)
je L301
L343:
movl _4java_lang_System_err, %esi
movl (%esi), %edi
movl _0com_mindprod_example_TestSignum_strtable+216, %esi
movl _4com_mindprod_example_TestSignum_df0, %ebp
==== Next deref = checknull 0
cmpl %ebp, (%ebp)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L302
L344:
pushl %ebp
pushl 176(%esp)
pushl %ebx
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ebp), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
movl %eax, %ebp
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %ebx
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 148(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 144(%esp), %ecx
pushl %ecx
pushl 44(%esp)
pushl 92(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl %eax
pushl %ebx
pushl %ebp
pushl %esi
pushl 148(%esp)
pushl $$$new_obj13
call JR_StrConcat
pushl %edi
pushl %eax
==== Next deref = checknull -4
movl -4(%edi), %ecx
call *256(%ecx)
subl $-24, %esp
L300:
pushl $63
pushl 176(%esp)
pushl 176(%esp)
call JR_lshr
movl %eax, 16(%esp)
pushl $63
movl 176(%esp), %ecx
notl %ecx
pushl %ecx
movl 176(%esp), %ebx
notl %ebx
pushl %ebx
movl _0com_mindprod_example_TestSignum_strtable+236, %ebp
movl %ebp, 136(%esp)
call JR_lushr
orl 16(%esp), %eax
movl %eax, 64(%esp)
movl %eax, %esi
sarl $31, %esi
movl %esi, 72(%esp)
pushl %esi
pushl %eax
call _3com_mindprod_example_TestSignum_twoifs
movl %eax, %edi
pushl 172(%esp)
pushl 172(%esp)
call _3com_mindprod_example_TestSignum_twoifs
cmpl %edi, %eax
je L303
movl _1java_lang_System, %eax
cmpl $0, 52(%eax)
je L304
L345:
movl _4java_lang_System_err, %eax
movl (%eax), %edi
movl _0com_mindprod_example_TestSignum_strtable+216, %esi
movl _4com_mindprod_example_TestSignum_df0, %ebp
==== Next deref = checknull 0
cmpl %ebp, (%ebp)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L305
L346:
pushl %ebp
pushl 176(%esp)
pushl 176(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ebp), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
movl %eax, %ebp
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %ebx
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 148(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 144(%esp), %ecx
pushl %ecx
pushl 76(%esp)
pushl 72(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl %eax
pushl %ebx
pushl %ebp
pushl %esi
pushl 140(%esp)
pushl $$$new_obj14
call JR_StrConcat
pushl %edi
pushl %eax
==== Next deref = checknull -4
movl -4(%edi), %ecx
call *256(%ecx)
subl $-24, %esp
L303:
cmpl $0, 172(%esp)
jl L306
jne L307
cmpl $0, 168(%esp)
je L306
L307:
movl $1, 116(%esp)
jmp L308
L306:
movl 172(%esp), %eax
movl %eax, 116(%esp)
L308:
movl _0com_mindprod_example_TestSignum_strtable+240, %eax
movl %eax, 112(%esp)
movl 116(%esp), %ecx
sarl $31, %ecx
movl %ecx, 28(%esp)
pushl %ecx
pushl 120(%esp)
call _3com_mindprod_example_TestSignum_twoifs
movl %eax, %edi
pushl 172(%esp)
pushl 172(%esp)
call _3com_mindprod_example_TestSignum_twoifs
cmpl %edi, %eax
je L309
movl _1java_lang_System, %edx
cmpl $0, 52(%edx)
je L310
L347:
movl _4java_lang_System_err, %ebx
movl (%ebx), %esi
movl _0com_mindprod_example_TestSignum_strtable+216, %ebp
movl _4com_mindprod_example_TestSignum_df0, %edi
==== Next deref = checknull 0
cmpl %edi, (%edi)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L311
L348:
pushl %edi
pushl 176(%esp)
pushl 176(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%edi), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
movl %eax, %edi
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %ebx
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 148(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 144(%esp), %ecx
pushl %ecx
pushl 32(%esp)
pushl 124(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl %eax
pushl %ebx
pushl %edi
pushl %ebp
pushl 128(%esp)
pushl $$$new_obj15
call JR_StrConcat
pushl %esi
pushl %eax
==== Next deref = checknull -4
movl -4(%esi), %ecx
call *256(%ecx)
subl $-24, %esp
L309:
movl 172(%esp), %eax
orl 168(%esp), %eax
je L312
movl 172(%esp), %ecx
orl $1, %ecx
movl %ecx, 108(%esp)
jmp L313
L312:
movl $0, 108(%esp)
L313:
movl _0com_mindprod_example_TestSignum_strtable+244, %ecx
movl %ecx, 104(%esp)
movl 108(%esp), %ebx
sarl $31, %ebx
movl %ebx, 44(%esp)
pushl %ebx
pushl 112(%esp)
call _3com_mindprod_example_TestSignum_twoifs
movl %eax, %edi
pushl 172(%esp)
pushl 172(%esp)
call _3com_mindprod_example_TestSignum_twoifs
cmpl %edi, %eax
je L314
movl _1java_lang_System, %edx
cmpl $0, 52(%edx)
je L315
L349:
movl _4java_lang_System_err, %ebp
movl (%ebp), %esi
movl _0com_mindprod_example_TestSignum_strtable+216, %edi
movl _4com_mindprod_example_TestSignum_df0, %ebp
==== Next deref = checknull 0
cmpl %ebp, (%ebp)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L316
L350:
pushl %ebp
pushl 176(%esp)
pushl 176(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ebp), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
movl %eax, %ebp
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %ebx
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 148(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 144(%esp), %ecx
pushl %ecx
pushl 48(%esp)
pushl 116(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl %eax
pushl %ebx
pushl %ebp
pushl %edi
pushl 120(%esp)
pushl $$$new_obj16
call JR_StrConcat
pushl %esi
pushl %eax
==== Next deref = checknull -4
movl -4(%esi), %ecx
call *256(%ecx)
subl $-24, %esp
L314:
pushl $63
movl 172(%esp), %ecx
negl %ecx
movl %ecx, 72(%esp)
movl $0, %eax
adcl 176(%esp), %eax
negl %eax
movl %eax, 52(%esp)
pushl %eax
pushl %ecx
call JR_lshr
negl %eax
movl 16(%esp), %ebx
negl %ebx
movl _0com_mindprod_example_TestSignum_strtable+248, %ebp
movl %ebp, 96(%esp)
subl %ebx, %eax
movl %eax, 20(%esp)
movl %eax, %esi
sarl $31, %esi
movl %esi, 4(%esp)
pushl %esi
pushl %eax
call _3com_mindprod_example_TestSignum_twoifs
movl %eax, %edi
pushl 172(%esp)
pushl 172(%esp)
call _3com_mindprod_example_TestSignum_twoifs
cmpl %edi, %eax
je L317
movl _1java_lang_System, %eax
cmpl $0, 52(%eax)
je L318
L351:
movl _4java_lang_System_err, %eax
movl (%eax), %edi
movl _0com_mindprod_example_TestSignum_strtable+216, %esi
movl _4com_mindprod_example_TestSignum_df0, %ebp
==== Next deref = checknull 0
cmpl %ebp, (%ebp)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L319
L352:
pushl %ebp
pushl 176(%esp)
pushl 176(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ebp), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
movl %eax, %ebp
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %ebx
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 148(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 144(%esp), %ecx
pushl %ecx
pushl 8(%esp)
pushl 28(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl %eax
pushl %ebx
pushl %ebp
pushl %esi
pushl 112(%esp)
pushl $$$new_obj17
call JR_StrConcat
pushl %edi
pushl %eax
==== Next deref = checknull -4
movl -4(%edi), %ecx
call *256(%ecx)
subl $-24, %esp
L317:
movl _1java_lang_Long, %eax
cmpl $0, 52(%eax)
je L320
L353:
pushl $63
pushl 52(%esp)
pushl 76(%esp)
movl _0com_mindprod_example_TestSignum_strtable+252, %ecx
movl %ecx, 104(%esp)
call JR_lushr
orl 16(%esp), %eax
movl %eax, 8(%esp)
movl %eax, %ebx
sarl $31, %ebx
movl %ebx, 12(%esp)
pushl %ebx
pushl %eax
call _3com_mindprod_example_TestSignum_twoifs
cmpl $0, 172(%esp)
jge L321
movl $-1, %ebp
jmp L322
L321:
jne L323
cmpl $0, 168(%esp)
je L324
L323:
movl $1, %ebp
jmp L322
L324:
xorl %ebp, %ebp
L322:
cmpl %ebp, %eax
je L325
movl _1java_lang_System, %esi
cmpl $0, 52(%esi)
je L326
L354:
movl _4java_lang_System_err, %edi
movl (%edi), %edi
movl _0com_mindprod_example_TestSignum_strtable+216, %esi
movl _4com_mindprod_example_TestSignum_df0, %ebp
==== Next deref = checknull 0
cmpl %ebp, (%ebp)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L327
L355:
pushl %ebp
pushl 176(%esp)
pushl 176(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ebp), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
movl %eax, %ebp
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %ebx
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 148(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 144(%esp), %ecx
pushl %ecx
pushl 16(%esp)
pushl 16(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl %eax
pushl %ebx
pushl %ebp
pushl %esi
pushl 108(%esp)
pushl $$$new_obj18
call JR_StrConcat
pushl %edi
pushl %eax
==== Next deref = checknull -4
movl -4(%edi), %ecx
call *256(%ecx)
subl $-24, %esp
L325:
cmpl $0, 172(%esp)
jge L328
movl $-1, 128(%esp)
jmp L329
L328:
jne L330
cmpl $0, 168(%esp)
je L331
L330:
movl $1, 128(%esp)
jmp L329
L331:
movl $0, 128(%esp)
L329:
movl _0com_mindprod_example_TestSignum_strtable+256, %eax
movl %eax, 88(%esp)
movl 128(%esp), %ecx
sarl $31, %ecx
movl %ecx, 80(%esp)
pushl %ecx
pushl 132(%esp)
call _3com_mindprod_example_TestSignum_twoifs
movl %eax, %edi
pushl 172(%esp)
pushl 172(%esp)
call _3com_mindprod_example_TestSignum_twoifs
cmpl %edi, %eax
je L332
movl _1java_lang_System, %edx
cmpl $0, 52(%edx)
je L333
L356:
movl _4java_lang_System_err, %ebx
movl (%ebx), %esi
movl _0com_mindprod_example_TestSignum_strtable+216, %ebp
movl _4com_mindprod_example_TestSignum_df0, %edi
==== Next deref = checknull 0
cmpl %edi, (%edi)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L334
L357:
pushl %edi
pushl 176(%esp)
pushl 176(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%edi), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
movl %eax, %edi
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %ebx
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 148(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 144(%esp), %ecx
pushl %ecx
pushl 84(%esp)
pushl 136(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl %eax
pushl %ebx
pushl %edi
pushl %ebp
pushl 104(%esp)
pushl $$$new_obj19
call JR_StrConcat
pushl %esi
pushl %eax
==== Next deref = checknull -4
movl -4(%esi), %ecx
call *256(%ecx)
subl $-24, %esp
L332:
movl _0com_mindprod_example_TestSignum_strtable+260, %eax
movl %eax, 100(%esp)
movl 56(%esp), %ecx
andl $2147483647, %ecx
orl 32(%esp), %ecx
movl %ecx, 36(%esp)
movl %ecx, %ebx
sarl $31, %ebx
movl %ebx, 76(%esp)
pushl %ebx
pushl %ecx
call _3com_mindprod_example_TestSignum_twoifs
movl %eax, %edi
pushl 172(%esp)
pushl 172(%esp)
call _3com_mindprod_example_TestSignum_twoifs
cmpl %edi, %eax
je L335
movl _1java_lang_System, %edx
cmpl $0, 52(%edx)
je L336
L358:
movl _4java_lang_System_err, %ebp
movl (%ebp), %esi
movl _0com_mindprod_example_TestSignum_strtable+216, %edi
movl _4com_mindprod_example_TestSignum_df0, %ebp
==== Next deref = checknull 0
cmpl %ebp, (%ebp)
pushl _1java_lang_StringBuffer
call JR_NEW24
pushl %eax
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl _1java_text_DontCareFieldPosition, %ecx
cmpl $0, 52(%ecx)
je L337
L359:
pushl %ebp
pushl 176(%esp)
pushl 176(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ebp), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
movl %eax, %ebp
pushl _1java_lang_StringBuffer
movl _0com_mindprod_example_TestSignum_strtable+220, %ebx
movl _4com_mindprod_example_TestSignum_df0, %ecx
==== Next deref = checknull 0
cmpl %ecx, (%ecx)
call JR_NEW24
pushl %eax
movl %ecx, 148(%esp)
call _0java_lang_StringBuffer_init___Ljava_lang_StringBuffer_2
movl 144(%esp), %ecx
pushl %ecx
pushl 80(%esp)
pushl 44(%esp)
pushl %eax
movl _4java_text_DontCareFieldPosition_INSTANCE, %edx
pushl (%edx)
movl -4(%ecx), %eax
call *320(%eax)
==== Next deref = checknull 0
cmpl %eax, (%eax)
pushl %eax
call _2java_lang_StringBuffer_toString
pushl %eax
pushl %ebx
pushl %ebp
pushl %edi
pushl 116(%esp)
pushl $$$new_obj20
call JR_StrConcat
pushl %esi
pushl %eax
==== Next deref = checknull -4
movl -4(%esi), %ecx
call *256(%ecx)
subl $-24, %esp
L335:
subl $-148, %esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret $8
L287:
pushl TDINDEX(_1com_mindprod_example_TestSignum)
call JR_Clinit
jmp L338
L293:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L339
L294:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L340
L298:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L341
L299:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L342
L301:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L343
L302:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L344
L304:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L345
L305:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L346
L310:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L347
L311:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L348
L315:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L349
L316:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L350
L318:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L351
L319:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L352
L320:
pushl TDINDEX(_1java_lang_Long)
call JR_Clinit
jmp L353
L326:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L354
L327:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L355
L333:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L356
L334:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L357
L336:
pushl TDINDEX(_1java_lang_System)
call JR_Clinit
jmp L358
L337:
pushl TDINDEX(_1java_text_DontCareFieldPosition)
call JR_Clinit
jmp L359
pushl $37
call JR_unwind_4RS
# -- _3com_mindprod_example_TestSignum_checkConformanceOfAllCandidates


.align 4
..global _0com_mindprod_example_TestSignum_init
_0com_mindprod_example_TestSignum_init:
movl 4(%esp), %eax
ret $4
# -- _0com_mindprod_example_TestSignum_init


.align 4
..global _0com_mindprod_example_TestSignum_begin
_0com_mindprod_example_TestSignum_begin:
pushl $66
pushl $_0com_mindprod_example_TestSignum_strtable
call JR_InitJavaStrings
ret
# -- _0com_mindprod_example_TestSignum_begin

# consts
.data
_0com_mindprod_example_TestSignum_strtable:
.long JSTRING#0
.long JSTRING#1+1
.long JSTRING#2+2
.long JSTRING#3+3
.long JSTRING#4+4
.long JSTRING#5+5
.long JSTRING#6+6
.long JSTRING#7+7
.long JSTRING#8+8
.long JSTRING#9+9
.long JSTRING#10+10
.long JSTRING#11+11
.long JSTRING#12+12
.long JSTRING#13+13
.long JSTRING#14+14
.long JSTRING#15+15
.long JSTRING#16+16
.long JSTRING#17+17
.long JSTRING#18+18
.long JSTRING#19+19
.long JSTRING#20+20
.long JSTRING#21+21
.long JSTRING#22+22
.long JSTRING#23+23
.long JSTRING#24+24
.long JSTRING#25+25
.long JSTRING#26+26
.long JSTRING#27+27
.long JSTRING#28+28
.long JSTRING#29+29
.long JSTRING#30+30
.long JSTRING#31+31
.long JSTRING#32+32
.long JSTRING#33+33
.long JSTRING#34+34
.long JSTRING#35+35
.long JSTRING#36+36
.long JSTRING#37+37
.long JSTRING#38+38
.long JSTRING#39+39
.long JSTRING#40+40
.long JSTRING#41+41
.long JSTRING#42+42
.long JSTRING#43+43
.long JSTRING#44+44
.long JSTRING#45+45
.long JSTRING#46+46
.long JSTRING#47+47
.long JSTRING#48+48
.long JSTRING#49+49
.long JSTRING#50+50
.long JSTRING#51+51
.long JSTRING#52+52
.long JSTRING#53+53
.long JSTRING#54+54
.long JSTRING#55+55
.long JSTRING#56+56
.long JSTRING#57+57
.long JSTRING#58+58
.long JSTRING#59+59
.long JSTRING#60+60
.long JSTRING#61+61
.long JSTRING#62+62
.long JSTRING#63+63
.long JSTRING#64+64
.long JSTRING#65+65
..global _4com_mindprod_example_TestSignum_SIGNUM_1INVOCATIONS
_4com_mindprod_example_TestSignum_SIGNUM_1INVOCATIONS:
.long 2000000000
.long 0
..global
_4com_mindprod_example_TestSignum_SIGNUM_1CONFORMANCE_1INVOCATIONS
_4com_mindprod_example_TestSignum_SIGNUM_1CONFORMANCE_1INVOCATIONS:
.long 20000000
..global _4com_mindprod_example_TestSignum_REST_1PERIOD_1IN_1MILLIS
_4com_mindprod_example_TestSignum_REST_1PERIOD_1IN_1MILLIS:
.long 10000
.long 0
..global _4com_mindprod_example_TestSignum_NANOS_1PER_1CALL_1TO_1BEAT
_4com_mindprod_example_TestSignum_NANOS_1PER_1CALL_1TO_1BEAT:
.double 1.22
..global _1com_mindprod_example_TestSignum
_1com_mindprod_example_TestSignum:
.long 0
.short 3
.short 0
.long 1737031714
.long 393064419
.long 'com/mindprod/example/TestSignum-type_desc
.byte 255
.byte 0
.short 0
.long reflection'com/mindprod/example/TestSignum
.long 0
.long 262529
.long import'com/mindprod/example/TestSignum-type_desc
.long 0
.long _0com_mindprod_example_TestSignum_clinit
.long 0
.long 0
.long -1463473656
.long 0
.long 0
.long JR_ComponentDescriptor
.long 0
.long 0
.long 0
.long 0
.long _6com_mindprod_example
.long
_4com_mindprod_example_TestSignum_static_1bundle'com_mindprod_example_TestSignum+8
.short 0
.short 4
.short 33
.short 0
.long 0
.long 1
.short TO_TD_FIXUP(_1com_mindprod_example_TestSignum)
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.long 0
.long -1606418416
.long 4
.long 0
.long 0
.long 0
.long 0
.long 0
.long 0
.long 39
.long 5
.long 0
.long 0
.long 0
.short -33
.short 16385
.long 0
.long 0
.long COMPBASE + OFFSET _2java_lang_Object_toString
.long COMPBASE + OFFSET _2java_lang_Object_hashCode
.long COMPBASE + OFFSET _2java_lang_Object_finalize
.long COMPBASE + OFFSET _2java_lang_Object_equals (EXTRA
THUNK)
.long COMPBASE + OFFSET _2java_lang_Object_clone
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_access$000
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_access$100
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_access$200
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_checkConformanceOfAllCandidates
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_checkConformanceOfOneValue
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_echoCommandLineHTML
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_emitTrialHeaderHTML
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_isLessThan
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_kobzda
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_leftPad
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_lohi32
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_main
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measureKobzda
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measureLoHi32
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measureOverhead
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measurePiotr
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measureSgn
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measureSignHalf
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measureSignOf
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measureStephan
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measureSun
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measureTwoifs
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_measureWibble
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_piotr
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_sgn
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_signHalf
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_signOf
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_stephan
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_sunSignum
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_trial
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_twoifs
.long COMPBASE + OFFSET
_3com_mindprod_example_TestSignum_wibble
.long COMPBASE + OFFSET
_0com_mindprod_example_TestSignum_init
.long COMPBASE + OFFSET
_0com_mindprod_example_TestSignum_clinit
$$new_obj20:
.ascii "sssss\000"
$$new_obj19:
.ascii "sssss\000"
$$new_obj18:
.ascii "sssss\000"
$$new_obj17:
.ascii "sssss\000"
$$new_obj16:
.ascii "sssss\000"
$$new_obj15:
.ascii "sssss\000"
$$new_obj14:
.ascii "sssss\000"
$$new_obj13:
.ascii "sssss\000"
$$new_obj12:
.ascii "sssss\000"
$$new_obj11:
.ascii "sssss\000"
$$new_obj10:
.ascii "sssss\000"
$$new_obj9:
.ascii "ssssssssss\000"
$$new_obj8:
.ascii "ssssssssssssssssss\000"
$$new_obj7:
.ascii "ss\000"
$$new_obj6:
.ascii "sss\000"
$$new_obj5:
.ascii "sss\000"
$$new_obj4:
.ascii "sss\000"
$$new_obj3:
.ascii "ssssssssssssssssss\000"
$$new_obj2:
.ascii "sssssss\000"
$$new_obj1:
.ascii "ssssssssss\000"
$$new_obj0:
.ascii "ss\000"
$aggregate:
.long 0
.long -2147483648
.long 1
.long -2147483648
.long 2
.long -2147483648
.long 2147483646
.long 0
.long 2147483647
.long 0
.long -2147483648
.long -1
.long -2147483647
.long -1
.long -2147483646
.long -1
.long -2
.long -1
.long -1
.long -1
.long 0
.long 0
.long 1
.long 0
.long 2
.long 0
.long 2147483645
.long 0
.long 2147483646
.long 0
.long 2147483647
.long 0
.long -2147483648
.long -1
.long -2147483647
.long -1
.long -3
.long 2147483647
.long -2
.long 2147483647
.long -1
.long 2147483647
TDneg'com/mindprod/example/TestSignum:
.long 33636352
.long 0
Nested'com/mindprod/example/TestSignum:
.short
TO_TD_FIXUP(_1com_mindprod_example_TestSignum$BenchmarkMeasurement)
sfieldofs'com/mindprod/example/TestSignum:
.short 16
.short 24
.short 56
.short 32
.short 40
.short 12
.short 8
.short 60
.short 4
.short 48
.short 64
.short 0
sfieldname'com/mindprod/example/TestSignum:
.long TDstr(bstr'1)
.long TDstr(bstr'2)
.long TDstr(bstr'3)
.long TDstr(bstr'4)
.long TDstr(bstr'5)
.long TDstr(bstr'6)
.long TDstr(bstr'7)
.long TDstr(bstr'8)
.long TDstr(bstr'9)
.long TDstr(bstr'10)
.long TDstr(bstr'11)
.long TDstr(bstr'12)
sFModifiers'com/mindprod/example/TestSignum:
.short 25
.short 25
.short 25
.short 25
.short 25
.short 26
.short 26
.short 12
.short 26
.short 12
.short 26
.short 26
sFTDs'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(_1com_excelsior_internal_doubleTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_doubleTD)
.short TO_TD_FIXUP(_1java_text_DecimalFormat)
.short TO_TD_FIXUP(_1java_text_DecimalFormat)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1java_lang_StringBuilder)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(*array_1_of_2053)
names'com/mindprod/example/TestSignum:
.long TDstr(bstr'13)
namekeys'com/mindprod/example/TestSignum:
.short -33
frsz'com/mindprod/example/TestSignum:
.byte 1
modf'com/mindprod/example/TestSignum:
.short 16385
npars'com/mindprod/example/TestSignum:
.short 0
retTD'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(_1com_excelsior_internal_voidTD)
names'com/mindprod/example/TestSignum:
.long TDstr(bstr'14)
.long TDstr(bstr'15)
.long TDstr(bstr'16)
.long TDstr(bstr'17)
.long TDstr(bstr'18)
.long TDstr(bstr'19)
.long TDstr(bstr'20)
.long TDstr(bstr'21)
.long TDstr(bstr'22)
.long TDstr(bstr'23)
.long TDstr(bstr'24)
.long TDstr(bstr'25)
.long TDstr(bstr'26)
.long TDstr(bstr'27)
.long TDstr(bstr'28)
.long TDstr(bstr'29)
.long TDstr(bstr'30)
.long TDstr(bstr'31)
.long TDstr(bstr'32)
.long TDstr(bstr'33)
.long TDstr(bstr'34)
.long TDstr(bstr'35)
.long TDstr(bstr'36)
.long TDstr(bstr'37)
.long TDstr(bstr'38)
.long TDstr(bstr'39)
.long TDstr(bstr'40)
.long TDstr(bstr'41)
.long TDstr(bstr'42)
.long TDstr(bstr'43)
.long TDstr(bstr'44)
.long TDstr(bstr'45)
frsz'com/mindprod/example/TestSignum:
.byte 0
.byte 0
.byte 3
.byte 2
.byte 4
.byte 3
.byte 4
.byte 4
.byte 2
.byte 3
.byte 2
.byte 1
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 2
.byte 2
.byte 2
.byte 2
.byte 2
.byte 2
.byte 4
.byte 2
.byte 2
modf'com/mindprod/example/TestSignum:
.short 4104
.short 4104
.short 4104
.short 10
.short 10
.short 10
.short 10
.short 10
.short 25
.short 10
.short 25
.short 9
.short 10
.short 10
.short 10
.short 10
.short 10
.short 10
.short 10
.short 10
.short 10
.short 10
.short 10
.short 25
.short 25
.short 25
.short 25
.short 25
.short 25
.short 12
.short 25
.short 25
npars'com/mindprod/example/TestSignum:
.short 0
.short 0
.short 3
.short 1
.short 3
.short 3
.short 4
.short 2
.short 1
.short 3
.short 1
.short 1
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short 1
.short 1
.short 1
.short 1
.short 1
.short 4
.short 1
.short 1
access$200'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(_1java_lang_String)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_booleanTD)
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
checkConformanceOfOneValue'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1java_lang_String)
echoCommandLineHTML'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(_1java_lang_String)
.short TO_TD_FIXUP(_1java_lang_String)
.short TO_TD_FIXUP(_1java_lang_String)
emitTrialHeaderHTML'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(_1java_lang_String)
.short TO_TD_FIXUP(_1java_lang_String)
.short TO_TD_FIXUP(_1java_lang_String)
.short TO_TD_FIXUP(_1java_lang_String)
isLessThan'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
main'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(*array_1_of_2)
parTDs'com/mindprod/example/TestSignum:
.short 0
.short 0
.short access$200'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfOneValue'com/mindprod/example/TestSignum-type_desc
.short
echoCommandLineHTML'com/mindprod/example/TestSignum-type_desc
.short
emitTrialHeaderHTML'com/mindprod/example/TestSignum-type_desc
.short isLessThan'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
.short access$200'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
.short main'com/mindprod/example/TestSignum-type_desc
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
.short
emitTrialHeaderHTML'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
.short
checkConformanceOfAllCandidates'com/mindprod/example/TestSignum-type_desc
retTD'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(_1java_text_DecimalFormat)
.short TO_TD_FIXUP(_1java_text_DecimalFormat)
.short TO_TD_FIXUP(_1java_lang_String)
.short TO_TD_FIXUP(_1com_excelsior_internal_voidTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_voidTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_voidTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_voidTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1java_lang_String)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_voidTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_longTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_voidTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
.short TO_TD_FIXUP(_1com_excelsior_internal_intTD)
'com/mindprod/example/TestSignum:
.ascii "com.mindprod.example.TestSignum\000"
import'com/mindprod/example/TestSignum:
.short TO_TD_FIXUP(_1java_lang_Object)
.short
TO_TD_FIXUP(_1com_mindprod_example_TestSignum$BenchmarkMeasurement)
.short TO_TD_FIXUP(_1java_text_DecimalFormat)
.short TO_TD_FIXUP(_1java_lang_StringBuilder)
.short TO_TD_FIXUP(_1java_lang_String)
.short TO_TD_FIXUP(_1java_io_PrintStream)
.short TO_TD_FIXUP(_1java_util_Random)
.short TO_TD_FIXUP(_1java_util_ArrayList)
.short TO_TD_FIXUP(_1java_util_List)
.short TO_TD_FIXUP(_1java_util_Iterator)
.short TO_TD_FIXUP(_1java_lang_IllegalArgumentException)
.short TO_TD_FIXUP(_1java_lang_InterruptedException)
.short TO_TD_FIXUP(_1java_lang_Long)
.short TO_TD_FIXUP(_1java_lang_System)
.short TO_TD_FIXUP(_1java_text_NumberFormat)
.short TO_TD_FIXUP(_1java_util_Collections)
.short TO_TD_FIXUP(_1java_util_AbstractList)
.short TO_TD_FIXUP(_1java_lang_Throwable)
.short TO_TD_FIXUP(_1java_lang_Thread)
.short TO_TD_FIXUP(_1java_lang_AbstractStringBuilder)
.short
TO_TD_FIXUP(_1java_lang_StringIndexOutOfBoundsException)
.short TO_TD_FIXUP(_1com_excelsior_MemoryManager_Heap)
.short TO_TD_FIXUP(_1com_excelsior_util_Chars)
.short TO_TD_FIXUP(_1java_lang_StringBuffer)
.short TO_TD_FIXUP(_1java_text_DontCareFieldPosition)
.short TO_TD_FIXUP(_1java_util_Arrays)
.short TO_TD_FIXUP(_1java_util_AbstractList$Itr)
.short TO_TD_FIXUP(_1com_excelsior_util_Arrays)
.short 0
_4com_mindprod_example_TestSignum_static_1bundle'com_mindprod_example_TestSignum:
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.double 1.22
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.long 10000
.long 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.long 2000000000
.long 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.long 20000000
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
reflection'com/mindprod/example/TestSignum:
.long 0
.long 0
.long 0
.long 0
.short 0
.short 0
.short 1
.short Nested'com/mindprod/example/TestSignum-type_desc
.short 12
.short sfieldofs'com/mindprod/example/TestSignum-type_desc
.short sfieldname'com/mindprod/example/TestSignum-type_desc
.short sFModifiers'com/mindprod/example/TestSignum-type_desc
.short sFTDs'com/mindprod/example/TestSignum-type_desc
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 1
.short names'com/mindprod/example/TestSignum-type_desc
.short namekeys'com/mindprod/example/TestSignum-type_desc
.short frsz'com/mindprod/example/TestSignum-type_desc
.short modf'com/mindprod/example/TestSignum-type_desc
.short npars'com/mindprod/example/TestSignum-type_desc
.short npars'com/mindprod/example/TestSignum-type_desc
.short retTD'com/mindprod/example/TestSignum-type_desc
.short 0
.short 0
.short 32
.short names'com/mindprod/example/TestSignum-type_desc
.short frsz'com/mindprod/example/TestSignum-type_desc
.short modf'com/mindprod/example/TestSignum-type_desc
.short npars'com/mindprod/example/TestSignum-type_desc
.short parTDs'com/mindprod/example/TestSignum-type_desc
.short retTD'com/mindprod/example/TestSignum-type_desc
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
.short 0
# -- consts


# glovars
..comm _4com_mindprod_example_TestSignum_cpuTimeToBeatInNanos, 8
..comm _4com_mindprod_example_TestSignum_overheadInNanos, 8
..comm _4com_mindprod_example_TestSignum_globalSum, 4
..comm _4com_mindprod_example_TestSignum_testSuiteValues, 4
..comm _4com_mindprod_example_TestSignum_suiteIterations, 4
..comm _4com_mindprod_example_TestSignum_html, 4
..comm _4com_mindprod_example_TestSignum_df2, 4
..comm _4com_mindprod_example_TestSignum_df0, 4
..comm _4com_mindprod_example_TestSignum_'cache_11, 8
# -- glovars
 
R

Roedy Green

Anyone who's ever programmed for a significant amount of time has
probably encountered a situation that they erroneously thought "could never
happen".

then the assert fires. Even if you turn them off the compiler should
be allowed to turn them on again if it would allow it to make
compensating optimistations downstream.

I know that is not quite how the JLS reads, but it could be redefined.
to have another state part way between enabled and disabled.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top