--- old/src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp 2019-02-13 17:02:36.999618641 -0800 +++ new/src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp 2019-02-13 17:02:36.783610485 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2019, 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 @@ -271,6 +271,20 @@ __ store_check(value, array, tmp1, tmp2, tmp3, store_check_info, profiled_method, profiled_bci); } +void LIRGenerator::flattened_array_store_check(LIR_Opr value, ciKlass* element_klass, CodeEmitInfo* store_check_info) { + LIR_Opr tmp1 = new_register(T_METADATA); + LIR_Opr tmp2 = LIR_OprFact::illegalOpr; + +#ifdef _LP64 + if (!UseCompressedClassPointers) { + tmp2 = new_register(T_METADATA); + __ metadata2reg(element_klass->constant_encoding(), tmp2); + } +#endif + + __ flattened_store_check(value, element_klass, tmp1, tmp2, store_check_info); +} + //---------------------------------------------------------------------- // visitor functions //----------------------------------------------------------------------