提交 86113e48 编写于 作者: K kevinw

8197864: VS2017 (C4334) Result of 32-bit Shift Implicitly Converted to 64 bits

Summary: Correctly perform a 64 bit shift when setting SlowSignatureHandler::_fp_identifiers.
Reviewed-by: lfoltan, gtriantafill, hseigel
Contributed-by: kim.barrett@oracle.com, lois.foltan@oracle.com
上级 a0fc2c51
/* /*
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -346,8 +346,9 @@ class SlowSignatureHandler ...@@ -346,8 +346,9 @@ class SlowSignatureHandler
_from -= Interpreter::stackElementSize; _from -= Interpreter::stackElementSize;
if (_num_args < Argument::n_float_register_parameters_c-1) { if (_num_args < Argument::n_float_register_parameters_c-1) {
assert((_num_args*2) < BitsPerWord, "_num_args*2 is out of range");
*_reg_args++ = from_obj; *_reg_args++ = from_obj;
*_fp_identifiers |= (intptr_t)(0x01 << (_num_args*2)); // mark as float *_fp_identifiers |= ((intptr_t)0x01 << (_num_args*2)); // mark as float
_num_args++; _num_args++;
} else { } else {
*_to++ = from_obj; *_to++ = from_obj;
...@@ -360,8 +361,9 @@ class SlowSignatureHandler ...@@ -360,8 +361,9 @@ class SlowSignatureHandler
_from -= 2*Interpreter::stackElementSize; _from -= 2*Interpreter::stackElementSize;
if (_num_args < Argument::n_float_register_parameters_c-1) { if (_num_args < Argument::n_float_register_parameters_c-1) {
assert((_num_args*2) < BitsPerWord, "_num_args*2 is out of range");
*_reg_args++ = from_obj; *_reg_args++ = from_obj;
*_fp_identifiers |= (intptr_t)(0x3 << (_num_args*2)); // mark as double *_fp_identifiers |= ((intptr_t)0x3 << (_num_args*2)); // mark as double
_num_args++; _num_args++;
} else { } else {
*_to++ = from_obj; *_to++ = from_obj;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册