405 406 typedef jbyte s1; 407 typedef jshort s2; 408 typedef jint s4; 409 typedef jlong s8; 410 411 const jbyte min_jbyte = -(1 << 7); // smallest jbyte 412 const jbyte max_jbyte = (1 << 7) - 1; // largest jbyte 413 const jshort min_jshort = -(1 << 15); // smallest jshort 414 const jshort max_jshort = (1 << 15) - 1; // largest jshort 415 416 const jint min_jint = (jint)1 << (sizeof(jint)*BitsPerByte-1); // 0x80000000 == smallest jint 417 const jint max_jint = (juint)min_jint - 1; // 0x7FFFFFFF == largest jint 418 419 //---------------------------------------------------------------------------------------------------- 420 // JVM spec restrictions 421 422 const int max_method_code_size = 64*K - 1; // JVM spec, 2nd ed. section 4.8.1 (p.134) 423 424 //---------------------------------------------------------------------------------------------------- 425 // Default and minimum StringTableSize values 426 427 const int defaultStringTableSize = NOT_LP64(1024) LP64_ONLY(65536); 428 const int minimumStringTableSize = 128; 429 430 const int defaultSymbolTableSize = 20011; 431 const int minimumSymbolTableSize = 1009; 432 433 434 //---------------------------------------------------------------------------------------------------- 435 // HotSwap - for JVMTI aka Class File Replacement and PopFrame 436 // 437 // Determines whether on-the-fly class replacement and frame popping are enabled. 438 439 #define HOTSWAP 440 441 //---------------------------------------------------------------------------------------------------- 442 // Object alignment, in units of HeapWords. 443 // 444 // Minimum is max(BytesPerLong, BytesPerDouble, BytesPerOop) / HeapWordSize, so jlong, jdouble and 445 // reference fields can be naturally aligned. 446 447 extern int MinObjAlignment; 448 extern int MinObjAlignmentInBytes; 449 extern int MinObjAlignmentInBytesMask; 450 451 extern int LogMinObjAlignment; | 405 406 typedef jbyte s1; 407 typedef jshort s2; 408 typedef jint s4; 409 typedef jlong s8; 410 411 const jbyte min_jbyte = -(1 << 7); // smallest jbyte 412 const jbyte max_jbyte = (1 << 7) - 1; // largest jbyte 413 const jshort min_jshort = -(1 << 15); // smallest jshort 414 const jshort max_jshort = (1 << 15) - 1; // largest jshort 415 416 const jint min_jint = (jint)1 << (sizeof(jint)*BitsPerByte-1); // 0x80000000 == smallest jint 417 const jint max_jint = (juint)min_jint - 1; // 0x7FFFFFFF == largest jint 418 419 //---------------------------------------------------------------------------------------------------- 420 // JVM spec restrictions 421 422 const int max_method_code_size = 64*K - 1; // JVM spec, 2nd ed. section 4.8.1 (p.134) 423 424 //---------------------------------------------------------------------------------------------------- 425 // Default and minimum StringTable and SymbolTable size values 426 // Must be a power of 2 427 428 const int defaultStringTableSize = NOT_LP64(1024) LP64_ONLY(65536); 429 const int minimumStringTableSize = 128; 430 431 const int defaultSymbolTableSize = 32768; // 2^15 432 const int minimumSymbolTableSize = 1024; 433 434 435 //---------------------------------------------------------------------------------------------------- 436 // HotSwap - for JVMTI aka Class File Replacement and PopFrame 437 // 438 // Determines whether on-the-fly class replacement and frame popping are enabled. 439 440 #define HOTSWAP 441 442 //---------------------------------------------------------------------------------------------------- 443 // Object alignment, in units of HeapWords. 444 // 445 // Minimum is max(BytesPerLong, BytesPerDouble, BytesPerOop) / HeapWordSize, so jlong, jdouble and 446 // reference fields can be naturally aligned. 447 448 extern int MinObjAlignment; 449 extern int MinObjAlignmentInBytes; 450 extern int MinObjAlignmentInBytesMask; 451 452 extern int LogMinObjAlignment; |