Mercurial > hg > truffle
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; } |