src/share/vm/opto/parse2.cpp

changeset 8415
d109bda16490
parent 8285
535618ab1c04
parent 8368
32b682649973
child 8604
04d83ba48607
child 8882
279a5dd96f9b
     1.1 --- a/src/share/vm/opto/parse2.cpp	Tue Mar 29 23:01:10 2016 +0100
     1.2 +++ b/src/share/vm/opto/parse2.cpp	Tue Apr 05 08:55:39 2016 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1998, 2016, 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 @@ -57,11 +57,15 @@
    1.11  
    1.12  //--------------------------------array_store----------------------------------
    1.13  void Parse::array_store(BasicType elem_type) {
    1.14 -  Node* adr = array_addressing(elem_type, 1);
    1.15 +  const Type* elem = Type::TOP;
    1.16 +  Node* adr = array_addressing(elem_type, 1, &elem);
    1.17    if (stopped())  return;     // guaranteed null or range check
    1.18    Node* val = pop();
    1.19    dec_sp(2);                  // Pop array and index
    1.20    const TypeAryPtr* adr_type = TypeAryPtr::get_array_body_type(elem_type);
    1.21 +  if (elem == TypeInt::BOOL) {
    1.22 +    elem_type = T_BOOLEAN;
    1.23 +  }
    1.24    store_to_memory(control(), adr, val, elem_type, adr_type, StoreNode::release_if_reference(elem_type));
    1.25  }
    1.26  

mercurial