< prev index next >

src/hotspot/share/asm/codeBuffer.hpp

Print this page
rev 58404 : 8241042: x86_64: Improve Assembler generation
Reviewed-by: vlivanov

*** 198,210 **** assert(allocates2(pc), "relocation addr must be in this section"); _locs_point = pc; } // Code emission ! void emit_int8 ( int8_t x) { *((int8_t*) end()) = x; set_end(end() + sizeof(int8_t)); } ! void emit_int16( int16_t x) { *((int16_t*) end()) = x; set_end(end() + sizeof(int16_t)); } ! void emit_int32( int32_t x) { *((int32_t*) end()) = x; set_end(end() + sizeof(int32_t)); } void emit_int64( int64_t x) { *((int64_t*) end()) = x; set_end(end() + sizeof(int64_t)); } void emit_float( jfloat x) { *((jfloat*) end()) = x; set_end(end() + sizeof(jfloat)); } void emit_double(jdouble x) { *((jdouble*) end()) = x; set_end(end() + sizeof(jdouble)); } void emit_address(address x) { *((address*) end()) = x; set_end(end() + sizeof(address)); } --- 198,239 ---- assert(allocates2(pc), "relocation addr must be in this section"); _locs_point = pc; } // Code emission ! void emit_int8(int8_t x1) { ! address curr = end(); ! *((int8_t*) curr++) = x1; ! set_end(curr); ! } ! ! void emit_int16(int16_t x) { *((int16_t*) end()) = x; set_end(end() + sizeof(int16_t)); } ! void emit_int16(int8_t x1, int8_t x2) { ! address curr = end(); ! *((int8_t*) curr++) = x1; ! *((int8_t*) curr++) = x2; ! set_end(curr); ! } ! ! void emit_int24(int8_t x1, int8_t x2, int8_t x3) { ! address curr = end(); ! *((int8_t*) curr++) = x1; ! *((int8_t*) curr++) = x2; ! *((int8_t*) curr++) = x3; ! set_end(curr); ! } ! ! void emit_int32(int32_t x) { *((int32_t*) end()) = x; set_end(end() + sizeof(int32_t)); } ! void emit_int32(int8_t x1, int8_t x2, int8_t x3, int8_t x4) { ! address curr = end(); ! *((int8_t*) curr++) = x1; ! *((int8_t*) curr++) = x2; ! *((int8_t*) curr++) = x3; ! *((int8_t*) curr++) = x4; ! set_end(curr); ! } ! void emit_int64( int64_t x) { *((int64_t*) end()) = x; set_end(end() + sizeof(int64_t)); } void emit_float( jfloat x) { *((jfloat*) end()) = x; set_end(end() + sizeof(jfloat)); } void emit_double(jdouble x) { *((jdouble*) end()) = x; set_end(end() + sizeof(jdouble)); } void emit_address(address x) { *((address*) end()) = x; set_end(end() + sizeof(address)); }
< prev index next >