< prev index next >

src/share/vm/oops/oop.inline.hpp

Print this page
rev 10624 : [backport] Allocation path should not touch GC barriers for metadata


 365   *p->bool_field_addr(offset) =  (( (jint) contents) & 1);
 366 }
 367 
 368 inline jchar oopDesc::char_field(int offset) const                  {
 369   oop p = bs()->read_barrier((oop) this);
 370   return (jchar) *p->char_field_addr(offset);
 371 }
 372 inline void oopDesc::char_field_put(int offset, jchar contents)     {
 373   oop p = bs()->write_barrier(this);
 374   *p->char_field_addr(offset) = (jint) contents;
 375 }
 376 
 377 inline jint oopDesc::int_field(int offset) const                    {
 378   oop p = bs()->read_barrier((oop) this);
 379   return *p->int_field_addr(offset);
 380 }
 381 inline void oopDesc::int_field_put(int offset, jint contents)       {
 382   oop p = bs()->write_barrier(this);
 383   *p->int_field_addr(offset) = contents;
 384 }



 385 
 386 inline jshort oopDesc::short_field(int offset) const                {
 387   oop p = bs()->read_barrier((oop) this);
 388   return (jshort) *p->short_field_addr(offset);
 389 }
 390 inline void oopDesc::short_field_put(int offset, jshort contents)   {
 391   oop p = bs()->write_barrier(this);
 392   *p->short_field_addr(offset) = (jint) contents;
 393 }
 394 
 395 inline jlong oopDesc::long_field(int offset) const                  {
 396   oop p = bs()->read_barrier((oop) this);
 397   return *p->long_field_addr(offset);
 398 }
 399 inline void oopDesc::long_field_put(int offset, jlong contents)     {
 400   oop p = bs()->write_barrier(this);
 401   *p->long_field_addr(offset) = contents;
 402 }
 403 
 404 inline jfloat oopDesc::float_field(int offset) const                {




 365   *p->bool_field_addr(offset) =  (( (jint) contents) & 1);
 366 }
 367 
 368 inline jchar oopDesc::char_field(int offset) const                  {
 369   oop p = bs()->read_barrier((oop) this);
 370   return (jchar) *p->char_field_addr(offset);
 371 }
 372 inline void oopDesc::char_field_put(int offset, jchar contents)     {
 373   oop p = bs()->write_barrier(this);
 374   *p->char_field_addr(offset) = (jint) contents;
 375 }
 376 
 377 inline jint oopDesc::int_field(int offset) const                    {
 378   oop p = bs()->read_barrier((oop) this);
 379   return *p->int_field_addr(offset);
 380 }
 381 inline void oopDesc::int_field_put(int offset, jint contents)       {
 382   oop p = bs()->write_barrier(this);
 383   *p->int_field_addr(offset) = contents;
 384 }
 385 inline void oopDesc::int_field_put_raw(int offset, jint contents)   {
 386   *int_field_addr(offset) = contents;
 387 }
 388 
 389 inline jshort oopDesc::short_field(int offset) const                {
 390   oop p = bs()->read_barrier((oop) this);
 391   return (jshort) *p->short_field_addr(offset);
 392 }
 393 inline void oopDesc::short_field_put(int offset, jshort contents)   {
 394   oop p = bs()->write_barrier(this);
 395   *p->short_field_addr(offset) = (jint) contents;
 396 }
 397 
 398 inline jlong oopDesc::long_field(int offset) const                  {
 399   oop p = bs()->read_barrier((oop) this);
 400   return *p->long_field_addr(offset);
 401 }
 402 inline void oopDesc::long_field_put(int offset, jlong contents)     {
 403   oop p = bs()->write_barrier(this);
 404   *p->long_field_addr(offset) = contents;
 405 }
 406 
 407 inline jfloat oopDesc::float_field(int offset) const                {


< prev index next >