mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-25 22:04:51 +02:00
7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI Remove assembly code for JDK 7 chained method handles Co-authored-by: John Rose <john.r.rose@oracle.com> Co-authored-by: Michael Haupt <michael.haupt@oracle.com> Reviewed-by: jrose, twisti, kvn, mhaupt
This commit is contained in:
parent
893817c28d
commit
12901d0e5b
181 changed files with 5760 additions and 14402 deletions
|
@ -358,43 +358,6 @@ void* SingletonBlob::operator new(size_t s, unsigned size) {
|
|||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Implementation of RicochetBlob
|
||||
|
||||
RicochetBlob::RicochetBlob(
|
||||
CodeBuffer* cb,
|
||||
int size,
|
||||
int bounce_offset,
|
||||
int exception_offset,
|
||||
int frame_size
|
||||
)
|
||||
: SingletonBlob("RicochetBlob", cb, sizeof(RicochetBlob), size, frame_size, (OopMapSet*) NULL)
|
||||
{
|
||||
_bounce_offset = bounce_offset;
|
||||
_exception_offset = exception_offset;
|
||||
}
|
||||
|
||||
|
||||
RicochetBlob* RicochetBlob::create(
|
||||
CodeBuffer* cb,
|
||||
int bounce_offset,
|
||||
int exception_offset,
|
||||
int frame_size)
|
||||
{
|
||||
RicochetBlob* blob = NULL;
|
||||
ThreadInVMfromUnknown __tiv; // get to VM state in case we block on CodeCache_lock
|
||||
{
|
||||
MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
|
||||
unsigned int size = allocation_size(cb, sizeof(RicochetBlob));
|
||||
blob = new (size) RicochetBlob(cb, size, bounce_offset, exception_offset, frame_size);
|
||||
}
|
||||
|
||||
trace_new_stub(blob, "RicochetBlob");
|
||||
|
||||
return blob;
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------
|
||||
// Implementation of DeoptimizationBlob
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue