comparison src/share/vm/code/codeBlob.hpp @ 15104:ed29f7ff71eb

add DeoptimizationStub
author twisti
date Mon, 14 Apr 2014 17:21:49 -1000
parents 096c224171c4
children 33a783b15758
comparison
equal deleted inserted replaced
15103:9dc7efd43c44 15104:ed29f7ff71eb
356 int _unpack_with_reexecution; 356 int _unpack_with_reexecution;
357 357
358 int _unpack_with_exception_in_tls; 358 int _unpack_with_exception_in_tls;
359 359
360 #ifdef GRAAL 360 #ifdef GRAAL
361 // (thomaswue) Offset when Graal calls uncommon_trap.
362 int _uncommon_trap_offset;
363 int _implicit_exception_uncommon_trap_offset; 361 int _implicit_exception_uncommon_trap_offset;
364 #endif 362 #endif
365 363
366 // Creation support 364 // Creation support
367 DeoptimizationBlob( 365 DeoptimizationBlob(
415 assert(code_contains(code_begin() + _unpack_with_exception_in_tls), "must be PC inside codeblob"); 413 assert(code_contains(code_begin() + _unpack_with_exception_in_tls), "must be PC inside codeblob");
416 } 414 }
417 address unpack_with_exception_in_tls() const { return code_begin() + _unpack_with_exception_in_tls; } 415 address unpack_with_exception_in_tls() const { return code_begin() + _unpack_with_exception_in_tls; }
418 416
419 #ifdef GRAAL 417 #ifdef GRAAL
420 // (thomaswue) Offset when Graal calls uncommon_trap.
421 void set_uncommon_trap_offset(int offset) {
422 _uncommon_trap_offset = offset;
423 assert(contains(code_begin() + _uncommon_trap_offset), "must be PC inside codeblob");
424 }
425 address uncommon_trap() const { return code_begin() + _uncommon_trap_offset; }
426 void set_implicit_exception_uncommon_trap_offset(int offset) { 418 void set_implicit_exception_uncommon_trap_offset(int offset) {
427 _implicit_exception_uncommon_trap_offset = offset; 419 _implicit_exception_uncommon_trap_offset = offset;
428 assert(contains(code_begin() + _implicit_exception_uncommon_trap_offset), "must be PC inside codeblob"); 420 assert(contains(code_begin() + _implicit_exception_uncommon_trap_offset), "must be PC inside codeblob");
429 } 421 }
430 address implicit_exception_uncommon_trap() const { return code_begin() + _implicit_exception_uncommon_trap_offset; } 422 address implicit_exception_uncommon_trap() const { return code_begin() + _implicit_exception_uncommon_trap_offset; }