< prev index next >
src/hotspot/share/c1/c1_Canonicalizer.cpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 646,656 ****
void Canonicalizer::do_NewInstance (NewInstance* x) {}
void Canonicalizer::do_NewTypeArray (NewTypeArray* x) {}
void Canonicalizer::do_NewObjectArray (NewObjectArray* x) {}
void Canonicalizer::do_NewMultiArray (NewMultiArray* x) {}
void Canonicalizer::do_CheckCast (CheckCast* x) {
! if (x->klass()->is_loaded()) {
Value obj = x->obj();
ciType* klass = obj->exact_type();
if (klass == NULL) klass = obj->declared_type();
if (klass != NULL && klass->is_loaded() && klass->is_subtype_of(x->klass())) {
set_canonical(obj);
--- 646,656 ----
void Canonicalizer::do_NewInstance (NewInstance* x) {}
void Canonicalizer::do_NewTypeArray (NewTypeArray* x) {}
void Canonicalizer::do_NewObjectArray (NewObjectArray* x) {}
void Canonicalizer::do_NewMultiArray (NewMultiArray* x) {}
void Canonicalizer::do_CheckCast (CheckCast* x) {
! if (x->klass()->is_loaded() && !x->is_invokespecial_receiver_check()) {
Value obj = x->obj();
ciType* klass = obj->exact_type();
if (klass == NULL) klass = obj->declared_type();
if (klass != NULL && klass->is_loaded() && klass->is_subtype_of(x->klass())) {
set_canonical(obj);
< prev index next >