Merge jdk8u60-b18

Thu, 28 May 2015 16:48:53 -0700

author
lana
date
Thu, 28 May 2015 16:48:53 -0700
changeset 942
cf83b578af19
parent 939
9b0015d45aa3
parent 941
0ff2c95e4242
child 943
eb0caffe34c6
child 945
abea92b048d6

Merge

     1.1 --- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java	Wed May 27 13:20:52 2015 -0700
     1.2 +++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java	Thu May 28 16:48:53 2015 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1998, 2015, 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 @@ -1768,43 +1768,59 @@
    1.11              switch (field.getTypeCode()) {
    1.12                  case 'B':
    1.13                      byte byteValue = orbStream.read_octet();
    1.14 -                    bridge.putByte( o, field.getFieldID(), byteValue ) ;
    1.15 -                    //reflective code: field.getField().setByte( o, byteValue ) ;
    1.16 +                    if (field.getField() != null) {
    1.17 +                        bridge.putByte( o, field.getFieldID(), byteValue ) ;
    1.18 +                        //reflective code: field.getField().setByte( o, byteValue ) ;
    1.19 +                    }
    1.20                      break;
    1.21                  case 'Z':
    1.22                      boolean booleanValue = orbStream.read_boolean();
    1.23 -                    bridge.putBoolean( o, field.getFieldID(), booleanValue ) ;
    1.24 -                    //reflective code: field.getField().setBoolean( o, booleanValue ) ;
    1.25 +                    if (field.getField() != null) {
    1.26 +                        bridge.putBoolean( o, field.getFieldID(), booleanValue ) ;
    1.27 +                        //reflective code: field.getField().setBoolean( o, booleanValue ) ;
    1.28 +                    }
    1.29                      break;
    1.30                  case 'C':
    1.31                      char charValue = orbStream.read_wchar();
    1.32 -                    bridge.putChar( o, field.getFieldID(), charValue ) ;
    1.33 -                    //reflective code: field.getField().setChar( o, charValue ) ;
    1.34 +                    if (field.getField() != null) {
    1.35 +                        bridge.putChar( o, field.getFieldID(), charValue ) ;
    1.36 +                        //reflective code: field.getField().setChar( o, charValue ) ;
    1.37 +                    }
    1.38                      break;
    1.39                  case 'S':
    1.40                      short shortValue = orbStream.read_short();
    1.41 -                    bridge.putShort( o, field.getFieldID(), shortValue ) ;
    1.42 -                    //reflective code: field.getField().setShort( o, shortValue ) ;
    1.43 +                    if (field.getField() != null) {
    1.44 +                        bridge.putShort( o, field.getFieldID(), shortValue ) ;
    1.45 +                        //reflective code: field.getField().setShort( o, shortValue ) ;
    1.46 +                    }
    1.47                      break;
    1.48                  case 'I':
    1.49                      int intValue = orbStream.read_long();
    1.50 -                    bridge.putInt( o, field.getFieldID(), intValue ) ;
    1.51 -                    //reflective code: field.getField().setInt( o, intValue ) ;
    1.52 +                    if (field.getField() != null) {
    1.53 +                        bridge.putInt( o, field.getFieldID(), intValue ) ;
    1.54 +                        //reflective code: field.getField().setInt( o, intValue ) ;
    1.55 +                    }
    1.56                      break;
    1.57                  case 'J':
    1.58                      long longValue = orbStream.read_longlong();
    1.59 -                    bridge.putLong( o, field.getFieldID(), longValue ) ;
    1.60 -                    //reflective code: field.getField().setLong( o, longValue ) ;
    1.61 +                    if (field.getField() != null) {
    1.62 +                        bridge.putLong( o, field.getFieldID(), longValue ) ;
    1.63 +                        //reflective code: field.getField().setLong( o, longValue ) ;
    1.64 +                    }
    1.65                      break;
    1.66                  case 'F' :
    1.67                      float floatValue = orbStream.read_float();
    1.68 -                    bridge.putFloat( o, field.getFieldID(), floatValue ) ;
    1.69 -                    //reflective code: field.getField().setFloat( o, floatValue ) ;
    1.70 +                    if (field.getField() != null) {
    1.71 +                        bridge.putFloat( o, field.getFieldID(), floatValue ) ;
    1.72 +                        //reflective code: field.getField().setFloat( o, floatValue ) ;
    1.73 +                    }
    1.74                      break;
    1.75                  case 'D' :
    1.76                      double doubleValue = orbStream.read_double();
    1.77 -                    bridge.putDouble( o, field.getFieldID(), doubleValue ) ;
    1.78 -                    //reflective code: field.getField().setDouble( o, doubleValue ) ;
    1.79 +                    if (field.getField() != null) {
    1.80 +                        bridge.putDouble( o, field.getFieldID(), doubleValue ) ;
    1.81 +                        //reflective code: field.getField().setDouble( o, doubleValue ) ;
    1.82 +                    }
    1.83                      break;
    1.84                  default:
    1.85                      // XXX I18N, logging needed.
    1.86 @@ -2217,9 +2233,6 @@
    1.87  
    1.88          if (o != null) {
    1.89              for (int i = 0; i < primFields; ++i) {
    1.90 -                if (fields[i].getField() == null)
    1.91 -                    continue;
    1.92 -
    1.93                  inputPrimitiveField(o, cl, fields[i]);
    1.94              }
    1.95          }
     2.1 --- a/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	Wed May 27 13:20:52 2015 -0700
     2.2 +++ b/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	Thu May 28 16:48:53 2015 -0700
     2.3 @@ -1,5 +1,5 @@
     2.4  /*
     2.5 - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
     2.6 + * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
     2.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     2.8   *
     2.9   * This code is free software; you can redistribute it and/or modify it
    2.10 @@ -32,6 +32,7 @@
    2.11  package com.sun.corba.se.impl.io;
    2.12  
    2.13  import java.io.IOException;
    2.14 +import java.io.NotActiveException;
    2.15  import java.io.OutputStream;
    2.16  import java.io.ObjectOutputStream;
    2.17  import java.io.ObjectOutput;
    2.18 @@ -154,7 +155,9 @@
    2.19  
    2.20      public ObjectOutputStream.PutField putFields()
    2.21          throws IOException {
    2.22 -        putFields = new HookPutFields();
    2.23 +        if (putFields == null) {
    2.24 +            putFields = new HookPutFields();
    2.25 +        }
    2.26          return putFields;
    2.27      }
    2.28  
    2.29 @@ -175,8 +178,11 @@
    2.30          throws IOException {
    2.31  
    2.32          writeObjectState.defaultWriteObject(this);
    2.33 -
    2.34 -        putFields.write(this);
    2.35 +        if (putFields != null) {
    2.36 +            putFields.write(this);
    2.37 +        } else {
    2.38 +            throw new NotActiveException("no current PutField object");
    2.39 +        }
    2.40      }
    2.41  
    2.42      abstract org.omg.CORBA_2_3.portable.OutputStream getOrbStream();

mercurial