comparison src/share/vm/code/codeBlob.hpp @ 2059:9508a52cbd32

Add deoptimization blob support.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Wed, 19 Jan 2011 15:48:15 +0100
parents f95d63e2154a
children 98fa88528319
comparison
equal deleted inserted replaced
2058:8f033d37798a 2059:9508a52cbd32
350 int _unpack_with_exception; 350 int _unpack_with_exception;
351 int _unpack_with_reexecution; 351 int _unpack_with_reexecution;
352 352
353 int _unpack_with_exception_in_tls; 353 int _unpack_with_exception_in_tls;
354 354
355 // (tw) Offset when C1X calls uncommon_trap.
356 int _uncommon_trap_offset;
357
358
355 // Creation support 359 // Creation support
356 DeoptimizationBlob( 360 DeoptimizationBlob(
357 CodeBuffer* cb, 361 CodeBuffer* cb,
358 int size, 362 int size,
359 OopMapSet* oop_maps, 363 OopMapSet* oop_maps,
405 void set_unpack_with_exception_in_tls_offset(int offset) { 409 void set_unpack_with_exception_in_tls_offset(int offset) {
406 _unpack_with_exception_in_tls = offset; 410 _unpack_with_exception_in_tls = offset;
407 assert(code_contains(code_begin() + _unpack_with_exception_in_tls), "must be PC inside codeblob"); 411 assert(code_contains(code_begin() + _unpack_with_exception_in_tls), "must be PC inside codeblob");
408 } 412 }
409 address unpack_with_exception_in_tls() const { return code_begin() + _unpack_with_exception_in_tls; } 413 address unpack_with_exception_in_tls() const { return code_begin() + _unpack_with_exception_in_tls; }
414
415 // (tw) Offset when C1X calls uncommon_trap.
416 void set_uncommon_trap_offset(int offset) {
417 _uncommon_trap_offset = offset;
418 assert(contains(code_begin() + _uncommon_trap_offset), "must be PC inside codeblob");
419 }
420 address uncommon_trap() const { return code_begin() + _uncommon_trap_offset; }
421
410 }; 422 };
411 423
412 424
413 //---------------------------------------------------------------------------------------------------- 425 //----------------------------------------------------------------------------------------------------
414 // UncommonTrapBlob (currently only used by Compiler 2) 426 // UncommonTrapBlob (currently only used by Compiler 2)