src/cpu/x86/vm/interpreterRT_x86_64.cpp

changeset 9331
21681548b712
parent 4037
da91efe96a93
child 9448
73d689add964
     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;

mercurial