The maximum size for a 32-bit process on Solaris (any 32-bit process, not just Java) is 4GB, which includes the program text, thread stacks, and various other things in addition to the JVM heap. So the maximum heap you can expect to allocate for the appserver is about 3500MB.

SJSAS 8.2 does not support a 64-bit JVM; SJSAS 9.1 is needed for that. However, it's very rare that a Java EE application actually needs that much memory, and the 64-bit JVM has a performance penalty vs. the standard JVM. So more heap is probably not going to make your app run any better.