1.1 --- a/src/cpu/x86/vm/interpreterRT_x86_64.cpp Thu Jun 14 21:39:57 2018 +0000 1.2 +++ b/src/cpu/x86/vm/interpreterRT_x86_64.cpp Fri Jun 15 08:34:38 2018 -0700 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -346,8 +346,9 @@ 1.11 _from -= Interpreter::stackElementSize; 1.12 1.13 if (_num_args < Argument::n_float_register_parameters_c-1) { 1.14 + assert((_num_args*2) < BitsPerWord, "_num_args*2 is out of range"); 1.15 *_reg_args++ = from_obj; 1.16 - *_fp_identifiers |= (intptr_t)(0x01 << (_num_args*2)); // mark as float 1.17 + *_fp_identifiers |= ((intptr_t)0x01 << (_num_args*2)); // mark as float 1.18 _num_args++; 1.19 } else { 1.20 *_to++ = from_obj; 1.21 @@ -360,8 +361,9 @@ 1.22 _from -= 2*Interpreter::stackElementSize; 1.23 1.24 if (_num_args < Argument::n_float_register_parameters_c-1) { 1.25 + assert((_num_args*2) < BitsPerWord, "_num_args*2 is out of range"); 1.26 *_reg_args++ = from_obj; 1.27 - *_fp_identifiers |= (intptr_t)(0x3 << (_num_args*2)); // mark as double 1.28 + *_fp_identifiers |= ((intptr_t)0x3 << (_num_args*2)); // mark as double 1.29 _num_args++; 1.30 } else { 1.31 *_to++ = from_obj;