changeset 49659:1d1ecade0126

Merge
author prr
date Thu, 08 Mar 2018 10:18:28 -0800
parents 96bebffe0be1 2478f56cf409
children f942a873a53e
files make/data/x11wrappergen/functions.txt make/data/x11wrappergen/sizes.32 make/data/x11wrappergen/sizes.64 make/data/x11wrappergen/sizes.64-solaris-i386 src/java.base/share/classes/javax/security/auth/Policy.java src/java.base/share/classes/sun/security/provider/AuthPolicyFile.java test/jdk/sanity/releaseFile/NegativeSOURCETest.java
diffstat 123 files changed, 6731 insertions(+), 6686 deletions(-) [+]
line wrap: on
line diff
--- a/make/InitSupport.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/InitSupport.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -435,7 +435,7 @@
   define PrepareCompareBuild
 	$(ECHO) "Preparing for comparison rebuild"
         # Apply patch, if any
-	$(if $(COMPARE_BUILD_PATCH), $(PATCH) -p1 < $(COMPARE_BUILD_PATCH))
+	$(if $(COMPARE_BUILD_PATCH), cd $(topdir) && $(PATCH) -p1 < $(COMPARE_BUILD_PATCH))
         # Move the first build away temporarily
 	$(RM) -r $(topdir)/build/.compare-build-temp
 	$(MKDIR) -p $(topdir)/build/.compare-build-temp
@@ -455,7 +455,7 @@
   # Cleanup after a compare build
   define CleanupCompareBuild
         # If running with a COMPARE_BUILD patch, reverse-apply it
-	$(if $(COMPARE_BUILD_PATCH), $(PATCH) -R -p1 < $(COMPARE_BUILD_PATCH))
+	$(if $(COMPARE_BUILD_PATCH), cd $(topdir) && $(PATCH) -R -p1 < $(COMPARE_BUILD_PATCH))
         # Move this build away and restore the original build
 	$(MKDIR) -p $(topdir)/build/compare-build
 	$(MV) $(OUTPUTDIR) $(COMPARE_BUILD_OUTPUTDIR)
--- a/make/Main.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/Main.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -399,10 +399,13 @@
 update-build-docs:
 	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f UpdateBuildDocs.gmk)
 
+update-x11wrappers:
+	+($(CD) $(TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f UpdateX11Wrappers.gmk)
+
 ALL_TARGETS += docs-jdk-api-javadoc docs-jdk-api-modulegraph \
     docs-javase-api-javadoc docs-javase-api-modulegraph \
     docs-reference-api-javadoc docs-reference-api-modulegraph docs-jdk-specs \
-    docs-jdk-index docs-zip update-build-docs
+    docs-jdk-index docs-zip update-build-docs update-x11wrappers
 
 ################################################################################
 # Cross compilation support
@@ -724,9 +727,9 @@
 
   # If not already set, set the JVM target so that the JVM will be built.
   JVM_MAIN_TARGETS ?= hotspot
-   
+
   # Building java.base-jmod requires all of VM (ie hotspot) to be built.
-  java.base-jmod: $(JVM_MAIN_TARGETS) 
+  java.base-jmod: $(JVM_MAIN_TARGETS)
 
   # Declare dependencies from <module>-jmod to all other module targets
   # When creating a BUILDJDK, the java compilation has already been done by the
@@ -830,7 +833,7 @@
 
   # If not already set, then set the JVM specific docs targets
   JVM_DOCS_TARGETS ?= hotspot-$(JVM_VARIANT_MAIN)-gensrc
-  
+
   # The gensrc steps for hotspot and jdk.jdi create html spec files.
   docs-jdk-specs: $(JVM_DOCS_TARGETS) jdk.jdi-gensrc \
       docs-jdk-index
@@ -894,6 +897,8 @@
 
   generate-summary: jmods buildtools-modules
 
+  update-x11wrappers: java.base-copy buildtools-jdk
+
 endif
 
 ################################################################################
--- a/make/RunTests.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/RunTests.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -60,6 +60,18 @@
   endif
 endef
 
+# Setup _NT_SYMBOL_PATH on Windows
+ifeq ($(OPENJDK_TARGET_OS), windows)
+  ifndef _NT_SYMBOL_PATH
+    # Can't use PathList here as it adds quotes around the value.
+    _NT_SYMBOL_PATH := \
+        $(subst $(SPACE),;, $(foreach p, $(sort $(dir $(wildcard \
+        $(addprefix $(SYMBOLS_IMAGE_DIR)/bin/, *.pdb */*.pdb)))), $(call FixPath, $p)))
+    export _NT_SYMBOL_PATH
+    $(info _NT_SYMBOL_PATH $(_NT_SYMBOL_PATH))
+  endif
+endif
+
 ################################################################################
 # Hook to include the corresponding custom file, if present.
 $(eval $(call IncludeCustomExtension, RunTests.gmk))
@@ -496,6 +508,11 @@
   $1_JTREG_BASIC_OPTIONS += -e:JIB_DATA_DIR
   # Some tests needs to find a boot JDK using the JDK8_HOME variable.
   $1_JTREG_BASIC_OPTIONS += -e:JDK8_HOME=$$(BOOT_JDK)
+  # If running on Windows, propagate the _NT_SYMBOL_PATH to enable
+  # symbol lookup in hserr files
+  ifeq ($$(OPENJDK_TARGET_OS), windows)
+    $1_JTREG_BASIC_OPTIONS += -e:_NT_SYMBOL_PATH
+  endif
 
   $1_JTREG_BASIC_OPTIONS += \
       $$(addprefix -javaoption:, $$(JTREG_JAVA_OPTIONS)) \
--- a/make/RunTestsPrebuilt.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/RunTestsPrebuilt.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -113,6 +113,7 @@
 # These can have default values based on the ones above
 $(eval $(call SetupVariable,JDK_IMAGE_DIR,$(OUTPUTDIR)/images/jdk))
 $(eval $(call SetupVariable,TEST_IMAGE_DIR,$(OUTPUTDIR)/images/test))
+$(eval $(call SetupVariable,SYMBOLS_IMAGE_DIR,$(OUTPUTDIR)/images/symbols))
 
 # Provide default values for tools that we need
 $(eval $(call SetupVariable,MAKE,make,NO_CHECK))
@@ -245,6 +246,7 @@
     JT_HOME := $(JT_HOME), \
     JDK_IMAGE_DIR := $(JDK_IMAGE_DIR), \
     TEST_IMAGE_DIR := $(TEST_IMAGE_DIR), \
+    SYMBOLS_IMAGE_DIR := $(SYMBOLS_IMAGE_DIR), \
     MAKE := $(MAKE), \
     BASH := $(BASH), \
     JIB_JAR := $(JIB_JAR), \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/UpdateX11Wrappers.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -0,0 +1,101 @@
+#
+# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+################################################################################
+
+default: all
+
+include $(SPEC)
+include MakeBase.gmk
+include NativeCompilation.gmk
+include ToolsJdk.gmk
+
+################################################################################
+# This file is responsible for extracting the x11 native struct offsets to
+# the xawt Java library. The tool needs to be run on the os/arch that
+# will host the final jvm, thus the tool cannot be used when cross compiling.
+#
+# Two versions of the generated offset file, sizes-32.txt and sizes-64.txt are
+# committed into the source code repository. These are the ones used in
+# GensrcX11Wrappers.gmk to generate the Java code during the build.
+################################################################################
+
+ifeq ($(COMPILE_TYPE), cross)
+  $(error It is not possible to update the x11wrappers when cross-compiling)
+endif
+
+X11WRAPPERS_OUTPUT := $(SUPPORT_OUTPUTDIR)/x11wrappers
+
+GENSRC_X11WRAPPERS_DATADIR := $(TOPDIR)/make/data/x11wrappergen
+
+BITS := $(OPENJDK_TARGET_CPU_BITS)
+
+# Generate the C code for the program that will output the offset file.
+$(X11WRAPPERS_OUTPUT)/src/data_generator.c: $(GENSRC_X11WRAPPERS_DATADIR)/xlibtypes.txt $(BUILD_TOOLS_JDK)
+	$(call LogInfo, Generating X11 wrapper data generator source code)
+	$(call MakeDir, $(@D))
+	$(call ExecuteWithLog, $@, \
+	    $(TOOL_WRAPPERGENERATOR) gen_c_source $@ $(GENSRC_X11WRAPPERS_DATADIR)/xlibtypes.txt $(BITS))
+
+DATA_GENERATOR_INCLUDES := \
+    -I$(TOPDIR)/src/hotspot/share/include \
+    -I$(TOPDIR)/src/hotspot/os/$(HOTSPOT_TARGET_OS_TYPE)/include \
+    -I$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
+    -I$(SUPPORT_OUTPUTDIR)/modules_include/java.base/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
+    -I$(TOPDIR)/src/java.base/share/native/libjava \
+    -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
+    -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
+    -I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
+    -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
+    #
+
+# Compile the generated C code into an executable.
+$(eval $(call SetupNativeCompilation, BUILD_DATA_GENERATOR, \
+    PROGRAM := data_generator, \
+    OUTPUT_DIR := $(X11WRAPPERS_OUTPUT)/bin, \
+    EXTRA_FILES := $(X11WRAPPERS_OUTPUT)/src/data_generator.c, \
+    CFLAGS := $(X_CFLAGS) $(DATA_GENERATOR_INCLUDES) $(CFLAGS_JDKEXE), \
+    LDFLAGS := $(LDFLAGS_JDKEXE), \
+    LIBS := $(X_LIBS) -lc, \
+    OBJECT_DIR := $(X11WRAPPERS_OUTPUT)/objs, \
+))
+
+# Run the executable to create the data file.
+$(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(BITS).txt: $(BUILD_DATA_GENERATOR_TARGET)
+	$(call LogInfo, Generating X11 wrapper data files)
+	$(call MakeDir, $(@D))
+	$(call ExecuteWithLog, $(X11WRAPPERS_OUTPUT)/generation, \
+	    $(BUILD_DATA_GENERATOR_TARGET) | $(SORT) > $@)
+	$(ECHO) IMPORTANT: If you update the X11 wrapper data files, they most certainly
+	$(ECHO) need to be updated for both 32 and 64 bit platforms. You have now
+	$(ECHO) updated them for $(BITS) bit platforms only.
+
+TARGETS += $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(BITS).txt
+
+################################################################################
+
+all: $(TARGETS)
+
+.PHONY: all default
--- a/make/autoconf/flags-cflags.m4	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/autoconf/flags-cflags.m4	Thu Mar 08 10:18:28 2018 -0800
@@ -108,29 +108,19 @@
 [
   # Debug symbols
   if test "x$TOOLCHAIN_TYPE" = xgcc; then
-    if test "x$OPENJDK_TARGET_CPU_BITS" = "x64" && test "x$DEBUG_LEVEL" = "xfastdebug"; then
-      CFLAGS_DEBUG_SYMBOLS="-g1"
-    else
-      CFLAGS_DEBUG_SYMBOLS="-g"
-    fi
+    CFLAGS_DEBUG_SYMBOLS="-g"
   elif test "x$TOOLCHAIN_TYPE" = xclang; then
     CFLAGS_DEBUG_SYMBOLS="-g"
   elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then
-    CFLAGS_DEBUG_SYMBOLS="-g -xs"
     # -g0 enables debug symbols without disabling inlining.
-    CXXFLAGS_DEBUG_SYMBOLS="-g0 -xs"
+    CFLAGS_DEBUG_SYMBOLS="-g0 -xs"
   elif test "x$TOOLCHAIN_TYPE" = xxlc; then
     CFLAGS_DEBUG_SYMBOLS="-g"
   elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
     CFLAGS_DEBUG_SYMBOLS="-Zi"
   fi
 
-  if test "x$CXXFLAGS_DEBUG_SYMBOLS" = x; then
-    # If we did not specify special flags for C++, use C version
-    CXXFLAGS_DEBUG_SYMBOLS="$CFLAGS_DEBUG_SYMBOLS"
-  fi
   AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
-  AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
 
   # FIXME: This was never used in the old build. What to do with it?
   if test "x$TOOLCHAIN_TYPE" = xgcc; then
@@ -143,13 +133,7 @@
 
   # Debug symbols for JVM_CFLAGS
   if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
-    JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -xs"
-    if test "x$DEBUG_LEVEL" = xslowdebug; then
-      JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -g"
-    else
-      # -g0 does not disable inlining, which -g does.
-      JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -g0"
-    fi
+    JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -g0 -xs"
   elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
     JVM_CFLAGS_SYMBOLS="$JVM_CFLAGS_SYMBOLS -Z7 -d2Zi+"
   else
@@ -496,7 +480,6 @@
   if test "x$DEBUG_LEVEL" != xrelease; then
     DEBUG_OPTIONS_FLAGS_JDK="$CFLAGS_DEBUG_OPTIONS"
     DEBUG_SYMBOLS_CFLAGS_JDK="$CFLAGS_DEBUG_SYMBOLS"
-    DEBUG_SYMBOLS_CXXFLAGS_JDK="$CXXFLAGS_DEBUG_SYMBOLS"
   fi
 
   #### TOOLCHAIN DEFINES
@@ -556,6 +539,12 @@
     TOOLCHAIN_CFLAGS_JDK_CXXONLY="-features=no%except -norunpath -xnolib" # CXX only
     TOOLCHAIN_CFLAGS_JVM="-template=no%extdef -features=no%split_init \
         -library=stlport4 -mt -features=no%except"
+    if test "x$DEBUG_LEVEL" = xslowdebug; then
+      # Previously -g was used instead of -g0 for slowdebug; this is equivalent
+      # to setting +d.
+      TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM +d"
+    fi
+
   elif test "x$TOOLCHAIN_TYPE" = xxlc; then
     TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt"  # add on both CFLAGS
     TOOLCHAIN_CFLAGS_JVM="-qtune=balanced \
@@ -825,16 +814,16 @@
 
   CFLAGS_JDK_COMMON="$ALWAYS_CFLAGS_JDK $ALWAYS_DEFINES_JDK $TOOLCHAIN_CFLAGS_JDK \
       $OS_CFLAGS $CFLAGS_OS_DEF_JDK $DEBUG_CFLAGS_JDK $DEBUG_OPTIONS_FLAGS_JDK \
-      $WARNING_CFLAGS $WARNING_CFLAGS_JDK"
+      $WARNING_CFLAGS $WARNING_CFLAGS_JDK $DEBUG_SYMBOLS_CFLAGS_JDK"
 
   # Use ${$2EXTRA_CFLAGS} to block EXTRA_CFLAGS to be added to build flags.
   # (Currently we don't have any OPENJDK_BUILD_EXTRA_CFLAGS, but that might
   # change in the future.)
 
-  CFLAGS_JDK_COMMON_CONLY="$TOOLCHAIN_CFLAGS_JDK_CONLY $DEBUG_SYMBOLS_CFLAGS_JDK \
+  CFLAGS_JDK_COMMON_CONLY="$TOOLCHAIN_CFLAGS_JDK_CONLY  \
       $WARNING_CFLAGS_JDK_CONLY ${$2EXTRA_CFLAGS}"
   CFLAGS_JDK_COMMON_CXXONLY="$ALWAYS_DEFINES_JDK_CXXONLY $TOOLCHAIN_CFLAGS_JDK_CXXONLY \
-      $DEBUG_SYMBOLS_CXXFLAGS_JDK $WARNING_CFLAGS_JDK_CXXONLY ${$2EXTRA_CXXFLAGS}"
+      $WARNING_CFLAGS_JDK_CXXONLY ${$2EXTRA_CXXFLAGS}"
 
   $1_CFLAGS_JVM="${$1_DEFINES_CPU_JVM} ${$1_CFLAGS_CPU} ${$1_CFLAGS_CPU_JVM} ${$1_TOOLCHAIN_CFLAGS} ${$1_WARNING_CFLAGS_JVM}"
   $1_CFLAGS_JDK="${$1_DEFINES_CPU_JDK} ${$1_CFLAGS_CPU} ${$1_CFLAGS_CPU_JDK} ${$1_TOOLCHAIN_CFLAGS}"
--- a/make/autoconf/flags.m4	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/autoconf/flags.m4	Thu Mar 08 10:18:28 2018 -0800
@@ -236,7 +236,10 @@
   if test "x$TOOLCHAIN_TYPE" = xxlc; then
     MACHINE_FLAG="-q${OPENJDK_TARGET_CPU_BITS}"
   elif test "x$TOOLCHAIN_TYPE" != xmicrosoft; then
-    MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
+    if test "x$OPENJDK_TARGET_CPU" != xaarch64 &&
+        test "x$OPENJDK_TARGET_CPU" != xarm; then
+      MACHINE_FLAG="-m${OPENJDK_TARGET_CPU_BITS}"
+    fi
   fi
 
   # FIXME: global flags are not used yet...
--- a/make/autoconf/spec.gmk.in	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/autoconf/spec.gmk.in	Thu Mar 08 10:18:28 2018 -0800
@@ -532,7 +532,6 @@
 ZIP_EXTERNAL_DEBUG_SYMBOLS := @ZIP_EXTERNAL_DEBUG_SYMBOLS@
 
 CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@
-CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@
 
 #
 # Compress (or not) jars
--- a/make/common/NativeCompilation.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/common/NativeCompilation.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -150,7 +150,7 @@
 define replace_with_obj_extension
 $(strip \
   $(foreach extension, $(NATIVE_SOURCE_EXTENSIONS), \
-      $(patsubst $(extension),%$(OBJ_SUFFIX),$(filter $(extension),$1))) \
+      $(patsubst $(extension),%$(OBJ_SUFFIX), $(filter $(extension), $1))) \
 )
 endef
 
@@ -183,150 +183,167 @@
     -e 's/$$$$/ :/' \
     #
 
-define add_native_source
-  # param 1 = BUILD_MYPACKAGE
-  # parma 2 = the source file name (..../alfa.c or .../beta.cpp)
-  # param 3 = the bin dir that stores all .o (.obj) and .d files.
-  # param 4 = the c flags to the compiler
-  # param 5 = the c compiler
-  # param 6 = the c++ flags to the compiler
-  # param 7 = the c++ compiler
-  # param 8 = the flags to the assembler
-  # param 9 = set to disable THIS_FILE
+################################################################################
+# Create the recipe needed to compile a single native source file.
+#
+# Parameter 1 is the name of the rule, based on the name of the library/
+# program being build and the name of the source code file, e.g.
+# BUILD_LIBFOO_fooMain.cpp.
+#
+# Remaining parameters are named arguments:
+#   FILE - The full path of the source file to compiler
+#   BASE - The name of the rule for the entire binary to build ($1)
+#   DISABLE_THIS_FILE_DEFINE - Set to true to disable the THIS_FILE define.
+#
+SetupCompileNativeFile = $(NamedParamsMacroTemplate)
+define SetupCompileNativeFileBody
+  $1_FILENAME := $$(notdir $$($1_FILE))
 
-  ifeq ($9, )
-    $1_$2_THIS_FILE = -DTHIS_FILE='"$$(<F)"'
-  endif
+  # The target file to be generated.
+  $1_OBJ := $$($$($1_BASE)_OBJECT_DIR)/$$(call replace_with_obj_extension, \
+      $$($1_FILENAME))
 
-  ifeq ($$($1_$(notdir $2)_OPTIMIZATION), )
-    $1_$(notdir $2)_OPT_CFLAGS := $$($1_OPT_CFLAGS)
-    $1_$(notdir $2)_OPT_CXXFLAGS := $$($1_OPT_CXXFLAGS)
-  else
-    ifeq (NONE, $$($1_$(notdir $2)_OPTIMIZATION))
-      $1_$(notdir $2)_OPT_CFLAGS := $(C_O_FLAG_NONE)
-      $1_$(notdir $2)_OPT_CXXFLAGS := $(CXX_O_FLAG_NONE)
-    else ifeq (LOW, $$($1_$(notdir $2)_OPTIMIZATION))
-      $1_$(notdir $2)_OPT_CFLAGS := $(C_O_FLAG_NORM)
-      $1_$(notdir $2)_OPT_CXXFLAGS := $(CXX_O_FLAG_NORM)
-    else ifeq (HIGH, $$($1_$(notdir $2)_OPTIMIZATION))
-      $1_$(notdir $2)_OPT_CFLAGS := $(C_O_FLAG_HI)
-      $1_$(notdir $2)_OPT_CXXFLAGS := $(CXX_O_FLAG_HI)
-    else ifeq (HIGHEST, $$($1_$(notdir $2)_OPTIMIZATION))
-      $1_$(notdir $2)_OPT_CFLAGS := $(C_O_FLAG_HIGHEST)
-      $1_$(notdir $2)_OPT_CXXFLAGS := $(CXX_O_FLAG_HIGHEST)
-    else ifeq (HIGHEST_JVM, $$($1_$(notdir $2)_OPTIMIZATION))
-      $1_$(notdir $2)_OPT_CFLAGS := $(C_O_FLAG_HIGHEST_JVM)
-      $1_$(notdir $2)_OPT_CXXFLAGS := $(CXX_O_FLAG_HIGHEST_JVM)
-    else ifeq (SIZE, $$($1_$(notdir $2)_OPTIMIZATION))
-      $1_$(notdir $2)_OPT_CFLAGS := $(C_O_FLAG_SIZE)
-      $1_$(notdir $2)_OPT_CXXFLAGS := $(CXX_O_FLAG_SIZE)
+  # Only continue if this object file hasn't been processed already. This lets
+  # the first found source file override any other with the same name.
+  ifeq ($$(findstring $$($1_OBJ), $$($$($1_BASE)_OBJS_SO_FAR)), )
+    $$($1_BASE)_OBJS_SO_FAR += $$($1_OBJ)
+    # This is the definite source file to use for $1_FILENAME.
+    $1_SRC_FILE := $$($1_FILE)
+
+    ifneq ($$($1_DISABLE_THIS_FILE_DEFINE), true)
+      $1_THIS_FILE = -DTHIS_FILE='"$$(<F)"'
+    endif
+
+    ifeq ($$($1_OPTIMIZATION), )
+      $1_OPT_CFLAGS := $$($$($1_BASE)_OPT_CFLAGS)
+      $1_OPT_CXXFLAGS := $$($$($1_BASE)_OPT_CXXFLAGS)
     else
-      $$(error Unknown value for OPTIMIZATION: $$($1_$(notdir $2)_OPTIMIZATION))
+      ifeq ($$($1_OPTIMIZATION), NONE)
+        $1_OPT_CFLAGS := $(C_O_FLAG_NONE)
+        $1_OPT_CXXFLAGS := $(CXX_O_FLAG_NONE)
+      else ifeq ($$($1_OPTIMIZATION), LOW)
+        $1_OPT_CFLAGS := $(C_O_FLAG_NORM)
+        $1_OPT_CXXFLAGS := $(CXX_O_FLAG_NORM)
+      else ifeq ($$($1_OPTIMIZATION), HIGH)
+        $1_OPT_CFLAGS := $(C_O_FLAG_HI)
+        $1_OPT_CXXFLAGS := $(CXX_O_FLAG_HI)
+      else ifeq ($$($1_OPTIMIZATION), HIGHEST)
+        $1_OPT_CFLAGS := $(C_O_FLAG_HIGHEST)
+        $1_OPT_CXXFLAGS := $(CXX_O_FLAG_HIGHEST)
+      else ifeq ($$($1_OPTIMIZATION), HIGHEST_JVM)
+        $1_OPT_CFLAGS := $(C_O_FLAG_HIGHEST_JVM)
+        $1_OPT_CXXFLAGS := $(CXX_O_FLAG_HIGHEST_JVM)
+      else ifeq ($$($1_OPTIMIZATION), SIZE)
+        $1_OPT_CFLAGS := $(C_O_FLAG_SIZE)
+        $1_OPT_CXXFLAGS := $(CXX_O_FLAG_SIZE)
+      else
+        $$(error Unknown value for file OPTIMIZATION: $$($1_OPTIMIZATION))
+      endif
     endif
-  endif
 
-  ifneq ($$($1_PRECOMPILED_HEADER), )
-    ifeq ($$(filter $$(notdir $2), $$($1_PRECOMPILED_HEADER_EXCLUDE)), )
-      $1_$2_USE_PCH_FLAGS := $$($1_USE_PCH_FLAGS)
+    ifneq ($$($$($1_BASE)_PRECOMPILED_HEADER), )
+      ifeq ($$(filter $$($1_FILENAME), $$($$($1_BASE)_PRECOMPILED_HEADER_EXCLUDE)), )
+        $1_USE_PCH_FLAGS := $$($$($1_BASE)_USE_PCH_FLAGS)
+      endif
     endif
-  endif
 
-  ifneq ($$(filter %.c, $2), )
-    # Compile as a C file
-    $1_$2_FLAGS := $(CFLAGS_CCACHE) $$($1_$2_USE_PCH_FLAGS) $4 \
-        $$($1_$(notdir $2)_OPT_CFLAGS) \
-        $$($1_$(notdir $2)_CFLAGS) $$($1_$2_THIS_FILE) -c
-    $1_$2_COMP := $5
-    $1_$2_DEP_FLAG := $(C_FLAG_DEPS)
-  else ifneq ($$(filter %.m, $2), )
-    # Compile as an Objective-C file
-    $1_$2_FLAGS := -x objective-c $(CFLAGS_CCACHE) $$($1_$2_USE_PCH_FLAGS) $4 \
-        $$($1_$(notdir $2)_OPT_CFLAGS) \
-        $$($1_$(notdir $2)_CFLAGS) $$($1_$2_THIS_FILE) -c
-    $1_$2_COMP := $5
-    $1_$2_DEP_FLAG := $(C_FLAG_DEPS)
-  else ifneq ($$(filter %.s %.S, $2), )
-    # Compile as assembler file
-    $1_$2_FLAGS := $8
-    $1_$2_COMP := $(AS)
-    $1_$2_DEP_FLAG :=
-  else ifneq ($$(filter %.cpp, $2)$$(filter %.cc, $2)$$(filter %.mm, $2), )
-    # Compile as a C++ or Objective-C++ file
-    $1_$2_FLAGS := $(CFLAGS_CCACHE) $$($1_$2_USE_PCH_FLAGS) $6 \
-        $$($1_$(notdir $2)_OPT_CXXFLAGS) \
-        $$($1_$(notdir $2)_CXXFLAGS) $$($1_$2_THIS_FILE) -c
-    $1_$2_COMP := $7
-    $1_$2_DEP_FLAG := $(CXX_FLAG_DEPS)
-  else
-    $$(error Internal error in NativeCompilation.gmk: no compiler for file $2)
-  endif
-  # Generate the .o (.obj) file name and place it in the bin dir.
-  $1_$2_OBJ := $3/$$(call replace_with_obj_extension, $$(notdir $2))
-  # Only continue if this object file hasn't been processed already. This lets the first found
-  # source file override any other with the same name.
-  ifeq ($$(findstring $$($1_$2_OBJ), $$($1_OBJS_SO_FAR)), )
-    $1_OBJS_SO_FAR += $$($1_$2_OBJ)
-    ifeq ($$(filter %.s %.S, $2), )
+    $1_BASE_CFLAGS :=  $$($$($1_BASE)_CFLAGS) $$($$($1_BASE)_EXTRA_CFLAGS) \
+        $$($$($1_BASE)_SYSROOT_CFLAGS)
+    $1_BASE_CXXFLAGS := $$($$($1_BASE)_CXXFLAGS) $$($$($1_BASE)_EXTRA_CXXFLAGS) \
+        $$($$($1_BASE)_SYSROOT_CFLAGS) $$($1_EXTRA_CXXFLAGS)
+
+    ifneq ($$(filter %.c, $$($1_FILENAME)), )
+      # Compile as a C file
+      $1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CFLAGS) \
+          $$($1_OPT_CFLAGS) $$($1_CFLAGS) $$($1_THIS_FILE) -c
+      $1_COMPILER := $$($$($1_BASE)_CC)
+      $1_DEP_FLAG := $(C_FLAG_DEPS)
+    else ifneq ($$(filter %.m, $$($1_FILENAME)), )
+      # Compile as an Objective-C file
+      $1_FLAGS := -x objective-c $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) \
+          $$($1_BASE_CFLAGS) $$($1_OPT_CFLAGS) $$($1_CFLAGS) $$($1_THIS_FILE) -c
+      $1_COMPILER := $$($$($1_BASE)_CC)
+      $1_DEP_FLAG := $(C_FLAG_DEPS)
+    else ifneq ($$(filter %.s %.S, $$($1_FILENAME)), )
+      # Compile as assembler file
+      $1_FLAGS := $$($$($1_BASE)_ASFLAGS)
+      $1_COMPILER := $(AS)
+      $1_DEP_FLAG :=
+    else ifneq ($$(filter %.cpp %.cc %.mm, $$($1_FILENAME)), )
+      # Compile as a C++ or Objective-C++ file
+      $1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CXXFLAGS) \
+          $$($1_OPT_CXXFLAGS) $$($1_CXXFLAGS) $$($1_THIS_FILE) -c
+      $1_COMPILER := $$($$($1_BASE)_CXX)
+      $1_DEP_FLAG := $(CXX_FLAG_DEPS)
+    else
+      $$(error Internal error in NativeCompilation.gmk: no compiler for file $$($1_FILENAME))
+    endif
+
+    ifeq ($$(filter %.s %.S, $$($1_FILENAME)), )
       # And this is the dependency file for this obj file.
-      $1_$2_DEP := $$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_$2_OBJ))
-      # The dependency target file lists all dependencies as empty targets
-      # to avoid make error "No rule to make target" for removed files
-      $1_$2_DEP_TARGETS := $$(patsubst %$(OBJ_SUFFIX),%.d.targets,$$($1_$2_OBJ))
+      $1_DEP := $$(patsubst %$(OBJ_SUFFIX),%.d,$$($1_OBJ))
+      # The dependency target file lists all dependencies as empty targets to
+      # avoid make error "No rule to make target" for removed files
+      $1_DEP_TARGETS := $$(patsubst %$(OBJ_SUFFIX),%.d.targets,$$($1_OBJ))
 
       # Include previously generated dependency information. (if it exists)
-      -include $$($1_$2_DEP)
-      -include $$($1_$2_DEP_TARGETS)
+      -include $$($1_DEP)
+      -include $$($1_DEP_TARGETS)
 
       ifeq ($(TOOLCHAIN_TYPE), microsoft)
         # To avoid name clashes between pdbs for objects and libs/execs, put
         # object pdbs in a separate subdir.
-        $1_$2_DEBUG_OUT_FLAGS := -Fd$$(strip $$(patsubst $$($1_OBJECT_DIR)/%, \
-            $$($1_OBJECT_DIR)/pdb/%, $$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_$2_OBJ))))
+        $1_DEBUG_OUT_FLAGS := -Fd$$(strip $$(patsubst $$($$($1_BASE)_OBJECT_DIR)/%, \
+            $$($$($1_BASE)_OBJECT_DIR)/pdb/%, $$(patsubst %$(OBJ_SUFFIX),%.pdb,$$($1_OBJ))))
       endif
     endif
 
-    ifneq ($$(strip $$($1_$(notdir $2)_CFLAGS) $$($1_$(notdir $2)_CXXFLAGS) \
-        $$($1_$(notdir $2)_OPTIMIZATION)), )
-      $1_$2_VARDEPS := $$($1_$(notdir $2)_CFLAGS) $$($1_$(notdir $2)_CXXFLAGS) \
-          $$($1_$(notdir $2)_OPT_CFLAGS) $$($1_$(notdir $2)_OPT_CXXFLAGS)
-      $1_$2_VARDEPS_FILE := $$(call DependOnVariable, $1_$2_VARDEPS, $$($1_$2_OBJ).vardeps)
+    ifneq ($$(strip $$($1_CFLAGS) $$($1_CXXFLAGS) $$($1_OPTIMIZATION)), )
+      $1_VARDEPS := $$($1_CFLAGS) $$($1_CXXFLAGS) $$($1_OPT_CFLAGS) \
+          $$($1_OPT_CXXFLAGS)
+      $1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, $$($1_OBJ).vardeps)
     endif
 
-    $$($1_$2_OBJ) : $2 $$($1_COMPILE_VARDEPS_FILE) $$($1_$2_VARDEPS_FILE) | $$($1_BUILD_INFO)
-	$$(call LogInfo, Compiling $$(notdir $2) (for $$($1_BASENAME)))
+    $$($1_OBJ): $$($1_SRC_FILE) $$($$($1_BASE)_COMPILE_VARDEPS_FILE) \
+        $$($1_VARDEPS_FILE) | $$($$($1_BASE)_BUILD_INFO)
+	$$(call LogInfo, Compiling $$($1_FILENAME) (for $$($$($1_BASE)_BASENAME)))
 	$$(call MakeDir, $$(@D) $$(@D)/pdb)
         ifneq ($(TOOLCHAIN_TYPE), microsoft)
-          ifeq ($(TOOLCHAIN_TYPE)$$(filter %.s, $2), solstudio)
-            # The Solaris studio compiler doesn't output the full path to the object file in the
-            # generated deps files. Fixing it with sed. If compiling assembly, don't try this.
+          ifeq ($(TOOLCHAIN_TYPE)$$(filter %.s, $$($1_FILENAME)), solstudio)
+            # The Solaris studio compiler doesn't output the full path to the
+            # object file in the generated deps files. Fixing it with sed. If
+            # compiling assembly, don't try this.
 	    $$(call ExecuteWithLog, $$@, \
-	        $$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEP_FLAG) $$($1_$2_DEP).tmp $(CC_OUT_OPTION)$$($1_$2_OBJ) $2)
-	    $(SED) 's|^$$(@F):|$$@:|' $$($1_$2_DEP).tmp > $$($1_$2_DEP)
+	        $$($1_COMPILER) $$($1_FLAGS) $$($1_DEP_FLAG) $$($1_DEP).tmp \
+	            $(CC_OUT_OPTION)$$($1_OBJ) $$($1_SRC_FILE))
+	    $(SED) 's|^$$(@F):|$$@:|' $$($1_DEP).tmp > $$($1_DEP)
           else
 	    $$(call ExecuteWithLog, $$@, \
-	        $$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEP_FLAG) $$($1_$2_DEP) $(CC_OUT_OPTION)$$($1_$2_OBJ) $2)
+	        $$($1_COMPILER) $$($1_FLAGS) $$($1_DEP_FLAG) $$($1_DEP) \
+	            $(CC_OUT_OPTION)$$($1_OBJ) $$($1_SRC_FILE))
           endif
           # Create a dependency target file from the dependency file.
           # Solution suggested by http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
-          ifneq ($$($1_$2_DEP), )
-	    $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_$2_DEP) > $$($1_$2_DEP_TARGETS)
+          ifneq ($$($1_DEP), )
+	    $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEP) > $$($1_DEP_TARGETS)
           endif
         else
-          # The Visual Studio compiler lacks a feature for generating make dependencies, but by
-          # setting -showIncludes, all included files are printed. These are filtered out and
-          # parsed into make dependences.
-          # Keep as much as possible on one execution line for best performance on Windows.
-          # No need to save exit code from compilation since pipefail is always active on
-          # Windows.
+          # The Visual Studio compiler lacks a feature for generating make
+          # dependencies, but by setting -showIncludes, all included files are
+          # printed. These are filtered out and parsed into make dependences.
+          #
+          # Keep as much as possible on one execution line for best performance
+          # on Windows. No need to save exit code from compilation since
+          # pipefail is always active on Windows.
 	  $$(call ExecuteWithLog, $$@, \
-	      $$($1_$2_COMP) $$($1_$2_FLAGS) -showIncludes $$($1_$2_DEBUG_OUT_FLAGS) \
-	          $(CC_OUT_OPTION)$$($1_$2_OBJ) $2) \
-	      | $(GREP) -v -e "^Note: including file:" \
-	          -e "^$(notdir $2)$$$$" || test "$$$$?" = "1" ; \
-	  $(ECHO) $$@: \\ > $$($1_$2_DEP) ; \
-	  $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_OBJ).log \
-	      | $(SORT) -u >> $$($1_$2_DEP) ; \
-	  $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_$2_DEP) > $$($1_$2_DEP_TARGETS)
+	      $$($1_COMPILER) $$($1_FLAGS) -showIncludes $$($1_DEBUG_OUT_FLAGS) \
+	          $(CC_OUT_OPTION)$$($1_OBJ) $$($1_SRC_FILE)) \
+	      | $(TR) -d '\r' | $(GREP) -v -e "^Note: including file:" \
+	          -e "^$$($1_FILENAME)$$$$" || test "$$$$?" = "1" ; \
+	  $(ECHO) $$@: \\ > $$($1_DEP) ; \
+	  $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_OBJ).log \
+	      | $(SORT) -u >> $$($1_DEP) ; \
+	  $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_DEP) > $$($1_DEP_TARGETS)
         endif
   endif
 endef
@@ -379,7 +396,6 @@
 #   ZIP_EXTERNAL_DEBUG_SYMBOLS Set to false to override global setting of debug symbol
 #       zipping
 #   CFLAGS_DEBUG_SYMBOLS Overrides the default cflags for enabling debug symbols
-#   CXXFLAGS_DEBUG_SYMBOLS Overrides the default cxxflags for enabling debug symbols
 #   STRIPFLAGS Optionally change the flags given to the strip command
 #   PRECOMPILED_HEADER Header file to use as precompiled header
 #   PRECOMPILED_HEADER_EXCLUDE List of source files that should not use PCH
@@ -560,9 +576,8 @@
 
   ifeq ($(COMPILE_WITH_DEBUG_SYMBOLS), true)
     $$(call SetIfEmpty, $1_CFLAGS_DEBUG_SYMBOLS, $(CFLAGS_DEBUG_SYMBOLS))
-    $$(call SetIfEmpty, $1_CXXFLAGS_DEBUG_SYMBOLS, $(CXXFLAGS_DEBUG_SYMBOLS))
     $1_EXTRA_CFLAGS += $$($1_CFLAGS_DEBUG_SYMBOLS)
-    $1_EXTRA_CXXFLAGS += $$($1_CXXFLAGS_DEBUG_SYMBOLS)
+    $1_EXTRA_CXXFLAGS += $$($1_CFLAGS_DEBUG_SYMBOLS)
   endif
 
   ifneq ($$($1_REORDER), )
@@ -641,11 +656,12 @@
         $1_GENERATED_PCH_SRC := $$($1_OBJECT_DIR)/$1_pch.cpp
         $1_GENERATED_PCH_OBJ := $$($1_OBJECT_DIR)/$1_pch.obj
 
-        $$(eval $$(call add_native_source,$1,$$($1_GENERATED_PCH_SRC), \
-            $$($1_OBJECT_DIR),,, \
-            $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) $$($1_SYSROOT_CFLAGS) \
-                -Fp$$($1_PCH_FILE) -Yc$$(notdir $$($1_PRECOMPILED_HEADER)), \
-            $$($1_CXX),,no_this_file))
+        $$(eval $$(call SetupCompileNativeFile, $1_$$(notdir $$($1_GENERATED_PCH_SRC)), \
+            FILE := $$($1_GENERATED_PCH_SRC), \
+            BASE := $1, \
+            EXTRA_CXXFLAGS := -Fp$$($1_PCH_FILE) -Yc$$(notdir $$($1_PRECOMPILED_HEADER)), \
+            DISABLE_THIS_FILE_DEFINE := true, \
+        ))
 
         $1_USE_PCH_FLAGS := \
             -Fp$$($1_PCH_FILE) -Yu$$(notdir $$($1_PRECOMPILED_HEADER))
@@ -688,13 +704,13 @@
     endif
   endif
 
-  # Now call add_native_source for each source file we are going to compile.
-  $$(foreach p, $$($1_SRCS), \
-      $$(eval $$(call add_native_source,$1,$$p,$$($1_OBJECT_DIR), \
-          $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS), \
-          $$($1_CC), \
-          $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) $$($1_SYSROOT_CFLAGS), \
-          $$($1_CXX), $$($1_ASFLAGS))))
+  # Now call SetupCompileNativeFile for each source file we are going to compile.
+  $$(foreach file, $$($1_SRCS), \
+      $$(eval $$(call SetupCompileNativeFile, $1_$$(notdir $$(file)),\
+          FILE := $$(file), \
+          BASE := $1, \
+      )) \
+  )
 
   # Setup rule for printing progress info when compiling source files.
   # This is a rough heuristic and may not always print accurate information.
--- a/make/common/TestFilesCompilation.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/common/TestFilesCompilation.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -59,13 +59,13 @@
   ifeq ($$($1_TYPE), LIBRARY)
     $1_PREFIX = lib
     $1_OUTPUT_SUBDIR := lib
-    $1_CFLAGS := $(CFLAGS_TESTLIB) $(CFLAGS_WARNINGS_ARE_ERRORS)
+    $1_CFLAGS := $(CFLAGS_TESTLIB)
     $1_LDFLAGS := $(LDFLAGS_TESTLIB) $(call SET_SHARED_LIBRARY_ORIGIN)
     $1_COMPILATION_TYPE := LIBRARY
   else ifeq ($$($1_TYPE), PROGRAM)
     $1_PREFIX = exe
     $1_OUTPUT_SUBDIR := bin
-    $1_CFLAGS := $(CFLAGS_TESTEXE) $(CFLAGS_WARNINGS_ARE_ERRORS)
+    $1_CFLAGS := $(CFLAGS_TESTEXE)
     $1_LDFLAGS := $(LDFLAGS_TESTEXE)
     $1_COMPILATION_TYPE := EXECUTABLE
   else
--- a/make/conf/jib-profiles.js	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/conf/jib-profiles.js	Thu Mar 08 10:18:28 2018 -0800
@@ -743,11 +743,22 @@
             dependencies: [ "devkit" ],
             environment_path: input.get("devkit", "install_path")
                 + "/Xcode.app/Contents/Developer/usr/bin"
-        }
+        };
         profiles["run-test"] = concatObjects(profiles["run-test"], macosxRunTestExtra);
         profiles["run-test-jprt"] = concatObjects(profiles["run-test-jprt"], macosxRunTestExtra);
         profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"], macosxRunTestExtra);
     }
+    // On windows we want the debug symbols available at test time
+    if (input.build_os == "windows") {
+        windowsRunTestPrebuiltExtra = {
+            dependencies: [ testedProfile + ".jdk_symbols" ],
+            environment: {
+                "PRODUCT_SYMBOLS_HOME": input.get(testedProfile + ".jdk_symbols", "home_path"),
+            }
+        };
+        profiles["run-test-prebuilt"] = concatObjects(profiles["run-test-prebuilt"],
+            windowsRunTestPrebuiltExtra);
+    }
 
     // Generate the missing platform attributes
     profiles = generatePlatformAttributes(profiles);
--- a/make/data/x11wrappergen/functions.txt	Thu Mar 08 14:31:54 2018 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-!XGetWindowProperty|int
-    w                long
-    property         Atom
-    long_offset      long
-    long_length      long
-    delete           Bool
-    req_type         Atom
-    actual_type      Atom out
-    actual_format    int out
-    number_of_items  long out
-    bytes_after      long out
-    data             pointer out free
-!XQueryTree|int
-    w                long
-    root             long out
-    parent           long out
-    children         pointer out free
-    nchildren        int out
-!XTranslateCoordinates|int
-    scr_w            long
-    dest_w           long 
-    src_x            int
-    src_y            int
-    dest_x           int out
-    dest_y           int out
-    child            long out
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/x11wrappergen/sizes-32.txt	Thu Mar 08 10:18:28 2018 -0800
@@ -0,0 +1,1017 @@
+Atom	4
+AwtGraphicsConfigData	128
+AwtGraphicsConfigData.awt_cmap	4
+AwtGraphicsConfigData.AwtColorMatch	56
+AwtGraphicsConfigData.awt_depth	0
+AwtGraphicsConfigData.awtImage	52
+AwtGraphicsConfigData.awt_num_colors	48
+AwtGraphicsConfigData.awt_visInfo	8
+AwtGraphicsConfigData.color_data	84
+AwtGraphicsConfigData.glxInfo	88
+AwtGraphicsConfigData.isTranslucencySupported	92
+AwtGraphicsConfigData.monoImage	60
+AwtGraphicsConfigData.monoPixmap	64
+AwtGraphicsConfigData.monoPixmapGC	76
+AwtGraphicsConfigData.monoPixmapHeight	72
+AwtGraphicsConfigData.monoPixmapWidth	68
+AwtGraphicsConfigData.pixelStride	80
+AwtGraphicsConfigData.renderPictFormat	96
+awtImageData	304
+awtImageData.clrdata	16
+awtImageData.convert	48
+awtImageData.Depth	0
+awtImageData.wsImageFormat	4
+AwtScreenData	24
+AwtScreenData.blackpixel	12
+AwtScreenData.configs	20
+AwtScreenData.defaultConfig	16
+AwtScreenData.numConfigs	0
+AwtScreenData.root	4
+AwtScreenData.whitepixel	8
+Bool	4
+ColorData	48
+ColorData.awt_Colors	0
+ColorData.awt_icmLUT2Colors	12
+ColorData.awt_icmLUT	8
+ColorData.awt_numICMcolors	4
+ColorData.img_clr_tbl	20
+ColorData.img_grays	16
+ColorData.img_oda_blue	32
+ColorData.img_oda_green	28
+ColorData.img_oda_red	24
+ColorData.pGrayInverseLutData	36
+ColorData.representsPrimaries	44
+ColorData.screendata	40
+ColorEntry	4
+ColorEntry.b	2
+ColorEntry.flags	3
+ColorEntry.g	1
+ColorEntry.r	0
+Depth	12
+Depth.depth	0
+Depth.nvisuals	4
+Depth.visuals	8
+int	4
+long	4
+PropMwmHints	20
+PropMwmHints.decorations	8
+PropMwmHints.flags	0
+PropMwmHints.functions	4
+PropMwmHints.inputMode	12
+PropMwmHints.status	16
+ptr	4
+Screen	80
+Screen.backing_store	68
+Screen.black_pixel	56
+Screen.cmap	48
+Screen.default_gc	44
+Screen.depths	32
+Screen.display	4
+Screen.ext_data	0
+ScreenFormat	16
+ScreenFormat.bits_per_pixel	8
+ScreenFormat.depth	4
+ScreenFormat.ext_data	0
+ScreenFormat.scanline_pad	12
+Screen.height	16
+Screen.max_maps	60
+Screen.mheight	24
+Screen.min_maps	64
+Screen.mwidth	20
+Screen.ndepths	28
+Screen.root	8
+Screen.root_depth	36
+Screen.root_input_mask	76
+Screen.root_visual	40
+Screen.save_unders	72
+Screen.white_pixel	52
+Screen.width	12
+short	2
+Visual	32
+Visual.bits_per_rgb	24
+Visual.blue_mask	20
+Visual.class	8
+Visual.ext_data	0
+Visual.green_mask	16
+Visual.map_entries	28
+Visual.red_mask	12
+Visual.visualid	4
+Window	4
+XAnyEvent	20
+XAnyEvent.display	12
+XAnyEvent.send_event	8
+XAnyEvent.serial	4
+XAnyEvent.type	0
+XAnyEvent.window	16
+XArc	12
+XArc.angle1	8
+XArc.angle2	10
+XArc.height	6
+XArc.width	4
+XArc.x	0
+XArc.y	2
+XButtonEvent	60
+XButtonEvent.button	52
+XButtonEvent.display	12
+XButtonEvent.root	20
+XButtonEvent.same_screen	56
+XButtonEvent.send_event	8
+XButtonEvent.serial	4
+XButtonEvent.state	48
+XButtonEvent.subwindow	24
+XButtonEvent.time	28
+XButtonEvent.type	0
+XButtonEvent.window	16
+XButtonEvent.x	32
+XButtonEvent.x_root	40
+XButtonEvent.y	36
+XButtonEvent.y_root	44
+XChar2b	2
+XChar2b.byte1	0
+XChar2b.byte2	1
+XCharStruct	12
+XCharStruct.ascent	6
+XCharStruct.attributes	10
+XCharStruct.descent	8
+XCharStruct.lbearing	0
+XCharStruct.rbearing	2
+XCharStruct.width	4
+XCirculateEvent	28
+XCirculateEvent.display	12
+XCirculateEvent.event	16
+XCirculateEvent.place	24
+XCirculateEvent.send_event	8
+XCirculateEvent.serial	4
+XCirculateEvent.type	0
+XCirculateEvent.window	20
+XCirculateRequestEvent	28
+XCirculateRequestEvent.display	12
+XCirculateRequestEvent.parent	16
+XCirculateRequestEvent.place	24
+XCirculateRequestEvent.send_event	8
+XCirculateRequestEvent.serial	4
+XCirculateRequestEvent.type	0
+XCirculateRequestEvent.window	20
+XClassHint	8
+XClassHint.res_class	4
+XClassHint.res_name	0
+XClientMessageEvent	48
+XClientMessageEvent.data	28
+XClientMessageEvent.display	12
+XClientMessageEvent.format	24
+XClientMessageEvent.message_type	20
+XClientMessageEvent.send_event	8
+XClientMessageEvent.serial	4
+XClientMessageEvent.type	0
+XClientMessageEvent.window	16
+XColor	12
+XColor.blue	8
+XColor.flags	10
+XColor.green	6
+XColormapEvent	32
+XColormapEvent.colormap	20
+XColormapEvent.display	12
+XColormapEvent.new	24
+XColormapEvent.send_event	8
+XColormapEvent.serial	4
+XColormapEvent.state	28
+XColormapEvent.type	0
+XColormapEvent.window	16
+XColor.pad	11
+XColor.pixel	0
+XColor.red	4
+XComposeStatus	8
+XComposeStatus.chars_matched	4
+XComposeStatus.compose_ptr	0
+XConfigureEvent	52
+XConfigureEvent.above	44
+XConfigureEvent.border_width	40
+XConfigureEvent.display	12
+XConfigureEvent.event	16
+XConfigureEvent.height	36
+XConfigureEvent.override_redirect	48
+XConfigureEvent.send_event	8
+XConfigureEvent.serial	4
+XConfigureEvent.type	0
+XConfigureEvent.width	32
+XConfigureEvent.window	20
+XConfigureEvent.x	24
+XConfigureEvent.y	28
+XConfigureRequestEvent	56
+XConfigureRequestEvent.above	44
+XConfigureRequestEvent.border_width	40
+XConfigureRequestEvent.detail	48
+XConfigureRequestEvent.display	12
+XConfigureRequestEvent.height	36
+XConfigureRequestEvent.parent	16
+XConfigureRequestEvent.send_event	8
+XConfigureRequestEvent.serial	4
+XConfigureRequestEvent.type	0
+XConfigureRequestEvent.value_mask	52
+XConfigureRequestEvent.width	32
+XConfigureRequestEvent.window	20
+XConfigureRequestEvent.x	24
+XConfigureRequestEvent.y	28
+XCreateWindowEvent	48
+XCreateWindowEvent.border_width	40
+XCreateWindowEvent.display	12
+XCreateWindowEvent.height	36
+XCreateWindowEvent.override_redirect	44
+XCreateWindowEvent.parent	16
+XCreateWindowEvent.send_event	8
+XCreateWindowEvent.serial	4
+XCreateWindowEvent.type	0
+XCreateWindowEvent.width	32
+XCreateWindowEvent.window	20
+XCreateWindowEvent.x	24
+XCreateWindowEvent.y	28
+XCrossingEvent	68
+XCrossingEvent.detail	52
+XCrossingEvent.display	12
+XCrossingEvent.focus	60
+XCrossingEvent.mode	48
+XCrossingEvent.root	20
+XCrossingEvent.same_screen	56
+XCrossingEvent.send_event	8
+XCrossingEvent.serial	4
+XCrossingEvent.state	64
+XCrossingEvent.subwindow	24
+XCrossingEvent.time	28
+XCrossingEvent.type	0
+XCrossingEvent.window	16
+XCrossingEvent.x	32
+XCrossingEvent.x_root	40
+XCrossingEvent.y	36
+XCrossingEvent.y_root	44
+XdbeSwapInfo	8
+XdbeSwapInfo.swap_action	4
+XdbeSwapInfo.swap_window	0
+XDestroyWindowEvent	24
+XDestroyWindowEvent.display	12
+XDestroyWindowEvent.event	16
+XDestroyWindowEvent.send_event	8
+XDestroyWindowEvent.serial	4
+XDestroyWindowEvent.type	0
+XDestroyWindowEvent.window	20
+XErrorEvent	20
+XErrorEvent.display	4
+XErrorEvent.error_code	16
+XErrorEvent.minor_code	18
+XErrorEvent.request_code	17
+XErrorEvent.resourceid	8
+XErrorEvent.serial	12
+XErrorEvent.type	0
+XEvent	96
+XEvent.pad	0
+XEvent.type	0
+XEvent.xany	0
+XEvent.xbutton	0
+XEvent.xcirculate	0
+XEvent.xcirculaterequest	0
+XEvent.xclient	0
+XEvent.xcolormap	0
+XEvent.xconfigure	0
+XEvent.xconfigurerequest	0
+XEvent.xcreatewindow	0
+XEvent.xcrossing	0
+XEvent.xdestroywindow	0
+XEvent.xerror	0
+XEvent.xexpose	0
+XEvent.xfocus	0
+XEvent.xgraphicsexpose	0
+XEvent.xgravity	0
+XEvent.xkey	0
+XEvent.xkeymap	0
+XEvent.xmap	0
+XEvent.xmapping	0
+XEvent.xmaprequest	0
+XEvent.xmotion	0
+XEvent.xnoexpose	0
+XEvent.xproperty	0
+XEvent.xreparent	0
+XEvent.xresizerequest	0
+XEvent.xselection	0
+XEvent.xselectionclear	0
+XEvent.xselectionrequest	0
+XEvent.xunmap	0
+XEvent.xvisibility	0
+XExposeEvent	40
+XExposeEvent.count	36
+XExposeEvent.display	12
+XExposeEvent.height	32
+XExposeEvent.send_event	8
+XExposeEvent.serial	4
+XExposeEvent.type	0
+XExposeEvent.width	28
+XExposeEvent.window	16
+XExposeEvent.x	20
+XExposeEvent.y	24
+XExtCodes	16
+XExtCodes.extension	0
+XExtCodes.first_error	12
+XExtCodes.first_event	8
+XExtCodes.major_opcode	4
+XExtData	16
+XExtData.free_private	8
+XExtData.next	4
+XExtData.number	0
+XExtData.private_data	12
+XFocusChangeEvent	28
+XFocusChangeEvent.detail	24
+XFocusChangeEvent.display	12
+XFocusChangeEvent.mode	20
+XFocusChangeEvent.send_event	8
+XFocusChangeEvent.serial	4
+XFocusChangeEvent.type	0
+XFocusChangeEvent.window	16
+XFontProp	8
+XFontProp.card32	4
+XFontProp.name	0
+XFontSetExtents	16
+XFontSetExtents.max_ink_extent	0
+XFontSetExtents.max_logical_extent	8
+XFontStruct	80
+XFontStruct.all_chars_exist	28
+XFontStruct.ascent	72
+XFontStruct.descent	76
+XFontStruct.direction	8
+XFontStruct.ext_data	0
+XFontStruct.fid	4
+XFontStruct.max_bounds	56
+XFontStruct.max_byte1	24
+XFontStruct.max_char_or_byte2	16
+XFontStruct.min_bounds	44
+XFontStruct.min_byte1	20
+XFontStruct.min_char_or_byte2	12
+XFontStruct.n_properties	36
+XFontStruct.per_char	68
+XFontStruct.properties	40
+XGCValues	92
+XGCValues.arc_mode	40
+XGCValues.background	12
+XGCValues.cap_style	24
+XGCValues.clip_mask	80
+XGCValues.clip_x_origin	72
+XGCValues.clip_y_origin	76
+XGCValues.dashes	88
+XGCValues.dash_offset	84
+XGCValues.fill_rule	36
+XGCValues.fill_style	32
+XGCValues.font	60
+XGCValues.foreground	8
+XGCValues.function	0
+XGCValues.graphics_exposures	68
+XGCValues.join_style	28
+XGCValues.line_style	20
+XGCValues.line_width	16
+XGCValues.plane_mask	4
+XGCValues.stipple	48
+XGCValues.subwindow_mode	64
+XGCValues.tile	44
+XGCValues.ts_x_origin	52
+XGCValues.ts_y_origin	56
+XGraphicsExposeEvent	48
+XGraphicsExposeEvent.count	36
+XGraphicsExposeEvent.display	12
+XGraphicsExposeEvent.drawable	16
+XGraphicsExposeEvent.height	32
+XGraphicsExposeEvent.major_code	40
+XGraphicsExposeEvent.minor_code	44
+XGraphicsExposeEvent.send_event	8
+XGraphicsExposeEvent.serial	4
+XGraphicsExposeEvent.type	0
+XGraphicsExposeEvent.width	28
+XGraphicsExposeEvent.x	20
+XGraphicsExposeEvent.y	24
+XGravityEvent	32
+XGravityEvent.display	12
+XGravityEvent.event	16
+XGravityEvent.send_event	8
+XGravityEvent.serial	4
+XGravityEvent.type	0
+XGravityEvent.window	20
+XGravityEvent.x	24
+XGravityEvent.y	28
+XHostAddress	12
+XHostAddress.address	8
+XHostAddress.family	0
+XHostAddress.length	4
+XIconSize	24
+XIconSize.height_inc	20
+XIconSize.max_height	12
+XIconSize.max_width	8
+XIconSize.min_height	4
+XIconSize.min_width	0
+XIconSize.width_inc	16
+XImage	88
+XImage.bitmap_bit_order	28
+XImage.bitmap_pad	32
+XImage.bitmap_unit	24
+XImage.bits_per_pixel	44
+XImage.blue_mask	56
+XImage.byte_order	20
+XImage.bytes_per_line	40
+XImage.data	16
+XImage.depth	36
+XImage.f.add_pixel	84
+XImage.f.create_image	64
+XImage.f.destroy_image	68
+XImage.f.get_pixel	72
+XImage.format	12
+XImage.f.put_pixel	76
+XImage.f.sub_image	80
+XImage.green_mask	52
+XImage.height	4
+XImage.obdata	60
+XImage.red_mask	48
+XImage.width	0
+XImage.xoffset	8
+XIMCallback	8
+XIMCallback.callback	4
+XIMCallback.client_data	0
+XIMHotKeyTrigger	12
+XIMHotKeyTrigger.keysym	0
+XIMHotKeyTrigger.modifier	4
+XIMHotKeyTrigger.modifier_mask	8
+XIMHotKeyTriggers	8
+XIMHotKeyTriggers.key	4
+XIMHotKeyTriggers.num_hot_key	0
+XIMPreeditCaretCallbackStruct	12
+XIMPreeditCaretCallbackStruct.direction	4
+XIMPreeditCaretCallbackStruct.position	0
+XIMPreeditCaretCallbackStruct.style	8
+XIMPreeditDrawCallbackStruct	16
+XIMPreeditDrawCallbackStruct.caret	0
+XIMPreeditDrawCallbackStruct.chg_first	4
+XIMPreeditDrawCallbackStruct.chg_length	8
+XIMPreeditDrawCallbackStruct.text	12
+XIMPreeditStateNotifyCallbackStruct	4
+XIMPreeditStateNotifyCallbackStruct.state	0
+XIMStatusDrawCallbackStruct	8
+XIMStatusDrawCallbackStruct.data	4
+XIMStatusDrawCallbackStruct.type	0
+XIMStringConversionCallbackStruct	16
+XIMStringConversionCallbackStruct.direction	4
+XIMStringConversionCallbackStruct.factor	10
+XIMStringConversionCallbackStruct.operation	8
+XIMStringConversionCallbackStruct.position	0
+XIMStringConversionCallbackStruct.text	12
+XIMStringConversionText	16
+XIMStringConversionText.encoding_is_wchar	8
+XIMStringConversionText.feedback	4
+XIMStringConversionText.length	0
+XIMStringConversionText.string	12
+XIMStyles	8
+XIMStyles.count_styles	0
+XIMStyles.supported_styles	4
+XIMText	16
+XIMText.encoding_is_wchar	8
+XIMText.feedback	4
+XIMText.length	0
+XIMText.string	12
+XIMValuesList	8
+XIMValuesList.count_values	0
+XIMValuesList.supported_values	4
+XkbAccessXNotifyEvent	44
+XkbAccessXNotifyEvent.debounce_delay	40
+XkbAccessXNotifyEvent.detail	28
+XkbAccessXNotifyEvent.device	24
+XkbAccessXNotifyEvent.display	12
+XkbAccessXNotifyEvent.keycode	32
+XkbAccessXNotifyEvent.send_event	8
+XkbAccessXNotifyEvent.serial	4
+XkbAccessXNotifyEvent.sk_delay	36
+XkbAccessXNotifyEvent.time	16
+XkbAccessXNotifyEvent.type	0
+XkbAccessXNotifyEvent.xkb_type	20
+XkbActionMessageEvent	56
+XkbActionMessageEvent.device	24
+XkbActionMessageEvent.display	12
+XkbActionMessageEvent.group	40
+XkbActionMessageEvent.keycode	28
+XkbActionMessageEvent.key_event_follows	36
+XkbActionMessageEvent.message	48
+XkbActionMessageEvent.mods	44
+XkbActionMessageEvent.press	32
+XkbActionMessageEvent.send_event	8
+XkbActionMessageEvent.serial	4
+XkbActionMessageEvent.time	16
+XkbActionMessageEvent.type	0
+XkbActionMessageEvent.xkb_type	20
+XkbAnyEvent	28
+XkbAnyEvent.device	24
+XkbAnyEvent.display	12
+XkbAnyEvent.send_event	8
+XkbAnyEvent.serial	4
+XkbAnyEvent.time	16
+XkbAnyEvent.type	0
+XkbAnyEvent.xkb_type	20
+XkbBellNotifyEvent	60
+XkbBellNotifyEvent.bell_class	40
+XkbBellNotifyEvent.bell_id	44
+XkbBellNotifyEvent.device	24
+XkbBellNotifyEvent.display	12
+XkbBellNotifyEvent.duration	36
+XkbBellNotifyEvent.event_only	56
+XkbBellNotifyEvent.name	48
+XkbBellNotifyEvent.percent	28
+XkbBellNotifyEvent.pitch	32
+XkbBellNotifyEvent.send_event	8
+XkbBellNotifyEvent.serial	4
+XkbBellNotifyEvent.time	16
+XkbBellNotifyEvent.type	0
+XkbBellNotifyEvent.window	52
+XkbBellNotifyEvent.xkb_type	20
+XkbCompatMapNotifyEvent	44
+XkbCompatMapNotifyEvent.changed_groups	28
+XkbCompatMapNotifyEvent.device	24
+XkbCompatMapNotifyEvent.display	12
+XkbCompatMapNotifyEvent.first_si	32
+XkbCompatMapNotifyEvent.num_si	36
+XkbCompatMapNotifyEvent.num_total_si	40
+XkbCompatMapNotifyEvent.send_event	8
+XkbCompatMapNotifyEvent.serial	4
+XkbCompatMapNotifyEvent.time	16
+XkbCompatMapNotifyEvent.type	0
+XkbCompatMapNotifyEvent.xkb_type	20
+XkbControlsNotifyEvent	48
+XkbControlsNotifyEvent.changed_ctrls	28
+XkbControlsNotifyEvent.device	24
+XkbControlsNotifyEvent.display	12
+XkbControlsNotifyEvent.enabled_ctrl_changes	36
+XkbControlsNotifyEvent.enabled_ctrls	32
+XkbControlsNotifyEvent.event_type	45
+XkbControlsNotifyEvent.keycode	44
+XkbControlsNotifyEvent.num_groups	40
+XkbControlsNotifyEvent.req_major	46
+XkbControlsNotifyEvent.req_minor	47
+XkbControlsNotifyEvent.send_event	8
+XkbControlsNotifyEvent.serial	4
+XkbControlsNotifyEvent.time	16
+XkbControlsNotifyEvent.type	0
+XkbControlsNotifyEvent.xkb_type	20
+XkbEvent	96
+XkbEvent.accessx	0
+XkbEvent.any	0
+XkbEvent.bell	0
+XkbEvent.compat	0
+XkbEvent.core	0
+XkbEvent.ctrls	0
+XkbEvent.device	0
+XkbEvent.indicators	0
+XkbEvent.map	0
+XkbEvent.message	0
+XkbEvent.names	0
+XkbEvent.new_kbd	0
+XkbEvent.state	0
+XkbEvent.type	0
+XkbExtensionDeviceNotifyEvent	64
+XkbExtensionDeviceNotifyEvent.device	24
+XkbExtensionDeviceNotifyEvent.display	12
+XkbExtensionDeviceNotifyEvent.first_btn	40
+XkbExtensionDeviceNotifyEvent.led_class	56
+XkbExtensionDeviceNotifyEvent.led_id	60
+XkbExtensionDeviceNotifyEvent.leds_defined	48
+XkbExtensionDeviceNotifyEvent.led_state	52
+XkbExtensionDeviceNotifyEvent.num_btns	44
+XkbExtensionDeviceNotifyEvent.reason	28
+XkbExtensionDeviceNotifyEvent.send_event	8
+XkbExtensionDeviceNotifyEvent.serial	4
+XkbExtensionDeviceNotifyEvent.supported	32
+XkbExtensionDeviceNotifyEvent.time	16
+XkbExtensionDeviceNotifyEvent.type	0
+XkbExtensionDeviceNotifyEvent.unsupported	36
+XkbExtensionDeviceNotifyEvent.xkb_type	20
+XkbIndicatorNotifyEvent	36
+XkbIndicatorNotifyEvent.changed	28
+XkbIndicatorNotifyEvent.device	24
+XkbIndicatorNotifyEvent.display	12
+XkbIndicatorNotifyEvent.send_event	8
+XkbIndicatorNotifyEvent.serial	4
+XkbIndicatorNotifyEvent.state	32
+XkbIndicatorNotifyEvent.time	16
+XkbIndicatorNotifyEvent.type	0
+XkbIndicatorNotifyEvent.xkb_type	20
+XkbMapNotifyEvent	80
+XkbMapNotifyEvent.changed	28
+XkbMapNotifyEvent.device	24
+XkbMapNotifyEvent.display	12
+XkbMapNotifyEvent.first_key_act	47
+XkbMapNotifyEvent.first_key_behavior	48
+XkbMapNotifyEvent.first_key_explicit	49
+XkbMapNotifyEvent.first_key_sym	46
+XkbMapNotifyEvent.first_modmap_key	50
+XkbMapNotifyEvent.first_type	36
+XkbMapNotifyEvent.first_vmodmap_key	51
+XkbMapNotifyEvent.flags	32
+XkbMapNotifyEvent.max_key_code	45
+XkbMapNotifyEvent.min_key_code	44
+XkbMapNotifyEvent.num_key_acts	56
+XkbMapNotifyEvent.num_key_behaviors	60
+XkbMapNotifyEvent.num_key_explicit	64
+XkbMapNotifyEvent.num_key_syms	52
+XkbMapNotifyEvent.num_modmap_keys	68
+XkbMapNotifyEvent.num_types	40
+XkbMapNotifyEvent.num_vmodmap_keys	72
+XkbMapNotifyEvent.send_event	8
+XkbMapNotifyEvent.serial	4
+XkbMapNotifyEvent.time	16
+XkbMapNotifyEvent.type	0
+XkbMapNotifyEvent.vmods	76
+XkbMapNotifyEvent.xkb_type	20
+XkbNamesNotifyEvent	76
+XkbNamesNotifyEvent.changed	28
+XkbNamesNotifyEvent.changed_groups	60
+XkbNamesNotifyEvent.changed_indicators	64
+XkbNamesNotifyEvent.changed_vmods	56
+XkbNamesNotifyEvent.device	24
+XkbNamesNotifyEvent.display	12
+XkbNamesNotifyEvent.first_key	68
+XkbNamesNotifyEvent.first_lvl	40
+XkbNamesNotifyEvent.first_type	32
+XkbNamesNotifyEvent.num_aliases	48
+XkbNamesNotifyEvent.num_keys	72
+XkbNamesNotifyEvent.num_lvls	44
+XkbNamesNotifyEvent.num_radio_groups	52
+XkbNamesNotifyEvent.num_types	36
+XkbNamesNotifyEvent.send_event	8
+XkbNamesNotifyEvent.serial	4
+XkbNamesNotifyEvent.time	16
+XkbNamesNotifyEvent.type	0
+XkbNamesNotifyEvent.xkb_type	20
+XkbNewKeyboardNotifyEvent	56
+XkbNewKeyboardNotifyEvent.changed	48
+XkbNewKeyboardNotifyEvent.device	24
+XkbNewKeyboardNotifyEvent.display	12
+XkbNewKeyboardNotifyEvent.max_key_code	36
+XkbNewKeyboardNotifyEvent.min_key_code	32
+XkbNewKeyboardNotifyEvent.old_device	28
+XkbNewKeyboardNotifyEvent.old_max_key_code	44
+XkbNewKeyboardNotifyEvent.old_min_key_code	40
+XkbNewKeyboardNotifyEvent.req_major	52
+XkbNewKeyboardNotifyEvent.req_minor	53
+XkbNewKeyboardNotifyEvent.send_event	8
+XkbNewKeyboardNotifyEvent.serial	4
+XkbNewKeyboardNotifyEvent.time	16
+XkbNewKeyboardNotifyEvent.type	0
+XkbNewKeyboardNotifyEvent.xkb_type	20
+XkbStateNotifyEvent	80
+XkbStateNotifyEvent.base_group	36
+XkbStateNotifyEvent.base_mods	52
+XkbStateNotifyEvent.changed	28
+XkbStateNotifyEvent.compat_grab_mods	69
+XkbStateNotifyEvent.compat_lookup_mods	71
+XkbStateNotifyEvent.compat_state	64
+XkbStateNotifyEvent.device	24
+XkbStateNotifyEvent.display	12
+XkbStateNotifyEvent.event_type	77
+XkbStateNotifyEvent.grab_mods	68
+XkbStateNotifyEvent.group	32
+XkbStateNotifyEvent.keycode	76
+XkbStateNotifyEvent.latched_group	40
+XkbStateNotifyEvent.latched_mods	56
+XkbStateNotifyEvent.locked_group	44
+XkbStateNotifyEvent.locked_mods	60
+XkbStateNotifyEvent.lookup_mods	70
+XkbStateNotifyEvent.mods	48
+XkbStateNotifyEvent.ptr_buttons	72
+XkbStateNotifyEvent.req_major	78
+XkbStateNotifyEvent.req_minor	79
+XkbStateNotifyEvent.send_event	8
+XkbStateNotifyEvent.serial	4
+XkbStateNotifyEvent.time	16
+XkbStateNotifyEvent.type	0
+XkbStateNotifyEvent.xkb_type	20
+XKeyboardControl	32
+XKeyboardControl.auto_repeat_mode	28
+XKeyboardControl.bell_duration	12
+XKeyboardControl.bell_percent	4
+XKeyboardControl.bell_pitch	8
+XKeyboardControl.key	24
+XKeyboardControl.key_click_percent	0
+XKeyboardControl.led	16
+XKeyboardControl.led_mode	20
+XKeyboardState	56
+XKeyboardState.auto_repeats	24
+XKeyboardState.bell_duration	12
+XKeyboardState.bell_percent	4
+XKeyboardState.bell_pitch	8
+XKeyboardState.global_auto_repeat	20
+XKeyboardState.key_click_percent	0
+XKeyboardState.led_mask	16
+XKeyEvent	60
+XKeyEvent.display	12
+XKeyEvent.keycode	52
+XKeyEvent.root	20
+XKeyEvent.same_screen	56
+XKeyEvent.send_event	8
+XKeyEvent.serial	4
+XKeyEvent.state	48
+XKeyEvent.subwindow	24
+XKeyEvent.time	28
+XKeyEvent.type	0
+XKeyEvent.window	16
+XKeyEvent.x	32
+XKeyEvent.x_root	40
+XKeyEvent.y	36
+XKeyEvent.y_root	44
+XKeymapEvent	52
+XKeymapEvent.display	12
+XKeymapEvent.key_vector	20
+XKeymapEvent.send_event	8
+XKeymapEvent.serial	4
+XKeymapEvent.type	0
+XKeymapEvent.window	16
+XMapEvent	28
+XMapEvent.display	12
+XMapEvent.event	16
+XMapEvent.override_redirect	24
+XMapEvent.send_event	8
+XMapEvent.serial	4
+XMapEvent.type	0
+XMapEvent.window	20
+XMappingEvent	32
+XMappingEvent.count	28
+XMappingEvent.display	12
+XMappingEvent.first_keycode	24
+XMappingEvent.request	20
+XMappingEvent.send_event	8
+XMappingEvent.serial	4
+XMappingEvent.type	0
+XMappingEvent.window	16
+XMapRequestEvent	24
+XMapRequestEvent.display	12
+XMapRequestEvent.parent	16
+XMapRequestEvent.send_event	8
+XMapRequestEvent.serial	4
+XMapRequestEvent.type	0
+XMapRequestEvent.window	20
+XmbTextItem	16
+XmbTextItem.chars	0
+XmbTextItem.delta	8
+XmbTextItem.font_set	12
+XmbTextItem.nchars	4
+XModifierKeymap	8
+XModifierKeymap.max_keypermod	0
+XModifierKeymap.modifiermap	4
+XMotionEvent	60
+XMotionEvent.display	12
+XMotionEvent.is_hint	52
+XMotionEvent.root	20
+XMotionEvent.same_screen	56
+XMotionEvent.send_event	8
+XMotionEvent.serial	4
+XMotionEvent.state	48
+XMotionEvent.subwindow	24
+XMotionEvent.time	28
+XMotionEvent.type	0
+XMotionEvent.window	16
+XMotionEvent.x	32
+XMotionEvent.x_root	40
+XMotionEvent.y	36
+XMotionEvent.y_root	44
+XNoExposeEvent	28
+XNoExposeEvent.display	12
+XNoExposeEvent.drawable	16
+XNoExposeEvent.major_code	20
+XNoExposeEvent.minor_code	24
+XNoExposeEvent.send_event	8
+XNoExposeEvent.serial	4
+XNoExposeEvent.type	0
+XOMCharSetList	8
+XOMCharSetList.charset_count	0
+XOMCharSetList.charset_list	4
+XOMFontInfo	12
+XOMFontInfo.font_name_list	8
+XOMFontInfo.font_struct_list	4
+XOMFontInfo.num_font	0
+XOMOrientation	8
+XOMOrientation.num_orientation	0
+XOMOrientation.orientation	4
+XPixmapFormatValues	12
+XPixmapFormatValues.bits_per_pixel	4
+XPixmapFormatValues.depth	0
+XPixmapFormatValues.scanline_pad	8
+XPoint	4
+XPoint.x	0
+XPoint.y	2
+XPropertyEvent	32
+XPropertyEvent.atom	20
+XPropertyEvent.display	12
+XPropertyEvent.send_event	8
+XPropertyEvent.serial	4
+XPropertyEvent.state	28
+XPropertyEvent.time	24
+XPropertyEvent.type	0
+XPropertyEvent.window	16
+XRectangle	8
+XRectangle.height	6
+XRectangle.width	4
+XRectangle.x	0
+XRectangle.y	2
+XRenderDirectFormat	16
+XRenderDirectFormat.alpha	12
+XRenderDirectFormat.alphaMask	14
+XRenderDirectFormat.blue	8
+XRenderDirectFormat.blueMask	10
+XRenderDirectFormat.green	4
+XRenderDirectFormat.greenMask	6
+XRenderDirectFormat.red	0
+XRenderDirectFormat.redMask	2
+XRenderPictFormat	32
+XRenderPictFormat.colormap	28
+XRenderPictFormat.depth	8
+XRenderPictFormat.direct	12
+XRenderPictFormat.id	0
+XRenderPictFormat.type	4
+XReparentEvent	40
+XReparentEvent.display	12
+XReparentEvent.event	16
+XReparentEvent.override_redirect	36
+XReparentEvent.parent	24
+XReparentEvent.send_event	8
+XReparentEvent.serial	4
+XReparentEvent.type	0
+XReparentEvent.window	20
+XReparentEvent.x	28
+XReparentEvent.y	32
+XResizeRequestEvent	28
+XResizeRequestEvent.display	12
+XResizeRequestEvent.height	24
+XResizeRequestEvent.send_event	8
+XResizeRequestEvent.serial	4
+XResizeRequestEvent.type	0
+XResizeRequestEvent.width	20
+XResizeRequestEvent.window	16
+XSegment	8
+XSegment.x1	0
+XSegment.x2	4
+XSegment.y1	2
+XSegment.y2	6
+XSelectionClearEvent	28
+XSelectionClearEvent.display	12
+XSelectionClearEvent.selection	20
+XSelectionClearEvent.send_event	8
+XSelectionClearEvent.serial	4
+XSelectionClearEvent.time	24
+XSelectionClearEvent.type	0
+XSelectionClearEvent.window	16
+XSelectionEvent	36
+XSelectionEvent.display	12
+XSelectionEvent.property	28
+XSelectionEvent.requestor	16
+XSelectionEvent.selection	20
+XSelectionEvent.send_event	8
+XSelectionEvent.serial	4
+XSelectionEvent.target	24
+XSelectionEvent.time	32
+XSelectionEvent.type	0
+XSelectionRequestEvent	40
+XSelectionRequestEvent.display	12
+XSelectionRequestEvent.owner	16
+XSelectionRequestEvent.property	32
+XSelectionRequestEvent.requestor	20
+XSelectionRequestEvent.selection	24
+XSelectionRequestEvent.send_event	8
+XSelectionRequestEvent.serial	4
+XSelectionRequestEvent.target	28
+XSelectionRequestEvent.time	36
+XSelectionRequestEvent.type	0
+XSetWindowAttributes	60
+XSetWindowAttributes.background_pixel	4
+XSetWindowAttributes.background_pixmap	0
+XSetWindowAttributes.backing_pixel	32
+XSetWindowAttributes.backing_planes	28
+XSetWindowAttributes.backing_store	24
+XSetWindowAttributes.bit_gravity	16
+XSetWindowAttributes.border_pixel	12
+XSetWindowAttributes.border_pixmap	8
+XSetWindowAttributes.colormap	52
+XSetWindowAttributes.cursor	56
+XSetWindowAttributes.do_not_propagate_mask	44
+XSetWindowAttributes.event_mask	40
+XSetWindowAttributes.override_redirect	48
+XSetWindowAttributes.save_under	36
+XSetWindowAttributes.win_gravity	20
+XSizeHints	72
+XSizeHints.base_height	64
+XSizeHints.base_width	60
+XSizeHints.flags	0
+XSizeHints.height	16
+XSizeHints.height_inc	40
+XSizeHints.max_aspect.x	52
+XSizeHints.max_aspect.y	56
+XSizeHints.max_height	32
+XSizeHints.max_width	28
+XSizeHints.min_aspect.x	44
+XSizeHints.min_aspect.y	48
+XSizeHints.min_height	24
+XSizeHints.min_width	20
+XSizeHints.width	12
+XSizeHints.width_inc	36
+XSizeHints.win_gravity	68
+XSizeHints.x	4
+XSizeHints.y	8
+XStandardColormap	40
+XStandardColormap.base_pixel	28
+XStandardColormap.blue_max	20
+XStandardColormap.blue_mult	24
+XStandardColormap.colormap	0
+XStandardColormap.green_max	12
+XStandardColormap.green_mult	16
+XStandardColormap.killid	36
+XStandardColormap.red_max	4
+XStandardColormap.red_mult	8
+XStandardColormap.visualid	32
+XTextItem	16
+XTextItem16	16
+XTextItem16.chars	0
+XTextItem16.delta	8
+XTextItem16.font	12
+XTextItem16.nchars	4
+XTextItem.chars	0
+XTextItem.delta	8
+XTextItem.font	12
+XTextItem.nchars	4
+XTextProperty	16
+XTextProperty.encoding	4
+XTextProperty.format	8
+XTextProperty.nitems	12
+XTextProperty.value	0
+XTimeCoord	8
+XTimeCoord.time	0
+XTimeCoord.x	4
+XTimeCoord.y	6
+XUnmapEvent	28
+XUnmapEvent.display	12
+XUnmapEvent.event	16
+XUnmapEvent.from_configure	24
+XUnmapEvent.send_event	8
+XUnmapEvent.serial	4
+XUnmapEvent.type	0
+XUnmapEvent.window	20
+XVisibilityEvent	24
+XVisibilityEvent.display	12
+XVisibilityEvent.send_event	8
+XVisibilityEvent.serial	4
+XVisibilityEvent.state	20
+XVisibilityEvent.type	0
+XVisibilityEvent.window	16
+XVisualInfo	40
+XVisualInfo.bits_per_rgb	36
+XVisualInfo.blue_mask	28
+XVisualInfo.class	16
+XVisualInfo.colormap_size	32
+XVisualInfo.depth	12
+XVisualInfo.green_mask	24
+XVisualInfo.red_mask	20
+XVisualInfo.screen	8
+XVisualInfo.visual	0
+XVisualInfo.visualid	4
+XwcTextItem	16
+XwcTextItem.chars	0
+XwcTextItem.delta	8
+XwcTextItem.font_set	12
+XwcTextItem.nchars	4
+XWindowAttributes	92
+XWindowAttributes.all_event_masks	72
+XWindowAttributes.backing_pixel	52
+XWindowAttributes.backing_planes	48
+XWindowAttributes.backing_store	44
+XWindowAttributes.bit_gravity	36
+XWindowAttributes.border_width	16
+XWindowAttributes.class	32
+XWindowAttributes.colormap	60
+XWindowAttributes.depth	20
+XWindowAttributes.do_not_propagate_mask	80
+XWindowAttributes.height	12
+XWindowAttributes.map_installed	64
+XWindowAttributes.map_state	68
+XWindowAttributes.override_redirect	84
+XWindowAttributes.root	28
+XWindowAttributes.save_under	56
+XWindowAttributes.screen	88
+XWindowAttributes.visual	24
+XWindowAttributes.width	8
+XWindowAttributes.win_gravity	40
+XWindowAttributes.x	0
+XWindowAttributes.y	4
+XWindowAttributes.your_event_mask	76
+XWindowChanges	28
+XWindowChanges.border_width	16
+XWindowChanges.height	12
+XWindowChanges.sibling	20
+XWindowChanges.stack_mode	24
+XWindowChanges.width	8
+XWindowChanges.x	0
+XWindowChanges.y	4
+XWMHints	36
+XWMHints.flags	0
+XWMHints.icon_mask	28
+XWMHints.icon_pixmap	12
+XWMHints.icon_window	16
+XWMHints.icon_x	20
+XWMHints.icon_y	24
+XWMHints.initial_state	8
+XWMHints.input	4
+XWMHints.window_group	32
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/data/x11wrappergen/sizes-64.txt	Thu Mar 08 10:18:28 2018 -0800
@@ -0,0 +1,1017 @@
+Atom	8
+AwtGraphicsConfigData	208
+AwtGraphicsConfigData.awt_cmap	8
+AwtGraphicsConfigData.AwtColorMatch	96
+AwtGraphicsConfigData.awt_depth	0
+AwtGraphicsConfigData.awtImage	88
+AwtGraphicsConfigData.awt_num_colors	80
+AwtGraphicsConfigData.awt_visInfo	16
+AwtGraphicsConfigData.color_data	144
+AwtGraphicsConfigData.glxInfo	152
+AwtGraphicsConfigData.isTranslucencySupported	160
+AwtGraphicsConfigData.monoImage	104
+AwtGraphicsConfigData.monoPixmap	112
+AwtGraphicsConfigData.monoPixmapGC	128
+AwtGraphicsConfigData.monoPixmapHeight	124
+AwtGraphicsConfigData.monoPixmapWidth	120
+AwtGraphicsConfigData.pixelStride	136
+AwtGraphicsConfigData.renderPictFormat	168
+awtImageData	560
+awtImageData.clrdata	16
+awtImageData.convert	48
+awtImageData.Depth	0
+awtImageData.wsImageFormat	4
+AwtScreenData	48
+AwtScreenData.blackpixel	24
+AwtScreenData.configs	40
+AwtScreenData.defaultConfig	32
+AwtScreenData.numConfigs	0
+AwtScreenData.root	8
+AwtScreenData.whitepixel	16
+Bool	4
+ColorData	88
+ColorData.awt_Colors	0
+ColorData.awt_icmLUT	16
+ColorData.awt_icmLUT2Colors	24
+ColorData.awt_numICMcolors	8
+ColorData.img_clr_tbl	40
+ColorData.img_grays	32
+ColorData.img_oda_blue	64
+ColorData.img_oda_green	56
+ColorData.img_oda_red	48
+ColorData.pGrayInverseLutData	72
+ColorData.representsPrimaries	84
+ColorData.screendata	80
+ColorEntry	4
+ColorEntry.b	2
+ColorEntry.flags	3
+ColorEntry.g	1
+ColorEntry.r	0
+Depth	16
+Depth.depth	0
+Depth.nvisuals	4
+Depth.visuals	8
+int	4
+long	8
+PropMwmHints	40
+PropMwmHints.decorations	16
+PropMwmHints.flags	0
+PropMwmHints.functions	8
+PropMwmHints.inputMode	24
+PropMwmHints.status	32
+ptr	8
+Screen	128
+Screen.backing_store	112
+Screen.black_pixel	96
+Screen.cmap	80
+Screen.default_gc	72
+Screen.depths	48
+Screen.display	8
+Screen.ext_data	0
+ScreenFormat	24
+ScreenFormat.bits_per_pixel	12
+ScreenFormat.depth	8
+ScreenFormat.ext_data	0
+ScreenFormat.scanline_pad	16
+Screen.height	28
+Screen.max_maps	104
+Screen.mheight	36
+Screen.min_maps	108
+Screen.mwidth	32
+Screen.ndepths	40
+Screen.root	16
+Screen.root_depth	56
+Screen.root_input_mask	120
+Screen.root_visual	64
+Screen.save_unders	116
+Screen.white_pixel	88
+Screen.width	24
+short	2
+Visual	56
+Visual.bits_per_rgb	48
+Visual.blue_mask	40
+Visual.class	16
+Visual.ext_data	0
+Visual.green_mask	32
+Visual.map_entries	52
+Visual.red_mask	24
+Visual.visualid	8
+Window	8
+XAnyEvent	40
+XAnyEvent.display	24
+XAnyEvent.send_event	16
+XAnyEvent.serial	8
+XAnyEvent.type	0
+XAnyEvent.window	32
+XArc	12
+XArc.angle1	8
+XArc.angle2	10
+XArc.height	6
+XArc.width	4
+XArc.x	0
+XArc.y	2
+XButtonEvent	96
+XButtonEvent.button	84
+XButtonEvent.display	24
+XButtonEvent.root	40
+XButtonEvent.same_screen	88
+XButtonEvent.send_event	16
+XButtonEvent.serial	8
+XButtonEvent.state	80
+XButtonEvent.subwindow	48
+XButtonEvent.time	56
+XButtonEvent.type	0
+XButtonEvent.window	32
+XButtonEvent.x	64
+XButtonEvent.x_root	72
+XButtonEvent.y	68
+XButtonEvent.y_root	76
+XChar2b	2
+XChar2b.byte1	0
+XChar2b.byte2	1
+XCharStruct	12
+XCharStruct.ascent	6
+XCharStruct.attributes	10
+XCharStruct.descent	8
+XCharStruct.lbearing	0
+XCharStruct.rbearing	2
+XCharStruct.width	4
+XCirculateEvent	56
+XCirculateEvent.display	24
+XCirculateEvent.event	32
+XCirculateEvent.place	48
+XCirculateEvent.send_event	16
+XCirculateEvent.serial	8
+XCirculateEvent.type	0
+XCirculateEvent.window	40
+XCirculateRequestEvent	56
+XCirculateRequestEvent.display	24
+XCirculateRequestEvent.parent	32
+XCirculateRequestEvent.place	48
+XCirculateRequestEvent.send_event	16
+XCirculateRequestEvent.serial	8
+XCirculateRequestEvent.type	0
+XCirculateRequestEvent.window	40
+XClassHint	16
+XClassHint.res_class	8
+XClassHint.res_name	0
+XClientMessageEvent	96
+XClientMessageEvent.data	56
+XClientMessageEvent.display	24
+XClientMessageEvent.format	48
+XClientMessageEvent.message_type	40
+XClientMessageEvent.send_event	16
+XClientMessageEvent.serial	8
+XClientMessageEvent.type	0
+XClientMessageEvent.window	32
+XColor	16
+XColor.blue	12
+XColor.flags	14
+XColor.green	10
+XColormapEvent	56
+XColormapEvent.colormap	40
+XColormapEvent.display	24
+XColormapEvent.new	48
+XColormapEvent.send_event	16
+XColormapEvent.serial	8
+XColormapEvent.state	52
+XColormapEvent.type	0
+XColormapEvent.window	32
+XColor.pad	15
+XColor.pixel	0
+XColor.red	8
+XComposeStatus	16
+XComposeStatus.chars_matched	8
+XComposeStatus.compose_ptr	0
+XConfigureEvent	88
+XConfigureEvent.above	72
+XConfigureEvent.border_width	64
+XConfigureEvent.display	24
+XConfigureEvent.event	32
+XConfigureEvent.height	60
+XConfigureEvent.override_redirect	80
+XConfigureEvent.send_event	16
+XConfigureEvent.serial	8
+XConfigureEvent.type	0
+XConfigureEvent.width	56
+XConfigureEvent.window	40
+XConfigureEvent.x	48
+XConfigureEvent.y	52
+XConfigureRequestEvent	96
+XConfigureRequestEvent.above	72
+XConfigureRequestEvent.border_width	64
+XConfigureRequestEvent.detail	80
+XConfigureRequestEvent.display	24
+XConfigureRequestEvent.height	60
+XConfigureRequestEvent.parent	32
+XConfigureRequestEvent.send_event	16
+XConfigureRequestEvent.serial	8
+XConfigureRequestEvent.type	0
+XConfigureRequestEvent.value_mask	88
+XConfigureRequestEvent.width	56
+XConfigureRequestEvent.window	40
+XConfigureRequestEvent.x	48
+XConfigureRequestEvent.y	52
+XCreateWindowEvent	72
+XCreateWindowEvent.border_width	64
+XCreateWindowEvent.display	24
+XCreateWindowEvent.height	60
+XCreateWindowEvent.override_redirect	68
+XCreateWindowEvent.parent	32
+XCreateWindowEvent.send_event	16
+XCreateWindowEvent.serial	8
+XCreateWindowEvent.type	0
+XCreateWindowEvent.width	56
+XCreateWindowEvent.window	40
+XCreateWindowEvent.x	48
+XCreateWindowEvent.y	52
+XCrossingEvent	104
+XCrossingEvent.detail	84
+XCrossingEvent.display	24
+XCrossingEvent.focus	92
+XCrossingEvent.mode	80
+XCrossingEvent.root	40
+XCrossingEvent.same_screen	88
+XCrossingEvent.send_event	16
+XCrossingEvent.serial	8
+XCrossingEvent.state	96
+XCrossingEvent.subwindow	48
+XCrossingEvent.time	56
+XCrossingEvent.type	0
+XCrossingEvent.window	32
+XCrossingEvent.x	64
+XCrossingEvent.x_root	72
+XCrossingEvent.y	68
+XCrossingEvent.y_root	76
+XdbeSwapInfo	16
+XdbeSwapInfo.swap_action	8
+XdbeSwapInfo.swap_window	0
+XDestroyWindowEvent	48
+XDestroyWindowEvent.display	24
+XDestroyWindowEvent.event	32
+XDestroyWindowEvent.send_event	16
+XDestroyWindowEvent.serial	8
+XDestroyWindowEvent.type	0
+XDestroyWindowEvent.window	40
+XErrorEvent	40
+XErrorEvent.display	8
+XErrorEvent.error_code	32
+XErrorEvent.minor_code	34
+XErrorEvent.request_code	33
+XErrorEvent.resourceid	16
+XErrorEvent.serial	24
+XErrorEvent.type	0
+XEvent	192
+XEvent.pad	0
+XEvent.type	0
+XEvent.xany	0
+XEvent.xbutton	0
+XEvent.xcirculate	0
+XEvent.xcirculaterequest	0
+XEvent.xclient	0
+XEvent.xcolormap	0
+XEvent.xconfigure	0
+XEvent.xconfigurerequest	0
+XEvent.xcreatewindow	0
+XEvent.xcrossing	0
+XEvent.xdestroywindow	0
+XEvent.xerror	0
+XEvent.xexpose	0
+XEvent.xfocus	0
+XEvent.xgraphicsexpose	0
+XEvent.xgravity	0
+XEvent.xkey	0
+XEvent.xkeymap	0
+XEvent.xmap	0
+XEvent.xmapping	0
+XEvent.xmaprequest	0
+XEvent.xmotion	0
+XEvent.xnoexpose	0
+XEvent.xproperty	0
+XEvent.xreparent	0
+XEvent.xresizerequest	0
+XEvent.xselection	0
+XEvent.xselectionclear	0
+XEvent.xselectionrequest	0
+XEvent.xunmap	0
+XEvent.xvisibility	0
+XExposeEvent	64
+XExposeEvent.count	56
+XExposeEvent.display	24
+XExposeEvent.height	52
+XExposeEvent.send_event	16
+XExposeEvent.serial	8
+XExposeEvent.type	0
+XExposeEvent.width	48
+XExposeEvent.window	32
+XExposeEvent.x	40
+XExposeEvent.y	44
+XExtCodes	16
+XExtCodes.extension	0
+XExtCodes.first_error	12
+XExtCodes.first_event	8
+XExtCodes.major_opcode	4
+XExtData	32
+XExtData.free_private	16
+XExtData.next	8
+XExtData.number	0
+XExtData.private_data	24
+XFocusChangeEvent	48
+XFocusChangeEvent.detail	44
+XFocusChangeEvent.display	24
+XFocusChangeEvent.mode	40
+XFocusChangeEvent.send_event	16
+XFocusChangeEvent.serial	8
+XFocusChangeEvent.type	0
+XFocusChangeEvent.window	32
+XFontProp	16
+XFontProp.card32	8
+XFontProp.name	0
+XFontSetExtents	16
+XFontSetExtents.max_ink_extent	0
+XFontSetExtents.max_logical_extent	8
+XFontStruct	96
+XFontStruct.all_chars_exist	36
+XFontStruct.ascent	88
+XFontStruct.descent	92
+XFontStruct.direction	16
+XFontStruct.ext_data	0
+XFontStruct.fid	8
+XFontStruct.max_bounds	68
+XFontStruct.max_byte1	32
+XFontStruct.max_char_or_byte2	24
+XFontStruct.min_bounds	56
+XFontStruct.min_byte1	28
+XFontStruct.min_char_or_byte2	20
+XFontStruct.n_properties	44
+XFontStruct.per_char	80
+XFontStruct.properties	48
+XGCValues	128
+XGCValues.arc_mode	56
+XGCValues.background	24
+XGCValues.cap_style	40
+XGCValues.clip_mask	112
+XGCValues.clip_x_origin	104
+XGCValues.clip_y_origin	108
+XGCValues.dashes	124
+XGCValues.dash_offset	120
+XGCValues.fill_rule	52
+XGCValues.fill_style	48
+XGCValues.font	88
+XGCValues.foreground	16
+XGCValues.function	0
+XGCValues.graphics_exposures	100
+XGCValues.join_style	44
+XGCValues.line_style	36
+XGCValues.line_width	32
+XGCValues.plane_mask	8
+XGCValues.stipple	72
+XGCValues.subwindow_mode	96
+XGCValues.tile	64
+XGCValues.ts_x_origin	80
+XGCValues.ts_y_origin	84
+XGraphicsExposeEvent	72
+XGraphicsExposeEvent.count	56
+XGraphicsExposeEvent.display	24
+XGraphicsExposeEvent.drawable	32
+XGraphicsExposeEvent.height	52
+XGraphicsExposeEvent.major_code	60
+XGraphicsExposeEvent.minor_code	64
+XGraphicsExposeEvent.send_event	16
+XGraphicsExposeEvent.serial	8
+XGraphicsExposeEvent.type	0
+XGraphicsExposeEvent.width	48
+XGraphicsExposeEvent.x	40
+XGraphicsExposeEvent.y	44
+XGravityEvent	56
+XGravityEvent.display	24
+XGravityEvent.event	32
+XGravityEvent.send_event	16
+XGravityEvent.serial	8
+XGravityEvent.type	0
+XGravityEvent.window	40
+XGravityEvent.x	48
+XGravityEvent.y	52
+XHostAddress	16
+XHostAddress.address	8
+XHostAddress.family	0
+XHostAddress.length	4
+XIconSize	24
+XIconSize.height_inc	20
+XIconSize.max_height	12
+XIconSize.max_width	8
+XIconSize.min_height	4
+XIconSize.min_width	0
+XIconSize.width_inc	16
+XImage	136
+XImage.bitmap_bit_order	32
+XImage.bitmap_pad	36
+XImage.bitmap_unit	28
+XImage.bits_per_pixel	48
+XImage.blue_mask	72
+XImage.byte_order	24
+XImage.bytes_per_line	44
+XImage.data	16
+XImage.depth	40
+XImage.f.add_pixel	128
+XImage.f.create_image	88
+XImage.f.destroy_image	96
+XImage.f.get_pixel	104
+XImage.format	12
+XImage.f.put_pixel	112
+XImage.f.sub_image	120
+XImage.green_mask	64
+XImage.height	4
+XImage.obdata	80
+XImage.red_mask	56
+XImage.width	0
+XImage.xoffset	8
+XIMCallback	16
+XIMCallback.callback	8
+XIMCallback.client_data	0
+XIMHotKeyTrigger	16
+XIMHotKeyTrigger.keysym	0
+XIMHotKeyTrigger.modifier	8
+XIMHotKeyTrigger.modifier_mask	12
+XIMHotKeyTriggers	16
+XIMHotKeyTriggers.key	8
+XIMHotKeyTriggers.num_hot_key	0
+XIMPreeditCaretCallbackStruct	12
+XIMPreeditCaretCallbackStruct.direction	4
+XIMPreeditCaretCallbackStruct.position	0
+XIMPreeditCaretCallbackStruct.style	8
+XIMPreeditDrawCallbackStruct	24
+XIMPreeditDrawCallbackStruct.caret	0
+XIMPreeditDrawCallbackStruct.chg_first	4
+XIMPreeditDrawCallbackStruct.chg_length	8
+XIMPreeditDrawCallbackStruct.text	16
+XIMPreeditStateNotifyCallbackStruct	8
+XIMPreeditStateNotifyCallbackStruct.state	0
+XIMStatusDrawCallbackStruct	16
+XIMStatusDrawCallbackStruct.data	8
+XIMStatusDrawCallbackStruct.type	0
+XIMStringConversionCallbackStruct	24
+XIMStringConversionCallbackStruct.direction	4
+XIMStringConversionCallbackStruct.factor	10
+XIMStringConversionCallbackStruct.operation	8
+XIMStringConversionCallbackStruct.position	0
+XIMStringConversionCallbackStruct.text	16
+XIMStringConversionText	32
+XIMStringConversionText.encoding_is_wchar	16
+XIMStringConversionText.feedback	8
+XIMStringConversionText.length	0
+XIMStringConversionText.string	24
+XIMStyles	16
+XIMStyles.count_styles	0
+XIMStyles.supported_styles	8
+XIMText	32
+XIMText.encoding_is_wchar	16
+XIMText.feedback	8
+XIMText.length	0
+XIMText.string	24
+XIMValuesList	16
+XIMValuesList.count_values	0
+XIMValuesList.supported_values	8
+XkbAccessXNotifyEvent	64
+XkbAccessXNotifyEvent.debounce_delay	60
+XkbAccessXNotifyEvent.detail	48
+XkbAccessXNotifyEvent.device	44
+XkbAccessXNotifyEvent.display	24
+XkbAccessXNotifyEvent.keycode	52
+XkbAccessXNotifyEvent.send_event	16
+XkbAccessXNotifyEvent.serial	8
+XkbAccessXNotifyEvent.sk_delay	56
+XkbAccessXNotifyEvent.time	32
+XkbAccessXNotifyEvent.type	0
+XkbAccessXNotifyEvent.xkb_type	40
+XkbActionMessageEvent	80
+XkbActionMessageEvent.device	44
+XkbActionMessageEvent.display	24
+XkbActionMessageEvent.group	60
+XkbActionMessageEvent.keycode	48
+XkbActionMessageEvent.key_event_follows	56
+XkbActionMessageEvent.message	68
+XkbActionMessageEvent.mods	64
+XkbActionMessageEvent.press	52
+XkbActionMessageEvent.send_event	16
+XkbActionMessageEvent.serial	8
+XkbActionMessageEvent.time	32
+XkbActionMessageEvent.type	0
+XkbActionMessageEvent.xkb_type	40
+XkbAnyEvent	48
+XkbAnyEvent.device	44
+XkbAnyEvent.display	24
+XkbAnyEvent.send_event	16
+XkbAnyEvent.serial	8
+XkbAnyEvent.time	32
+XkbAnyEvent.type	0
+XkbAnyEvent.xkb_type	40
+XkbBellNotifyEvent	96
+XkbBellNotifyEvent.bell_class	60
+XkbBellNotifyEvent.bell_id	64
+XkbBellNotifyEvent.device	44
+XkbBellNotifyEvent.display	24
+XkbBellNotifyEvent.duration	56
+XkbBellNotifyEvent.event_only	88
+XkbBellNotifyEvent.name	72
+XkbBellNotifyEvent.percent	48
+XkbBellNotifyEvent.pitch	52
+XkbBellNotifyEvent.send_event	16
+XkbBellNotifyEvent.serial	8
+XkbBellNotifyEvent.time	32
+XkbBellNotifyEvent.type	0
+XkbBellNotifyEvent.window	80
+XkbBellNotifyEvent.xkb_type	40
+XkbCompatMapNotifyEvent	64
+XkbCompatMapNotifyEvent.changed_groups	48
+XkbCompatMapNotifyEvent.device	44
+XkbCompatMapNotifyEvent.display	24
+XkbCompatMapNotifyEvent.first_si	52
+XkbCompatMapNotifyEvent.num_si	56
+XkbCompatMapNotifyEvent.num_total_si	60
+XkbCompatMapNotifyEvent.send_event	16
+XkbCompatMapNotifyEvent.serial	8
+XkbCompatMapNotifyEvent.time	32
+XkbCompatMapNotifyEvent.type	0
+XkbCompatMapNotifyEvent.xkb_type	40
+XkbControlsNotifyEvent	72
+XkbControlsNotifyEvent.changed_ctrls	48
+XkbControlsNotifyEvent.device	44
+XkbControlsNotifyEvent.display	24
+XkbControlsNotifyEvent.enabled_ctrl_changes	56
+XkbControlsNotifyEvent.enabled_ctrls	52
+XkbControlsNotifyEvent.event_type	65
+XkbControlsNotifyEvent.keycode	64
+XkbControlsNotifyEvent.num_groups	60
+XkbControlsNotifyEvent.req_major	66
+XkbControlsNotifyEvent.req_minor	67
+XkbControlsNotifyEvent.send_event	16
+XkbControlsNotifyEvent.serial	8
+XkbControlsNotifyEvent.time	32
+XkbControlsNotifyEvent.type	0
+XkbControlsNotifyEvent.xkb_type	40
+XkbEvent	192
+XkbEvent.accessx	0
+XkbEvent.any	0
+XkbEvent.bell	0
+XkbEvent.compat	0
+XkbEvent.core	0
+XkbEvent.ctrls	0
+XkbEvent.device	0
+XkbEvent.indicators	0
+XkbEvent.map	0
+XkbEvent.message	0
+XkbEvent.names	0
+XkbEvent.new_kbd	0
+XkbEvent.state	0
+XkbEvent.type	0
+XkbExtensionDeviceNotifyEvent	88
+XkbExtensionDeviceNotifyEvent.device	44
+XkbExtensionDeviceNotifyEvent.display	24
+XkbExtensionDeviceNotifyEvent.first_btn	60
+XkbExtensionDeviceNotifyEvent.led_class	76
+XkbExtensionDeviceNotifyEvent.led_id	80
+XkbExtensionDeviceNotifyEvent.leds_defined	68
+XkbExtensionDeviceNotifyEvent.led_state	72
+XkbExtensionDeviceNotifyEvent.num_btns	64
+XkbExtensionDeviceNotifyEvent.reason	48
+XkbExtensionDeviceNotifyEvent.send_event	16
+XkbExtensionDeviceNotifyEvent.serial	8
+XkbExtensionDeviceNotifyEvent.supported	52
+XkbExtensionDeviceNotifyEvent.time	32
+XkbExtensionDeviceNotifyEvent.type	0
+XkbExtensionDeviceNotifyEvent.unsupported	56
+XkbExtensionDeviceNotifyEvent.xkb_type	40
+XkbIndicatorNotifyEvent	56
+XkbIndicatorNotifyEvent.changed	48
+XkbIndicatorNotifyEvent.device	44
+XkbIndicatorNotifyEvent.display	24
+XkbIndicatorNotifyEvent.send_event	16
+XkbIndicatorNotifyEvent.serial	8
+XkbIndicatorNotifyEvent.state	52
+XkbIndicatorNotifyEvent.time	32
+XkbIndicatorNotifyEvent.type	0
+XkbIndicatorNotifyEvent.xkb_type	40
+XkbMapNotifyEvent	104
+XkbMapNotifyEvent.changed	48
+XkbMapNotifyEvent.device	44
+XkbMapNotifyEvent.display	24
+XkbMapNotifyEvent.first_key_act	67
+XkbMapNotifyEvent.first_key_behavior	68
+XkbMapNotifyEvent.first_key_explicit	69
+XkbMapNotifyEvent.first_key_sym	66
+XkbMapNotifyEvent.first_modmap_key	70
+XkbMapNotifyEvent.first_type	56
+XkbMapNotifyEvent.first_vmodmap_key	71
+XkbMapNotifyEvent.flags	52
+XkbMapNotifyEvent.max_key_code	65
+XkbMapNotifyEvent.min_key_code	64
+XkbMapNotifyEvent.num_key_acts	76
+XkbMapNotifyEvent.num_key_behaviors	80
+XkbMapNotifyEvent.num_key_explicit	84
+XkbMapNotifyEvent.num_key_syms	72
+XkbMapNotifyEvent.num_modmap_keys	88
+XkbMapNotifyEvent.num_types	60
+XkbMapNotifyEvent.num_vmodmap_keys	92
+XkbMapNotifyEvent.send_event	16
+XkbMapNotifyEvent.serial	8
+XkbMapNotifyEvent.time	32
+XkbMapNotifyEvent.type	0
+XkbMapNotifyEvent.vmods	96
+XkbMapNotifyEvent.xkb_type	40
+XkbNamesNotifyEvent	96
+XkbNamesNotifyEvent.changed	48
+XkbNamesNotifyEvent.changed_groups	80
+XkbNamesNotifyEvent.changed_indicators	84
+XkbNamesNotifyEvent.changed_vmods	76
+XkbNamesNotifyEvent.device	44
+XkbNamesNotifyEvent.display	24
+XkbNamesNotifyEvent.first_key	88
+XkbNamesNotifyEvent.first_lvl	60
+XkbNamesNotifyEvent.first_type	52
+XkbNamesNotifyEvent.num_aliases	68
+XkbNamesNotifyEvent.num_keys	92
+XkbNamesNotifyEvent.num_lvls	64
+XkbNamesNotifyEvent.num_radio_groups	72
+XkbNamesNotifyEvent.num_types	56
+XkbNamesNotifyEvent.send_event	16
+XkbNamesNotifyEvent.serial	8
+XkbNamesNotifyEvent.time	32
+XkbNamesNotifyEvent.type	0
+XkbNamesNotifyEvent.xkb_type	40
+XkbNewKeyboardNotifyEvent	80
+XkbNewKeyboardNotifyEvent.changed	68
+XkbNewKeyboardNotifyEvent.device	44
+XkbNewKeyboardNotifyEvent.display	24
+XkbNewKeyboardNotifyEvent.max_key_code	56
+XkbNewKeyboardNotifyEvent.min_key_code	52
+XkbNewKeyboardNotifyEvent.old_device	48
+XkbNewKeyboardNotifyEvent.old_max_key_code	64
+XkbNewKeyboardNotifyEvent.old_min_key_code	60
+XkbNewKeyboardNotifyEvent.req_major	72
+XkbNewKeyboardNotifyEvent.req_minor	73
+XkbNewKeyboardNotifyEvent.send_event	16
+XkbNewKeyboardNotifyEvent.serial	8
+XkbNewKeyboardNotifyEvent.time	32
+XkbNewKeyboardNotifyEvent.type	0
+XkbNewKeyboardNotifyEvent.xkb_type	40
+XkbStateNotifyEvent	104
+XkbStateNotifyEvent.base_group	56
+XkbStateNotifyEvent.base_mods	72
+XkbStateNotifyEvent.changed	48
+XkbStateNotifyEvent.compat_grab_mods	89
+XkbStateNotifyEvent.compat_lookup_mods	91
+XkbStateNotifyEvent.compat_state	84
+XkbStateNotifyEvent.device	44
+XkbStateNotifyEvent.display	24
+XkbStateNotifyEvent.event_type	97
+XkbStateNotifyEvent.grab_mods	88
+XkbStateNotifyEvent.group	52
+XkbStateNotifyEvent.keycode	96
+XkbStateNotifyEvent.latched_group	60
+XkbStateNotifyEvent.latched_mods	76
+XkbStateNotifyEvent.locked_group	64
+XkbStateNotifyEvent.locked_mods	80
+XkbStateNotifyEvent.lookup_mods	90
+XkbStateNotifyEvent.mods	68
+XkbStateNotifyEvent.ptr_buttons	92
+XkbStateNotifyEvent.req_major	98
+XkbStateNotifyEvent.req_minor	99
+XkbStateNotifyEvent.send_event	16
+XkbStateNotifyEvent.serial	8
+XkbStateNotifyEvent.time	32
+XkbStateNotifyEvent.type	0
+XkbStateNotifyEvent.xkb_type	40
+XKeyboardControl	32
+XKeyboardControl.auto_repeat_mode	28
+XKeyboardControl.bell_duration	12
+XKeyboardControl.bell_percent	4
+XKeyboardControl.bell_pitch	8
+XKeyboardControl.key	24
+XKeyboardControl.key_click_percent	0
+XKeyboardControl.led	16
+XKeyboardControl.led_mode	20
+XKeyboardState	64
+XKeyboardState.auto_repeats	28
+XKeyboardState.bell_duration	12
+XKeyboardState.bell_percent	4
+XKeyboardState.bell_pitch	8
+XKeyboardState.global_auto_repeat	24
+XKeyboardState.key_click_percent	0
+XKeyboardState.led_mask	16
+XKeyEvent	96
+XKeyEvent.display	24
+XKeyEvent.keycode	84
+XKeyEvent.root	40
+XKeyEvent.same_screen	88
+XKeyEvent.send_event	16
+XKeyEvent.serial	8
+XKeyEvent.state	80
+XKeyEvent.subwindow	48
+XKeyEvent.time	56
+XKeyEvent.type	0
+XKeyEvent.window	32
+XKeyEvent.x	64
+XKeyEvent.x_root	72
+XKeyEvent.y	68
+XKeyEvent.y_root	76
+XKeymapEvent	72
+XKeymapEvent.display	24
+XKeymapEvent.key_vector	40
+XKeymapEvent.send_event	16
+XKeymapEvent.serial	8
+XKeymapEvent.type	0
+XKeymapEvent.window	32
+XMapEvent	56
+XMapEvent.display	24
+XMapEvent.event	32
+XMapEvent.override_redirect	48
+XMapEvent.send_event	16
+XMapEvent.serial	8
+XMapEvent.type	0
+XMapEvent.window	40
+XMappingEvent	56
+XMappingEvent.count	48
+XMappingEvent.display	24
+XMappingEvent.first_keycode	44
+XMappingEvent.request	40
+XMappingEvent.send_event	16
+XMappingEvent.serial	8
+XMappingEvent.type	0
+XMappingEvent.window	32
+XMapRequestEvent	48
+XMapRequestEvent.display	24
+XMapRequestEvent.parent	32
+XMapRequestEvent.send_event	16
+XMapRequestEvent.serial	8
+XMapRequestEvent.type	0
+XMapRequestEvent.window	40
+XmbTextItem	24
+XmbTextItem.chars	0
+XmbTextItem.delta	12
+XmbTextItem.font_set	16
+XmbTextItem.nchars	8
+XModifierKeymap	16
+XModifierKeymap.max_keypermod	0
+XModifierKeymap.modifiermap	8
+XMotionEvent	96
+XMotionEvent.display	24
+XMotionEvent.is_hint	84
+XMotionEvent.root	40
+XMotionEvent.same_screen	88
+XMotionEvent.send_event	16
+XMotionEvent.serial	8
+XMotionEvent.state	80
+XMotionEvent.subwindow	48
+XMotionEvent.time	56
+XMotionEvent.type	0
+XMotionEvent.window	32
+XMotionEvent.x	64
+XMotionEvent.x_root	72
+XMotionEvent.y	68
+XMotionEvent.y_root	76
+XNoExposeEvent	48
+XNoExposeEvent.display	24
+XNoExposeEvent.drawable	32
+XNoExposeEvent.major_code	40
+XNoExposeEvent.minor_code	44
+XNoExposeEvent.send_event	16
+XNoExposeEvent.serial	8
+XNoExposeEvent.type	0
+XOMCharSetList	16
+XOMCharSetList.charset_count	0
+XOMCharSetList.charset_list	8
+XOMFontInfo	24
+XOMFontInfo.font_name_list	16
+XOMFontInfo.font_struct_list	8
+XOMFontInfo.num_font	0
+XOMOrientation	16
+XOMOrientation.num_orientation	0
+XOMOrientation.orientation	8
+XPixmapFormatValues	12
+XPixmapFormatValues.bits_per_pixel	4
+XPixmapFormatValues.depth	0
+XPixmapFormatValues.scanline_pad	8
+XPoint	4
+XPoint.x	0
+XPoint.y	2
+XPropertyEvent	64
+XPropertyEvent.atom	40
+XPropertyEvent.display	24
+XPropertyEvent.send_event	16
+XPropertyEvent.serial	8
+XPropertyEvent.state	56
+XPropertyEvent.time	48
+XPropertyEvent.type	0
+XPropertyEvent.window	32
+XRectangle	8
+XRectangle.height	6
+XRectangle.width	4
+XRectangle.x	0
+XRectangle.y	2
+XRenderDirectFormat	16
+XRenderDirectFormat.alpha	12
+XRenderDirectFormat.alphaMask	14
+XRenderDirectFormat.blue	8
+XRenderDirectFormat.blueMask	10
+XRenderDirectFormat.green	4
+XRenderDirectFormat.greenMask	6
+XRenderDirectFormat.red	0
+XRenderDirectFormat.redMask	2
+XRenderPictFormat	40
+XRenderPictFormat.colormap	32
+XRenderPictFormat.depth	12
+XRenderPictFormat.direct	16
+XRenderPictFormat.id	0
+XRenderPictFormat.type	8
+XReparentEvent	72
+XReparentEvent.display	24
+XReparentEvent.event	32
+XReparentEvent.override_redirect	64
+XReparentEvent.parent	48
+XReparentEvent.send_event	16
+XReparentEvent.serial	8
+XReparentEvent.type	0
+XReparentEvent.window	40
+XReparentEvent.x	56
+XReparentEvent.y	60
+XResizeRequestEvent	48
+XResizeRequestEvent.display	24
+XResizeRequestEvent.height	44
+XResizeRequestEvent.send_event	16
+XResizeRequestEvent.serial	8
+XResizeRequestEvent.type	0
+XResizeRequestEvent.width	40
+XResizeRequestEvent.window	32
+XSegment	8
+XSegment.x1	0
+XSegment.x2	4
+XSegment.y1	2
+XSegment.y2	6
+XSelectionClearEvent	56
+XSelectionClearEvent.display	24
+XSelectionClearEvent.selection	40
+XSelectionClearEvent.send_event	16
+XSelectionClearEvent.serial	8
+XSelectionClearEvent.time	48
+XSelectionClearEvent.type	0
+XSelectionClearEvent.window	32
+XSelectionEvent	72
+XSelectionEvent.display	24
+XSelectionEvent.property	56
+XSelectionEvent.requestor	32
+XSelectionEvent.selection	40
+XSelectionEvent.send_event	16
+XSelectionEvent.serial	8
+XSelectionEvent.target	48
+XSelectionEvent.time	64
+XSelectionEvent.type	0
+XSelectionRequestEvent	80
+XSelectionRequestEvent.display	24
+XSelectionRequestEvent.owner	32
+XSelectionRequestEvent.property	64
+XSelectionRequestEvent.requestor	40
+XSelectionRequestEvent.selection	48
+XSelectionRequestEvent.send_event	16
+XSelectionRequestEvent.serial	8
+XSelectionRequestEvent.target	56
+XSelectionRequestEvent.time	72
+XSelectionRequestEvent.type	0
+XSetWindowAttributes	112
+XSetWindowAttributes.background_pixel	8
+XSetWindowAttributes.background_pixmap	0
+XSetWindowAttributes.backing_pixel	56
+XSetWindowAttributes.backing_planes	48
+XSetWindowAttributes.backing_store	40
+XSetWindowAttributes.bit_gravity	32
+XSetWindowAttributes.border_pixel	24
+XSetWindowAttributes.border_pixmap	16
+XSetWindowAttributes.colormap	96
+XSetWindowAttributes.cursor	104
+XSetWindowAttributes.do_not_propagate_mask	80
+XSetWindowAttributes.event_mask	72
+XSetWindowAttributes.override_redirect	88
+XSetWindowAttributes.save_under	64
+XSetWindowAttributes.win_gravity	36
+XSizeHints	80
+XSizeHints.base_height	68
+XSizeHints.base_width	64
+XSizeHints.flags	0
+XSizeHints.height	20
+XSizeHints.height_inc	44
+XSizeHints.max_aspect.x	56
+XSizeHints.max_aspect.y	60
+XSizeHints.max_height	36
+XSizeHints.max_width	32
+XSizeHints.min_aspect.x	48
+XSizeHints.min_aspect.y	52
+XSizeHints.min_height	28
+XSizeHints.min_width	24
+XSizeHints.width	16
+XSizeHints.width_inc	40
+XSizeHints.win_gravity	72
+XSizeHints.x	8
+XSizeHints.y	12
+XStandardColormap	80
+XStandardColormap.base_pixel	56
+XStandardColormap.blue_max	40
+XStandardColormap.blue_mult	48
+XStandardColormap.colormap	0
+XStandardColormap.green_max	24
+XStandardColormap.green_mult	32
+XStandardColormap.killid	72
+XStandardColormap.red_max	8
+XStandardColormap.red_mult	16
+XStandardColormap.visualid	64
+XTextItem16	24
+XTextItem16.chars	0
+XTextItem16.delta	12
+XTextItem16.font	16
+XTextItem16.nchars	8
+XTextItem	24
+XTextItem.chars	0
+XTextItem.delta	12
+XTextItem.font	16
+XTextItem.nchars	8
+XTextProperty	32
+XTextProperty.encoding	8
+XTextProperty.format	16
+XTextProperty.nitems	24
+XTextProperty.value	0
+XTimeCoord	16
+XTimeCoord.time	0
+XTimeCoord.x	8
+XTimeCoord.y	10
+XUnmapEvent	56
+XUnmapEvent.display	24
+XUnmapEvent.event	32
+XUnmapEvent.from_configure	48
+XUnmapEvent.send_event	16
+XUnmapEvent.serial	8
+XUnmapEvent.type	0
+XUnmapEvent.window	40
+XVisibilityEvent	48
+XVisibilityEvent.display	24
+XVisibilityEvent.send_event	16
+XVisibilityEvent.serial	8
+XVisibilityEvent.state	40
+XVisibilityEvent.type	0
+XVisibilityEvent.window	32
+XVisualInfo	64
+XVisualInfo.bits_per_rgb	60
+XVisualInfo.blue_mask	48
+XVisualInfo.class	24
+XVisualInfo.colormap_size	56
+XVisualInfo.depth	20
+XVisualInfo.green_mask	40
+XVisualInfo.red_mask	32
+XVisualInfo.screen	16
+XVisualInfo.visual	0
+XVisualInfo.visualid	8
+XwcTextItem	24
+XwcTextItem.chars	0
+XwcTextItem.delta	12
+XwcTextItem.font_set	16
+XwcTextItem.nchars	8
+XWindowAttributes	136
+XWindowAttributes.all_event_masks	96
+XWindowAttributes.backing_pixel	64
+XWindowAttributes.backing_planes	56
+XWindowAttributes.backing_store	52
+XWindowAttributes.bit_gravity	44
+XWindowAttributes.border_width	16
+XWindowAttributes.class	40
+XWindowAttributes.colormap	80
+XWindowAttributes.depth	20
+XWindowAttributes.do_not_propagate_mask	112
+XWindowAttributes.height	12
+XWindowAttributes.map_installed	88
+XWindowAttributes.map_state	92
+XWindowAttributes.override_redirect	120
+XWindowAttributes.root	32
+XWindowAttributes.save_under	72
+XWindowAttributes.screen	128
+XWindowAttributes.visual	24
+XWindowAttributes.width	8
+XWindowAttributes.win_gravity	48
+XWindowAttributes.x	0
+XWindowAttributes.y	4
+XWindowAttributes.your_event_mask	104
+XWindowChanges	40
+XWindowChanges.border_width	16
+XWindowChanges.height	12
+XWindowChanges.sibling	24
+XWindowChanges.stack_mode	32
+XWindowChanges.width	8
+XWindowChanges.x	0
+XWindowChanges.y	4
+XWMHints	56
+XWMHints.flags	0
+XWMHints.icon_mask	40
+XWMHints.icon_pixmap	16
+XWMHints.icon_window	24
+XWMHints.icon_x	32
+XWMHints.icon_y	36
+XWMHints.initial_state	12
+XWMHints.input	8
+XWMHints.window_group	48
--- a/make/data/x11wrappergen/sizes.32	Thu Mar 08 14:31:54 2018 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1017 +0,0 @@
-long	4
-int	4
-short	2
-ptr	4
-Bool	4
-Atom	4
-Window	4
-XExtData.number	0
-XExtData.next	4
-XExtData.free_private	8
-XExtData.private_data	12
-XExtData	16
-XIMStringConversionCallbackStruct.position	0
-XIMStringConversionCallbackStruct.direction	4
-XIMStringConversionCallbackStruct.operation	8
-XIMStringConversionCallbackStruct.factor	10
-XIMStringConversionCallbackStruct.text	12
-XIMStringConversionCallbackStruct	16
-XkbNewKeyboardNotifyEvent.type	0
-XkbNewKeyboardNotifyEvent.serial	4
-XkbNewKeyboardNotifyEvent.send_event	8
-XkbNewKeyboardNotifyEvent.display	12
-XkbNewKeyboardNotifyEvent.time	16
-XkbNewKeyboardNotifyEvent.xkb_type	20
-XkbNewKeyboardNotifyEvent.device	24
-XkbNewKeyboardNotifyEvent.old_device	28
-XkbNewKeyboardNotifyEvent.min_key_code	32
-XkbNewKeyboardNotifyEvent.max_key_code	36
-XkbNewKeyboardNotifyEvent.old_min_key_code	40
-XkbNewKeyboardNotifyEvent.old_max_key_code	44
-XkbNewKeyboardNotifyEvent.changed	48
-XkbNewKeyboardNotifyEvent.req_major	52
-XkbNewKeyboardNotifyEvent.req_minor	53
-XkbNewKeyboardNotifyEvent	56
-XTimeCoord.time	0
-XTimeCoord.x	4
-XTimeCoord.y	6
-XTimeCoord	8
-XkbCompatMapNotifyEvent.type	0
-XkbCompatMapNotifyEvent.serial	4
-XkbCompatMapNotifyEvent.send_event	8
-XkbCompatMapNotifyEvent.display	12
-XkbCompatMapNotifyEvent.time	16
-XkbCompatMapNotifyEvent.xkb_type	20
-XkbCompatMapNotifyEvent.device	24
-XkbCompatMapNotifyEvent.changed_groups	28
-XkbCompatMapNotifyEvent.first_si	32
-XkbCompatMapNotifyEvent.num_si	36
-XkbCompatMapNotifyEvent.num_total_si	40
-XkbCompatMapNotifyEvent	44
-XIMStatusDrawCallbackStruct.type	0
-XIMStatusDrawCallbackStruct.data	4
-XIMStatusDrawCallbackStruct	8
-XKeyboardControl.key_click_percent	0
-XKeyboardControl.bell_percent	4
-XKeyboardControl.bell_pitch	8
-XKeyboardControl.bell_duration	12
-XKeyboardControl.led	16
-XKeyboardControl.led_mode	20
-XKeyboardControl.key	24
-XKeyboardControl.auto_repeat_mode	28
-XKeyboardControl	32
-XSelectionClearEvent.type	0
-XSelectionClearEvent.serial	4
-XSelectionClearEvent.send_event	8
-XSelectionClearEvent.display	12
-XSelectionClearEvent.window	16
-XSelectionClearEvent.selection	20
-XSelectionClearEvent.time	24
-XSelectionClearEvent	28
-XWindowChanges.x	0
-XWindowChanges.y	4
-XWindowChanges.width	8
-XWindowChanges.height	12
-XWindowChanges.border_width	16
-XWindowChanges.sibling	20
-XWindowChanges.stack_mode	24
-XWindowChanges	28
-XIMPreeditCaretCallbackStruct.position	0
-XIMPreeditCaretCallbackStruct.direction	4
-XIMPreeditCaretCallbackStruct.style	8
-XIMPreeditCaretCallbackStruct	12
-XOMCharSetList.charset_count	0
-XOMCharSetList.charset_list	4
-XOMCharSetList	8
-XOMFontInfo.num_font	0
-XOMFontInfo.font_struct_list	4
-XOMFontInfo.font_name_list	8
-XOMFontInfo	12
-AwtScreenData.numConfigs	0
-AwtScreenData.root	4
-AwtScreenData.whitepixel	8
-AwtScreenData.blackpixel	12
-AwtScreenData.defaultConfig	16
-AwtScreenData.configs	20
-AwtScreenData	24
-XIMHotKeyTrigger.keysym	0
-XIMHotKeyTrigger.modifier	4
-XIMHotKeyTrigger.modifier_mask	8
-XIMHotKeyTrigger	12
-XCirculateEvent.type	0
-XCirculateEvent.serial	4
-XCirculateEvent.send_event	8
-XCirculateEvent.display	12
-XCirculateEvent.event	16
-XCirculateEvent.window	20
-XCirculateEvent.place	24
-XCirculateEvent	28
-Screen.ext_data	0
-Screen.display	4
-Screen.root	8
-Screen.width	12
-Screen.height	16
-Screen.mwidth	20
-Screen.mheight	24
-Screen.ndepths	28
-Screen.depths	32
-Screen.root_depth	36
-Screen.root_visual	40
-Screen.default_gc	44
-Screen.cmap	48
-Screen.white_pixel	52
-Screen.black_pixel	56
-Screen.max_maps	60
-Screen.min_maps	64
-Screen.backing_store	68
-Screen.save_unders	72
-Screen.root_input_mask	76
-Screen	80
-XMapRequestEvent.type	0
-XMapRequestEvent.serial	4
-XMapRequestEvent.send_event	8
-XMapRequestEvent.display	12
-XMapRequestEvent.parent	16
-XMapRequestEvent.window	20
-XMapRequestEvent	24
-XIMText.length	0
-XIMText.feedback	4
-XIMText.encoding_is_wchar	8
-XIMText.string	12
-XIMText	16
-XGraphicsExposeEvent.type	0
-XGraphicsExposeEvent.serial	4
-XGraphicsExposeEvent.send_event	8
-XGraphicsExposeEvent.display	12
-XGraphicsExposeEvent.drawable	16
-XGraphicsExposeEvent.x	20
-XGraphicsExposeEvent.y	24
-XGraphicsExposeEvent.width	28
-XGraphicsExposeEvent.height	32
-XGraphicsExposeEvent.count	36
-XGraphicsExposeEvent.major_code	40
-XGraphicsExposeEvent.minor_code	44
-XGraphicsExposeEvent	48
-XEvent.type	0
-XEvent.xany	0
-XEvent.xkey	0
-XEvent.xbutton	0
-XEvent.xmotion	0
-XEvent.xcrossing	0
-XEvent.xfocus	0
-XEvent.xexpose	0
-XEvent.xgraphicsexpose	0
-XEvent.xnoexpose	0
-XEvent.xvisibility	0
-XEvent.xcreatewindow	0
-XEvent.xdestroywindow	0
-XEvent.xunmap	0
-XEvent.xmap	0
-XEvent.xmaprequest	0
-XEvent.xreparent	0
-XEvent.xconfigure	0
-XEvent.xgravity	0
-XEvent.xresizerequest	0
-XEvent.xconfigurerequest	0
-XEvent.xcirculate	0
-XEvent.xcirculaterequest	0
-XEvent.xproperty	0
-XEvent.xselectionclear	0
-XEvent.xselectionrequest	0
-XEvent.xselection	0
-XEvent.xcolormap	0
-XEvent.xclient	0
-XEvent.xmapping	0
-XEvent.xerror	0
-XEvent.xkeymap	0
-XEvent.pad	0
-XEvent	96
-XRenderDirectFormat.red	0
-XRenderDirectFormat.redMask	2
-XRenderDirectFormat.green	4
-XRenderDirectFormat.greenMask	6
-XRenderDirectFormat.blue	8
-XRenderDirectFormat.blueMask	10
-XRenderDirectFormat.alpha	12
-XRenderDirectFormat.alphaMask	14
-XRenderDirectFormat	16
-ColorData.awt_Colors	0
-ColorData.awt_numICMcolors	4
-ColorData.awt_icmLUT	8
-ColorData.awt_icmLUT2Colors	12
-ColorData.img_grays	16
-ColorData.img_clr_tbl	20
-ColorData.img_oda_red	24
-ColorData.img_oda_green	28
-ColorData.img_oda_blue	32
-ColorData.pGrayInverseLutData	36
-ColorData.screendata	40
-ColorData.representsPrimaries	44
-ColorData	48
-XFontStruct.ext_data	0
-XFontStruct.fid	4
-XFontStruct.direction	8
-XFontStruct.min_char_or_byte2	12
-XFontStruct.max_char_or_byte2	16
-XFontStruct.min_byte1	20
-XFontStruct.max_byte1	24
-XFontStruct.all_chars_exist	28
-XFontStruct.n_properties	36
-XFontStruct.properties	40
-XFontStruct.min_bounds	44
-XFontStruct.max_bounds	56
-XFontStruct.per_char	68
-XFontStruct.ascent	72
-XFontStruct.descent	76
-XFontStruct	80
-XExtCodes.extension	0
-XExtCodes.major_opcode	4
-XExtCodes.first_event	8
-XExtCodes.first_error	12
-XExtCodes	16
-XFontSetExtents.max_ink_extent	0
-XFontSetExtents.max_logical_extent	8
-XFontSetExtents	16
-XSelectionEvent.type	0
-XSelectionEvent.serial	4
-XSelectionEvent.send_event	8
-XSelectionEvent.display	12
-XSelectionEvent.requestor	16
-XSelectionEvent.selection	20
-XSelectionEvent.target	24
-XSelectionEvent.property	28
-XSelectionEvent.time	32
-XSelectionEvent	36
-XArc.x	0
-XArc.y	2
-XArc.width	4
-XArc.height	6
-XArc.angle1	8
-XArc.angle2	10
-XArc	12
-XErrorEvent.type	0
-XErrorEvent.display	4
-XErrorEvent.resourceid	8
-XErrorEvent.serial	12
-XErrorEvent.error_code	16
-XErrorEvent.request_code	17
-XErrorEvent.minor_code	18
-XErrorEvent	20
-XConfigureRequestEvent.type	0
-XConfigureRequestEvent.serial	4
-XConfigureRequestEvent.send_event	8
-XConfigureRequestEvent.display	12
-XConfigureRequestEvent.parent	16
-XConfigureRequestEvent.window	20
-XConfigureRequestEvent.x	24
-XConfigureRequestEvent.y	28
-XConfigureRequestEvent.width	32
-XConfigureRequestEvent.height	36
-XConfigureRequestEvent.border_width	40
-XConfigureRequestEvent.above	44
-XConfigureRequestEvent.detail	48
-XConfigureRequestEvent.value_mask	52
-XConfigureRequestEvent	56
-ScreenFormat.ext_data	0
-ScreenFormat.depth	4
-ScreenFormat.bits_per_pixel	8
-ScreenFormat.scanline_pad	12
-ScreenFormat	16
-XButtonEvent.type	0
-XButtonEvent.serial	4
-XButtonEvent.send_event	8
-XButtonEvent.display	12
-XButtonEvent.window	16
-XButtonEvent.root	20
-XButtonEvent.subwindow	24
-XButtonEvent.time	28
-XButtonEvent.x	32
-XButtonEvent.y	36
-XButtonEvent.x_root	40
-XButtonEvent.y_root	44
-XButtonEvent.state	48
-XButtonEvent.button	52
-XButtonEvent.same_screen	56
-XButtonEvent	60
-XFontProp.name	0
-XFontProp.card32	4
-XFontProp	8
-XIMValuesList.count_values	0
-XIMValuesList.supported_values	4
-XIMValuesList	8
-XKeymapEvent.type	0
-XKeymapEvent.serial	4
-XKeymapEvent.send_event	8
-XKeymapEvent.display	12
-XKeymapEvent.window	16
-XKeymapEvent.key_vector	20
-XKeymapEvent	52
-XTextItem16.chars	0
-XTextItem16.nchars	4
-XTextItem16.delta	8
-XTextItem16.font	12
-XTextItem16	16
-XIMPreeditDrawCallbackStruct.caret	0
-XIMPreeditDrawCallbackStruct.chg_first	4
-XIMPreeditDrawCallbackStruct.chg_length	8
-XIMPreeditDrawCallbackStruct.text	12
-XIMPreeditDrawCallbackStruct	16
-XVisualInfo.visual	0
-XVisualInfo.visualid	4
-XVisualInfo.screen	8
-XVisualInfo.depth	12
-XVisualInfo.class	16
-XVisualInfo.red_mask	20
-XVisualInfo.green_mask	24
-XVisualInfo.blue_mask	28
-XVisualInfo.colormap_size	32
-XVisualInfo.bits_per_rgb	36
-XVisualInfo	40
-XkbControlsNotifyEvent.type	0
-XkbControlsNotifyEvent.serial	4
-XkbControlsNotifyEvent.send_event	8
-XkbControlsNotifyEvent.display	12
-XkbControlsNotifyEvent.time	16
-XkbControlsNotifyEvent.xkb_type	20
-XkbControlsNotifyEvent.device	24
-XkbControlsNotifyEvent.changed_ctrls	28
-XkbControlsNotifyEvent.enabled_ctrls	32
-XkbControlsNotifyEvent.enabled_ctrl_changes	36
-XkbControlsNotifyEvent.num_groups	40
-XkbControlsNotifyEvent.keycode	44
-XkbControlsNotifyEvent.event_type	45
-XkbControlsNotifyEvent.req_major	46
-XkbControlsNotifyEvent.req_minor	47
-XkbControlsNotifyEvent	48
-PropMwmHints.flags	0
-PropMwmHints.functions	4
-PropMwmHints.decorations	8
-PropMwmHints.inputMode	12
-PropMwmHints.status	16
-PropMwmHints	20
-XClientMessageEvent.type	0
-XClientMessageEvent.serial	4
-XClientMessageEvent.send_event	8
-XClientMessageEvent.display	12
-XClientMessageEvent.window	16
-XClientMessageEvent.message_type	20
-XClientMessageEvent.format	24
-XClientMessageEvent.data	28
-XClientMessageEvent	48
-XAnyEvent.type	0
-XAnyEvent.serial	4
-XAnyEvent.send_event	8
-XAnyEvent.display	12
-XAnyEvent.window	16
-XAnyEvent	20
-XkbIndicatorNotifyEvent.type	0
-XkbIndicatorNotifyEvent.serial	4
-XkbIndicatorNotifyEvent.send_event	8
-XkbIndicatorNotifyEvent.display	12
-XkbIndicatorNotifyEvent.time	16
-XkbIndicatorNotifyEvent.xkb_type	20
-XkbIndicatorNotifyEvent.device	24
-XkbIndicatorNotifyEvent.changed	28
-XkbIndicatorNotifyEvent.state	32
-XkbIndicatorNotifyEvent	36
-XIMPreeditStateNotifyCallbackStruct.state	0
-XIMPreeditStateNotifyCallbackStruct	4
-XkbAnyEvent.type	0
-XkbAnyEvent.serial	4
-XkbAnyEvent.send_event	8
-XkbAnyEvent.display	12
-XkbAnyEvent.time	16
-XkbAnyEvent.xkb_type	20
-XkbAnyEvent.device	24
-XkbAnyEvent	28
-XMotionEvent.type	0
-XMotionEvent.serial	4
-XMotionEvent.send_event	8
-XMotionEvent.display	12
-XMotionEvent.window	16
-XMotionEvent.root	20
-XMotionEvent.subwindow	24
-XMotionEvent.time	28
-XMotionEvent.x	32
-XMotionEvent.y	36
-XMotionEvent.x_root	40
-XMotionEvent.y_root	44
-XMotionEvent.state	48
-XMotionEvent.is_hint	52
-XMotionEvent.same_screen	56
-XMotionEvent	60
-XIMHotKeyTriggers.num_hot_key	0
-XIMHotKeyTriggers.key	4
-XIMHotKeyTriggers	8
-XIMStyles.count_styles	0
-XIMStyles.supported_styles	4
-XIMStyles	8
-XkbExtensionDeviceNotifyEvent.type	0
-XkbExtensionDeviceNotifyEvent.serial	4
-XkbExtensionDeviceNotifyEvent.send_event	8
-XkbExtensionDeviceNotifyEvent.display	12
-XkbExtensionDeviceNotifyEvent.time	16
-XkbExtensionDeviceNotifyEvent.xkb_type	20
-XkbExtensionDeviceNotifyEvent.device	24
-XkbExtensionDeviceNotifyEvent.reason	28
-XkbExtensionDeviceNotifyEvent.supported	32
-XkbExtensionDeviceNotifyEvent.unsupported	36
-XkbExtensionDeviceNotifyEvent.first_btn	40
-XkbExtensionDeviceNotifyEvent.num_btns	44
-XkbExtensionDeviceNotifyEvent.leds_defined	48
-XkbExtensionDeviceNotifyEvent.led_state	52
-XkbExtensionDeviceNotifyEvent.led_class	56
-XkbExtensionDeviceNotifyEvent.led_id	60
-XkbExtensionDeviceNotifyEvent	64
-XwcTextItem.chars	0
-XwcTextItem.nchars	4
-XwcTextItem.delta	8
-XwcTextItem.font_set	12
-XwcTextItem	16
-XClassHint.res_name	0
-XClassHint.res_class	4
-XClassHint	8
-XChar2b.byte1	0
-XChar2b.byte2	1
-XChar2b	2
-XSetWindowAttributes.background_pixmap	0
-XSetWindowAttributes.background_pixel	4
-XSetWindowAttributes.border_pixmap	8
-XSetWindowAttributes.border_pixel	12
-XSetWindowAttributes.bit_gravity	16
-XSetWindowAttributes.win_gravity	20
-XSetWindowAttributes.backing_store	24
-XSetWindowAttributes.backing_planes	28
-XSetWindowAttributes.backing_pixel	32
-XSetWindowAttributes.save_under	36
-XSetWindowAttributes.event_mask	40
-XSetWindowAttributes.do_not_propagate_mask	44
-XSetWindowAttributes.override_redirect	48
-XSetWindowAttributes.colormap	52
-XSetWindowAttributes.cursor	56
-XSetWindowAttributes	60
-XRenderPictFormat.id	0
-XRenderPictFormat.type	4
-XRenderPictFormat.depth	8
-XRenderPictFormat.direct	12
-XRenderPictFormat.colormap	28
-XRenderPictFormat	32
-XReparentEvent.type	0
-XReparentEvent.serial	4
-XReparentEvent.send_event	8
-XReparentEvent.display	12
-XReparentEvent.event	16
-XReparentEvent.window	20
-XReparentEvent.parent	24
-XReparentEvent.x	28
-XReparentEvent.y	32
-XReparentEvent.override_redirect	36
-XReparentEvent	40
-XCirculateRequestEvent.type	0
-XCirculateRequestEvent.serial	4
-XCirculateRequestEvent.send_event	8
-XCirculateRequestEvent.display	12
-XCirculateRequestEvent.parent	16
-XCirculateRequestEvent.window	20
-XCirculateRequestEvent.place	24
-XCirculateRequestEvent	28
-XImage.width	0
-XImage.height	4
-XImage.xoffset	8
-XImage.format	12
-XImage.data	16
-XImage.byte_order	20
-XImage.bitmap_unit	24
-XImage.bitmap_bit_order	28
-XImage.bitmap_pad	32
-XImage.depth	36
-XImage.bytes_per_line	40
-XImage.bits_per_pixel	44
-XImage.red_mask	48
-XImage.green_mask	52
-XImage.blue_mask	56
-XImage.obdata	60
-XImage.f.create_image	64
-XImage.f.destroy_image	68
-XImage.f.get_pixel	72
-XImage.f.put_pixel	76
-XImage.f.sub_image	80
-XImage.f.add_pixel	84
-XImage	88
-XKeyEvent.type	0
-XKeyEvent.serial	4
-XKeyEvent.send_event	8
-XKeyEvent.display	12
-XKeyEvent.window	16
-XKeyEvent.root	20
-XKeyEvent.subwindow	24
-XKeyEvent.time	28
-XKeyEvent.x	32
-XKeyEvent.y	36
-XKeyEvent.x_root	40
-XKeyEvent.y_root	44
-XKeyEvent.state	48
-XKeyEvent.keycode	52
-XKeyEvent.same_screen	56
-XKeyEvent	60
-XkbActionMessageEvent.type	0
-XkbActionMessageEvent.serial	4
-XkbActionMessageEvent.send_event	8
-XkbActionMessageEvent.display	12
-XkbActionMessageEvent.time	16
-XkbActionMessageEvent.xkb_type	20
-XkbActionMessageEvent.device	24
-XkbActionMessageEvent.keycode	28
-XkbActionMessageEvent.press	32
-XkbActionMessageEvent.key_event_follows	36
-XkbActionMessageEvent.group	40
-XkbActionMessageEvent.mods	44
-XkbActionMessageEvent.message	48
-XkbActionMessageEvent	56
-XdbeSwapInfo.swap_window	0
-XdbeSwapInfo.swap_action	4
-XdbeSwapInfo	8
-XTextItem.chars	0
-XTextItem.nchars	4
-XTextItem.delta	8
-XTextItem.font	12
-XTextItem	16
-XModifierKeymap.max_keypermod	0
-XModifierKeymap.modifiermap	4
-XModifierKeymap	8
-XCharStruct.lbearing	0
-XCharStruct.rbearing	2
-XCharStruct.width	4
-XCharStruct.ascent	6
-XCharStruct.descent	8
-XCharStruct.attributes	10
-XCharStruct	12
-XGravityEvent.type	0
-XGravityEvent.serial	4
-XGravityEvent.send_event	8
-XGravityEvent.display	12
-XGravityEvent.event	16
-XGravityEvent.window	20
-XGravityEvent.x	24
-XGravityEvent.y	28
-XGravityEvent	32
-Visual.ext_data	0
-Visual.visualid	4
-Visual.class	8
-Visual.red_mask	12
-Visual.green_mask	16
-Visual.blue_mask	20
-Visual.bits_per_rgb	24
-Visual.map_entries	28
-Visual	32
-XOMOrientation.num_orientation	0
-XOMOrientation.orientation	4
-XOMOrientation	8
-XkbAccessXNotifyEvent.type	0
-XkbAccessXNotifyEvent.serial	4
-XkbAccessXNotifyEvent.send_event	8
-XkbAccessXNotifyEvent.display	12
-XkbAccessXNotifyEvent.time	16
-XkbAccessXNotifyEvent.xkb_type	20
-XkbAccessXNotifyEvent.device	24
-XkbAccessXNotifyEvent.detail	28
-XkbAccessXNotifyEvent.keycode	32
-XkbAccessXNotifyEvent.sk_delay	36
-XkbAccessXNotifyEvent.debounce_delay	40
-XkbAccessXNotifyEvent	44
-XWindowAttributes.x	0
-XWindowAttributes.y	4
-XWindowAttributes.width	8
-XWindowAttributes.height	12
-XWindowAttributes.border_width	16
-XWindowAttributes.depth	20
-XWindowAttributes.visual	24
-XWindowAttributes.root	28
-XWindowAttributes.class	32
-XWindowAttributes.bit_gravity	36
-XWindowAttributes.win_gravity	40
-XWindowAttributes.backing_store	44
-XWindowAttributes.backing_planes	48
-XWindowAttributes.backing_pixel	52
-XWindowAttributes.save_under	56
-XWindowAttributes.colormap	60
-XWindowAttributes.map_installed	64
-XWindowAttributes.map_state	68
-XWindowAttributes.all_event_masks	72
-XWindowAttributes.your_event_mask	76
-XWindowAttributes.do_not_propagate_mask	80
-XWindowAttributes.override_redirect	84
-XWindowAttributes.screen	88
-XWindowAttributes	92
-XmbTextItem.chars	0
-XmbTextItem.nchars	4
-XmbTextItem.delta	8
-XmbTextItem.font_set	12
-XmbTextItem	16
-XMappingEvent.type	0
-XMappingEvent.serial	4
-XMappingEvent.send_event	8
-XMappingEvent.display	12
-XMappingEvent.window	16
-XMappingEvent.request	20
-XMappingEvent.first_keycode	24
-XMappingEvent.count	28
-XMappingEvent	32
-XSizeHints.flags	0
-XSizeHints.x	4
-XSizeHints.y	8
-XSizeHints.width	12
-XSizeHints.height	16
-XSizeHints.min_width	20
-XSizeHints.min_height	24
-XSizeHints.max_width	28
-XSizeHints.max_height	32
-XSizeHints.width_inc	36
-XSizeHints.height_inc	40
-XSizeHints.min_aspect.x	44
-XSizeHints.min_aspect.y	48
-XSizeHints.max_aspect.x	52
-XSizeHints.max_aspect.y	56
-XSizeHints.base_width	60
-XSizeHints.base_height	64
-XSizeHints.win_gravity	68
-XSizeHints	72
-XUnmapEvent.type	0
-XUnmapEvent.serial	4
-XUnmapEvent.send_event	8
-XUnmapEvent.display	12
-XUnmapEvent.event	16
-XUnmapEvent.window	20
-XUnmapEvent.from_configure	24
-XUnmapEvent	28
-awtImageData.Depth	0
-awtImageData.wsImageFormat	4
-awtImageData.clrdata	16
-awtImageData.convert	48
-awtImageData	304
-XkbStateNotifyEvent.type	0
-XkbStateNotifyEvent.serial	4
-XkbStateNotifyEvent.send_event	8
-XkbStateNotifyEvent.display	12
-XkbStateNotifyEvent.time	16
-XkbStateNotifyEvent.xkb_type	20
-XkbStateNotifyEvent.device	24
-XkbStateNotifyEvent.changed	28
-XkbStateNotifyEvent.group	32
-XkbStateNotifyEvent.base_group	36
-XkbStateNotifyEvent.latched_group	40
-XkbStateNotifyEvent.locked_group	44
-XkbStateNotifyEvent.mods	48
-XkbStateNotifyEvent.base_mods	52
-XkbStateNotifyEvent.latched_mods	56
-XkbStateNotifyEvent.locked_mods	60
-XkbStateNotifyEvent.compat_state	64
-XkbStateNotifyEvent.grab_mods	68
-XkbStateNotifyEvent.compat_grab_mods	69
-XkbStateNotifyEvent.lookup_mods	70
-XkbStateNotifyEvent.compat_lookup_mods	71
-XkbStateNotifyEvent.ptr_buttons	72
-XkbStateNotifyEvent.keycode	76
-XkbStateNotifyEvent.event_type	77
-XkbStateNotifyEvent.req_major	78
-XkbStateNotifyEvent.req_minor	79
-XkbStateNotifyEvent	80
-XExposeEvent.type	0
-XExposeEvent.serial	4
-XExposeEvent.send_event	8
-XExposeEvent.display	12
-XExposeEvent.window	16
-XExposeEvent.x	20
-XExposeEvent.y	24
-XExposeEvent.width	28
-XExposeEvent.height	32
-XExposeEvent.count	36
-XExposeEvent	40
-XkbMapNotifyEvent.type	0
-XkbMapNotifyEvent.serial	4
-XkbMapNotifyEvent.send_event	8
-XkbMapNotifyEvent.display	12
-XkbMapNotifyEvent.time	16
-XkbMapNotifyEvent.xkb_type	20
-XkbMapNotifyEvent.device	24
-XkbMapNotifyEvent.changed	28
-XkbMapNotifyEvent.flags	32
-XkbMapNotifyEvent.first_type	36
-XkbMapNotifyEvent.num_types	40
-XkbMapNotifyEvent.min_key_code	44
-XkbMapNotifyEvent.max_key_code	45
-XkbMapNotifyEvent.first_key_sym	46
-XkbMapNotifyEvent.first_key_act	47
-XkbMapNotifyEvent.first_key_behavior	48
-XkbMapNotifyEvent.first_key_explicit	49
-XkbMapNotifyEvent.first_modmap_key	50
-XkbMapNotifyEvent.first_vmodmap_key	51
-XkbMapNotifyEvent.num_key_syms	52
-XkbMapNotifyEvent.num_key_acts	56
-XkbMapNotifyEvent.num_key_behaviors	60
-XkbMapNotifyEvent.num_key_explicit	64
-XkbMapNotifyEvent.num_modmap_keys	68
-XkbMapNotifyEvent.num_vmodmap_keys	72
-XkbMapNotifyEvent.vmods	76
-XkbMapNotifyEvent	80
-XGCValues.function	0
-XGCValues.plane_mask	4
-XGCValues.foreground	8
-XGCValues.background	12
-XGCValues.line_width	16
-XGCValues.line_style	20
-XGCValues.cap_style	24
-XGCValues.join_style	28
-XGCValues.fill_style	32
-XGCValues.fill_rule	36
-XGCValues.arc_mode	40
-XGCValues.tile	44
-XGCValues.stipple	48
-XGCValues.ts_x_origin	52
-XGCValues.ts_y_origin	56
-XGCValues.font	60
-XGCValues.subwindow_mode	64
-XGCValues.graphics_exposures	68
-XGCValues.clip_x_origin	72
-XGCValues.clip_y_origin	76
-XGCValues.clip_mask	80
-XGCValues.dash_offset	84
-XGCValues.dashes	88
-XGCValues	92
-XFocusChangeEvent.type	0
-XFocusChangeEvent.serial	4
-XFocusChangeEvent.send_event	8
-XFocusChangeEvent.display	12
-XFocusChangeEvent.window	16
-XFocusChangeEvent.mode	20
-XFocusChangeEvent.detail	24
-XFocusChangeEvent	28
-XPixmapFormatValues.depth	0
-XPixmapFormatValues.bits_per_pixel	4
-XPixmapFormatValues.scanline_pad	8
-XPixmapFormatValues	12
-XMapEvent.type	0
-XMapEvent.serial	4
-XMapEvent.send_event	8
-XMapEvent.display	12
-XMapEvent.event	16
-XMapEvent.window	20
-XMapEvent.override_redirect	24
-XMapEvent	28
-XkbBellNotifyEvent.type	0
-XkbBellNotifyEvent.serial	4
-XkbBellNotifyEvent.send_event	8
-XkbBellNotifyEvent.display	12
-XkbBellNotifyEvent.time	16
-XkbBellNotifyEvent.xkb_type	20
-XkbBellNotifyEvent.device	24
-XkbBellNotifyEvent.percent	28
-XkbBellNotifyEvent.pitch	32
-XkbBellNotifyEvent.duration	36
-XkbBellNotifyEvent.bell_class	40
-XkbBellNotifyEvent.bell_id	44
-XkbBellNotifyEvent.name	48
-XkbBellNotifyEvent.window	52
-XkbBellNotifyEvent.event_only	56
-XkbBellNotifyEvent	60
-XIMStringConversionText.length	0
-XIMStringConversionText.feedback	4
-XIMStringConversionText.encoding_is_wchar	8
-XIMStringConversionText.string	12
-XIMStringConversionText	16
-XKeyboardState.key_click_percent	0
-XKeyboardState.bell_percent	4
-XKeyboardState.bell_pitch	8
-XKeyboardState.bell_duration	12
-XKeyboardState.led_mask	16
-XKeyboardState.global_auto_repeat	20
-XKeyboardState.auto_repeats	24
-XKeyboardState	56
-XkbEvent.type	0
-XkbEvent.any	0
-XkbEvent.new_kbd	0
-XkbEvent.map	0
-XkbEvent.state	0
-XkbEvent.ctrls	0
-XkbEvent.indicators	0
-XkbEvent.names	0
-XkbEvent.compat	0
-XkbEvent.bell	0
-XkbEvent.message	0
-XkbEvent.accessx	0
-XkbEvent.device	0
-XkbEvent.core	0
-XkbEvent	96
-XPoint.x	0
-XPoint.y	2
-XPoint	4
-XSegment.x1	0
-XSegment.y1	2
-XSegment.x2	4
-XSegment.y2	6
-XSegment	8
-XIconSize.min_width	0
-XIconSize.min_height	4
-XIconSize.max_width	8
-XIconSize.max_height	12
-XIconSize.width_inc	16
-XIconSize.height_inc	20
-XIconSize	24
-XIMCallback.client_data	0
-XIMCallback.callback	4
-XIMCallback	8
-XConfigureEvent.type	0
-XConfigureEvent.serial	4
-XConfigureEvent.send_event	8
-XConfigureEvent.display	12
-XConfigureEvent.event	16
-XConfigureEvent.window	20
-XConfigureEvent.x	24
-XConfigureEvent.y	28
-XConfigureEvent.width	32
-XConfigureEvent.height	36
-XConfigureEvent.border_width	40
-XConfigureEvent.above	44
-XConfigureEvent.override_redirect	48
-XConfigureEvent	52
-XRectangle.x	0
-XRectangle.y	2
-XRectangle.width	4
-XRectangle.height	6
-XRectangle	8
-XkbNamesNotifyEvent.type	0
-XkbNamesNotifyEvent.serial	4
-XkbNamesNotifyEvent.send_event	8
-XkbNamesNotifyEvent.display	12
-XkbNamesNotifyEvent.time	16
-XkbNamesNotifyEvent.xkb_type	20
-XkbNamesNotifyEvent.device	24
-XkbNamesNotifyEvent.changed	28
-XkbNamesNotifyEvent.first_type	32
-XkbNamesNotifyEvent.num_types	36
-XkbNamesNotifyEvent.first_lvl	40
-XkbNamesNotifyEvent.num_lvls	44
-XkbNamesNotifyEvent.num_aliases	48
-XkbNamesNotifyEvent.num_radio_groups	52
-XkbNamesNotifyEvent.changed_vmods	56
-XkbNamesNotifyEvent.changed_groups	60
-XkbNamesNotifyEvent.changed_indicators	64
-XkbNamesNotifyEvent.first_key	68
-XkbNamesNotifyEvent.num_keys	72
-XkbNamesNotifyEvent	76
-XCreateWindowEvent.type	0
-XCreateWindowEvent.serial	4
-XCreateWindowEvent.send_event	8
-XCreateWindowEvent.display	12
-XCreateWindowEvent.parent	16
-XCreateWindowEvent.window	20
-XCreateWindowEvent.x	24
-XCreateWindowEvent.y	28
-XCreateWindowEvent.width	32
-XCreateWindowEvent.height	36
-XCreateWindowEvent.border_width	40
-XCreateWindowEvent.override_redirect	44
-XCreateWindowEvent	48
-XVisibilityEvent.type	0
-XVisibilityEvent.serial	4
-XVisibilityEvent.send_event	8
-XVisibilityEvent.display	12
-XVisibilityEvent.window	16
-XVisibilityEvent.state	20
-XVisibilityEvent	24
-XWMHints.flags	0
-XWMHints.initial_state	8
-XWMHints.icon_pixmap	12
-XWMHints.icon_window	16
-XWMHints.icon_x	20
-XWMHints.icon_y	24
-XWMHints.icon_mask	28
-XWMHints.input	4
-XWMHints.window_group	32
-XWMHints	36
-XCrossingEvent.type	0
-XCrossingEvent.serial	4
-XCrossingEvent.send_event	8
-XCrossingEvent.display	12
-XCrossingEvent.window	16
-XCrossingEvent.root	20
-XCrossingEvent.subwindow	24
-XCrossingEvent.time	28
-XCrossingEvent.x	32
-XCrossingEvent.y	36
-XCrossingEvent.x_root	40
-XCrossingEvent.y_root	44
-XCrossingEvent.mode	48
-XCrossingEvent.detail	52
-XCrossingEvent.same_screen	56
-XCrossingEvent.focus	60
-XCrossingEvent.state	64
-XCrossingEvent	68
-XSelectionRequestEvent.type	0
-XSelectionRequestEvent.serial	4
-XSelectionRequestEvent.send_event	8
-XSelectionRequestEvent.display	12
-XSelectionRequestEvent.owner	16
-XSelectionRequestEvent.requestor	20
-XSelectionRequestEvent.selection	24
-XSelectionRequestEvent.target	28
-XSelectionRequestEvent.property	32
-XSelectionRequestEvent.time	36
-XSelectionRequestEvent	40
-XNoExposeEvent.type	0
-XNoExposeEvent.serial	4
-XNoExposeEvent.send_event	8
-XNoExposeEvent.display	12
-XNoExposeEvent.drawable	16
-XNoExposeEvent.major_code	20
-XNoExposeEvent.minor_code	24
-XNoExposeEvent	28
-XHostAddress.family	0
-XHostAddress.length	4
-XHostAddress.address	8
-XHostAddress	12
-XColormapEvent.type	0
-XColormapEvent.serial	4
-XColormapEvent.send_event	8
-XColormapEvent.display	12
-XColormapEvent.window	16
-XColormapEvent.colormap	20
-XColormapEvent.new	24
-XColormapEvent.state	28
-XColormapEvent	32
-ColorEntry.r	0
-ColorEntry.g	1
-ColorEntry.b	2
-ColorEntry.flags	3
-ColorEntry	4
-XResizeRequestEvent.type	0
-XResizeRequestEvent.serial	4
-XResizeRequestEvent.send_event	8
-XResizeRequestEvent.display	12
-XResizeRequestEvent.window	16
-XResizeRequestEvent.width	20
-XResizeRequestEvent.height	24
-XResizeRequestEvent	28
-Depth.depth	0
-Depth.nvisuals	4
-Depth.visuals	8
-Depth	12
-XPropertyEvent.type	0
-XPropertyEvent.serial	4
-XPropertyEvent.send_event	8
-XPropertyEvent.display	12
-XPropertyEvent.window	16
-XPropertyEvent.atom	20
-XPropertyEvent.time	24
-XPropertyEvent.state	28
-XPropertyEvent	32
-XDestroyWindowEvent.type	0
-XDestroyWindowEvent.serial	4
-XDestroyWindowEvent.send_event	8
-XDestroyWindowEvent.display	12
-XDestroyWindowEvent.event	16
-XDestroyWindowEvent.window	20
-XDestroyWindowEvent	24
-XStandardColormap.colormap	0
-XStandardColormap.red_max	4
-XStandardColormap.red_mult	8
-XStandardColormap.green_max	12
-XStandardColormap.green_mult	16
-XStandardColormap.blue_max	20
-XStandardColormap.blue_mult	24
-XStandardColormap.base_pixel	28
-XStandardColormap.visualid	32
-XStandardColormap.killid	36
-XStandardColormap	40
-XComposeStatus.compose_ptr	0
-XComposeStatus.chars_matched	4
-XComposeStatus	8
-AwtGraphicsConfigData.awt_depth	0
-AwtGraphicsConfigData.awt_cmap	4
-AwtGraphicsConfigData.awt_visInfo	8
-AwtGraphicsConfigData.awt_num_colors	48
-AwtGraphicsConfigData.awtImage	52
-AwtGraphicsConfigData.AwtColorMatch	56
-AwtGraphicsConfigData.monoImage	60
-AwtGraphicsConfigData.monoPixmap	64
-AwtGraphicsConfigData.monoPixmapWidth	68
-AwtGraphicsConfigData.monoPixmapHeight	72
-AwtGraphicsConfigData.monoPixmapGC	76
-AwtGraphicsConfigData.pixelStride	80
-AwtGraphicsConfigData.color_data	84
-AwtGraphicsConfigData.glxInfo	88
-AwtGraphicsConfigData.isTranslucencySupported	92
-AwtGraphicsConfigData.renderPictFormat	96
-AwtGraphicsConfigData	128
-XColor.pixel	0
-XColor.red	4
-XColor.green	6
-XColor.blue	8
-XColor.flags	10
-XColor.pad	11
-XColor	12
-XTextProperty.value	0
-XTextProperty.encoding	4
-XTextProperty.format	8
-XTextProperty.nitems	12
-XTextProperty	16
--- a/make/data/x11wrappergen/sizes.64	Thu Mar 08 14:31:54 2018 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1017 +0,0 @@
-long	8
-int	4
-short	2
-ptr	8
-Bool	4
-Atom	8
-Window	8
-XExtData.number	0
-XExtData.next	8
-XExtData.free_private	16
-XExtData.private_data	24
-XExtData	32
-XIMStringConversionCallbackStruct.position	0
-XIMStringConversionCallbackStruct.direction	4
-XIMStringConversionCallbackStruct.operation	8
-XIMStringConversionCallbackStruct.factor	10
-XIMStringConversionCallbackStruct.text	16
-XIMStringConversionCallbackStruct	24
-XkbNewKeyboardNotifyEvent.type	0
-XkbNewKeyboardNotifyEvent.serial	8
-XkbNewKeyboardNotifyEvent.send_event	16
-XkbNewKeyboardNotifyEvent.display	24
-XkbNewKeyboardNotifyEvent.time	32
-XkbNewKeyboardNotifyEvent.xkb_type	40
-XkbNewKeyboardNotifyEvent.device	44
-XkbNewKeyboardNotifyEvent.old_device	48
-XkbNewKeyboardNotifyEvent.min_key_code	52
-XkbNewKeyboardNotifyEvent.max_key_code	56
-XkbNewKeyboardNotifyEvent.old_min_key_code	60
-XkbNewKeyboardNotifyEvent.old_max_key_code	64
-XkbNewKeyboardNotifyEvent.changed	68
-XkbNewKeyboardNotifyEvent.req_major	72
-XkbNewKeyboardNotifyEvent.req_minor	73
-XkbNewKeyboardNotifyEvent	80
-XTimeCoord.time	0
-XTimeCoord.x	8
-XTimeCoord.y	10
-XTimeCoord	16
-XkbCompatMapNotifyEvent.type	0
-XkbCompatMapNotifyEvent.serial	8
-XkbCompatMapNotifyEvent.send_event	16
-XkbCompatMapNotifyEvent.display	24
-XkbCompatMapNotifyEvent.time	32
-XkbCompatMapNotifyEvent.xkb_type	40
-XkbCompatMapNotifyEvent.device	44
-XkbCompatMapNotifyEvent.changed_groups	48
-XkbCompatMapNotifyEvent.first_si	52
-XkbCompatMapNotifyEvent.num_si	56
-XkbCompatMapNotifyEvent.num_total_si	60
-XkbCompatMapNotifyEvent	64
-XIMStatusDrawCallbackStruct.type	0
-XIMStatusDrawCallbackStruct.data	8
-XIMStatusDrawCallbackStruct	16
-XKeyboardControl.key_click_percent	0
-XKeyboardControl.bell_percent	4
-XKeyboardControl.bell_pitch	8
-XKeyboardControl.bell_duration	12
-XKeyboardControl.led	16
-XKeyboardControl.led_mode	20
-XKeyboardControl.key	24
-XKeyboardControl.auto_repeat_mode	28
-XKeyboardControl	32
-XSelectionClearEvent.type	0
-XSelectionClearEvent.serial	8
-XSelectionClearEvent.send_event	16
-XSelectionClearEvent.display	24
-XSelectionClearEvent.window	32
-XSelectionClearEvent.selection	40
-XSelectionClearEvent.time	48
-XSelectionClearEvent	56
-XWindowChanges.x	0
-XWindowChanges.y	4
-XWindowChanges.width	8
-XWindowChanges.height	12
-XWindowChanges.border_width	16
-XWindowChanges.sibling	24
-XWindowChanges.stack_mode	32
-XWindowChanges	40
-XIMPreeditCaretCallbackStruct.position	0
-XIMPreeditCaretCallbackStruct.direction	4
-XIMPreeditCaretCallbackStruct.style	8
-XIMPreeditCaretCallbackStruct	12
-XOMCharSetList.charset_count	0
-XOMCharSetList.charset_list	8
-XOMCharSetList	16
-XOMFontInfo.num_font	0
-XOMFontInfo.font_struct_list	8
-XOMFontInfo.font_name_list	16
-XOMFontInfo	24
-AwtScreenData.numConfigs	0
-AwtScreenData.root	8
-AwtScreenData.whitepixel	16
-AwtScreenData.blackpixel	24
-AwtScreenData.defaultConfig	32
-AwtScreenData.configs	40
-AwtScreenData	48
-XIMHotKeyTrigger.keysym	0
-XIMHotKeyTrigger.modifier	8
-XIMHotKeyTrigger.modifier_mask	12
-XIMHotKeyTrigger	16
-XCirculateEvent.type	0
-XCirculateEvent.serial	8
-XCirculateEvent.send_event	16
-XCirculateEvent.display	24
-XCirculateEvent.event	32
-XCirculateEvent.window	40
-XCirculateEvent.place	48
-XCirculateEvent	56
-Screen.ext_data	0
-Screen.display	8
-Screen.root	16
-Screen.width	24
-Screen.height	28
-Screen.mwidth	32
-Screen.mheight	36
-Screen.ndepths	40
-Screen.depths	48
-Screen.root_depth	56
-Screen.root_visual	64
-Screen.default_gc	72
-Screen.cmap	80
-Screen.white_pixel	88
-Screen.black_pixel	96
-Screen.max_maps	104
-Screen.min_maps	108
-Screen.backing_store	112
-Screen.save_unders	116
-Screen.root_input_mask	120
-Screen	128
-XMapRequestEvent.type	0
-XMapRequestEvent.serial	8
-XMapRequestEvent.send_event	16
-XMapRequestEvent.display	24
-XMapRequestEvent.parent	32
-XMapRequestEvent.window	40
-XMapRequestEvent	48
-XIMText.length	0
-XIMText.feedback	8
-XIMText.encoding_is_wchar	16
-XIMText.string	24
-XIMText	32
-XGraphicsExposeEvent.type	0
-XGraphicsExposeEvent.serial	8
-XGraphicsExposeEvent.send_event	16
-XGraphicsExposeEvent.display	24
-XGraphicsExposeEvent.drawable	32
-XGraphicsExposeEvent.x	40
-XGraphicsExposeEvent.y	44
-XGraphicsExposeEvent.width	48
-XGraphicsExposeEvent.height	52
-XGraphicsExposeEvent.count	56
-XGraphicsExposeEvent.major_code	60
-XGraphicsExposeEvent.minor_code	64
-XGraphicsExposeEvent	72
-XEvent.type	0
-XEvent.xany	0
-XEvent.xkey	0
-XEvent.xbutton	0
-XEvent.xmotion	0
-XEvent.xcrossing	0
-XEvent.xfocus	0
-XEvent.xexpose	0
-XEvent.xgraphicsexpose	0
-XEvent.xnoexpose	0
-XEvent.xvisibility	0
-XEvent.xcreatewindow	0
-XEvent.xdestroywindow	0
-XEvent.xunmap	0
-XEvent.xmap	0
-XEvent.xmaprequest	0
-XEvent.xreparent	0
-XEvent.xconfigure	0
-XEvent.xgravity	0
-XEvent.xresizerequest	0
-XEvent.xconfigurerequest	0
-XEvent.xcirculate	0
-XEvent.xcirculaterequest	0
-XEvent.xproperty	0
-XEvent.xselectionclear	0
-XEvent.xselectionrequest	0
-XEvent.xselection	0
-XEvent.xcolormap	0
-XEvent.xclient	0
-XEvent.xmapping	0
-XEvent.xerror	0
-XEvent.xkeymap	0
-XEvent.pad	0
-XEvent	192
-XRenderDirectFormat.red	0
-XRenderDirectFormat.redMask	2
-XRenderDirectFormat.green	4
-XRenderDirectFormat.greenMask	6
-XRenderDirectFormat.blue	8
-XRenderDirectFormat.blueMask	10
-XRenderDirectFormat.alpha	12
-XRenderDirectFormat.alphaMask	14
-XRenderDirectFormat	16
-ColorData.awt_Colors	0
-ColorData.awt_numICMcolors	8
-ColorData.awt_icmLUT	16
-ColorData.awt_icmLUT2Colors	24
-ColorData.img_grays	32
-ColorData.img_clr_tbl	40
-ColorData.img_oda_red	48
-ColorData.img_oda_green	56
-ColorData.img_oda_blue	64
-ColorData.pGrayInverseLutData	72
-ColorData.screendata	80
-ColorData.representsPrimaries	84
-ColorData	88
-XFontStruct.ext_data	0
-XFontStruct.fid	8
-XFontStruct.direction	16
-XFontStruct.min_char_or_byte2	20
-XFontStruct.max_char_or_byte2	24
-XFontStruct.min_byte1	28
-XFontStruct.max_byte1	32
-XFontStruct.all_chars_exist	36
-XFontStruct.n_properties	44
-XFontStruct.properties	48
-XFontStruct.min_bounds	56
-XFontStruct.max_bounds	68
-XFontStruct.per_char	80
-XFontStruct.ascent	88
-XFontStruct.descent	92
-XFontStruct	96
-XExtCodes.extension	0
-XExtCodes.major_opcode	4
-XExtCodes.first_event	8
-XExtCodes.first_error	12
-XExtCodes	16
-XFontSetExtents.max_ink_extent	0
-XFontSetExtents.max_logical_extent	8
-XFontSetExtents	16
-XSelectionEvent.type	0
-XSelectionEvent.serial	8
-XSelectionEvent.send_event	16
-XSelectionEvent.display	24
-XSelectionEvent.requestor	32
-XSelectionEvent.selection	40
-XSelectionEvent.target	48
-XSelectionEvent.property	56
-XSelectionEvent.time	64
-XSelectionEvent	72
-XArc.x	0
-XArc.y	2
-XArc.width	4
-XArc.height	6
-XArc.angle1	8
-XArc.angle2	10
-XArc	12
-XErrorEvent.type	0
-XErrorEvent.display	8
-XErrorEvent.resourceid	16
-XErrorEvent.serial	24
-XErrorEvent.error_code	32
-XErrorEvent.request_code	33
-XErrorEvent.minor_code	34
-XErrorEvent	40
-XConfigureRequestEvent.type	0
-XConfigureRequestEvent.serial	8
-XConfigureRequestEvent.send_event	16
-XConfigureRequestEvent.display	24
-XConfigureRequestEvent.parent	32
-XConfigureRequestEvent.window	40
-XConfigureRequestEvent.x	48
-XConfigureRequestEvent.y	52
-XConfigureRequestEvent.width	56
-XConfigureRequestEvent.height	60
-XConfigureRequestEvent.border_width	64
-XConfigureRequestEvent.above	72
-XConfigureRequestEvent.detail	80
-XConfigureRequestEvent.value_mask	88
-XConfigureRequestEvent	96
-ScreenFormat.ext_data	0
-ScreenFormat.depth	8
-ScreenFormat.bits_per_pixel	12
-ScreenFormat.scanline_pad	16
-ScreenFormat	24
-XButtonEvent.type	0
-XButtonEvent.serial	8
-XButtonEvent.send_event	16
-XButtonEvent.display	24
-XButtonEvent.window	32
-XButtonEvent.root	40
-XButtonEvent.subwindow	48
-XButtonEvent.time	56
-XButtonEvent.x	64
-XButtonEvent.y	68
-XButtonEvent.x_root	72
-XButtonEvent.y_root	76
-XButtonEvent.state	80
-XButtonEvent.button	84
-XButtonEvent.same_screen	88
-XButtonEvent	96
-XFontProp.name	0
-XFontProp.card32	8
-XFontProp	16
-XIMValuesList.count_values	0
-XIMValuesList.supported_values	8
-XIMValuesList	16
-XKeymapEvent.type	0
-XKeymapEvent.serial	8
-XKeymapEvent.send_event	16
-XKeymapEvent.display	24
-XKeymapEvent.window	32
-XKeymapEvent.key_vector	40
-XKeymapEvent	72
-XTextItem16.chars	0
-XTextItem16.nchars	8
-XTextItem16.delta	12
-XTextItem16.font	16
-XTextItem16	24
-XIMPreeditDrawCallbackStruct.caret	0
-XIMPreeditDrawCallbackStruct.chg_first	4
-XIMPreeditDrawCallbackStruct.chg_length	8
-XIMPreeditDrawCallbackStruct.text	16
-XIMPreeditDrawCallbackStruct	24
-XVisualInfo.visual	0
-XVisualInfo.visualid	8
-XVisualInfo.screen	16
-XVisualInfo.depth	20
-XVisualInfo.class	24
-XVisualInfo.red_mask	32
-XVisualInfo.green_mask	40
-XVisualInfo.blue_mask	48
-XVisualInfo.colormap_size	56
-XVisualInfo.bits_per_rgb	60
-XVisualInfo	64
-XkbControlsNotifyEvent.type	0
-XkbControlsNotifyEvent.serial	8
-XkbControlsNotifyEvent.send_event	16
-XkbControlsNotifyEvent.display	24
-XkbControlsNotifyEvent.time	32
-XkbControlsNotifyEvent.xkb_type	40
-XkbControlsNotifyEvent.device	44
-XkbControlsNotifyEvent.changed_ctrls	48
-XkbControlsNotifyEvent.enabled_ctrls	52
-XkbControlsNotifyEvent.enabled_ctrl_changes	56
-XkbControlsNotifyEvent.num_groups	60
-XkbControlsNotifyEvent.keycode	64
-XkbControlsNotifyEvent.event_type	65
-XkbControlsNotifyEvent.req_major	66
-XkbControlsNotifyEvent.req_minor	67
-XkbControlsNotifyEvent	72
-PropMwmHints.flags	0
-PropMwmHints.functions	8
-PropMwmHints.decorations	16
-PropMwmHints.inputMode	24
-PropMwmHints.status	32
-PropMwmHints	40
-XClientMessageEvent.type	0
-XClientMessageEvent.serial	8
-XClientMessageEvent.send_event	16
-XClientMessageEvent.display	24
-XClientMessageEvent.window	32
-XClientMessageEvent.message_type	40
-XClientMessageEvent.format	48
-XClientMessageEvent.data	56
-XClientMessageEvent	96
-XAnyEvent.type	0
-XAnyEvent.serial	8
-XAnyEvent.send_event	16
-XAnyEvent.display	24
-XAnyEvent.window	32
-XAnyEvent	40
-XkbIndicatorNotifyEvent.type	0
-XkbIndicatorNotifyEvent.serial	8
-XkbIndicatorNotifyEvent.send_event	16
-XkbIndicatorNotifyEvent.display	24
-XkbIndicatorNotifyEvent.time	32
-XkbIndicatorNotifyEvent.xkb_type	40
-XkbIndicatorNotifyEvent.device	44
-XkbIndicatorNotifyEvent.changed	48
-XkbIndicatorNotifyEvent.state	52
-XkbIndicatorNotifyEvent	56
-XIMPreeditStateNotifyCallbackStruct.state	0
-XIMPreeditStateNotifyCallbackStruct	8
-XkbAnyEvent.type	0
-XkbAnyEvent.serial	8
-XkbAnyEvent.send_event	16
-XkbAnyEvent.display	24
-XkbAnyEvent.time	32
-XkbAnyEvent.xkb_type	40
-XkbAnyEvent.device	44
-XkbAnyEvent	48
-XMotionEvent.type	0
-XMotionEvent.serial	8
-XMotionEvent.send_event	16
-XMotionEvent.display	24
-XMotionEvent.window	32
-XMotionEvent.root	40
-XMotionEvent.subwindow	48
-XMotionEvent.time	56
-XMotionEvent.x	64
-XMotionEvent.y	68
-XMotionEvent.x_root	72
-XMotionEvent.y_root	76
-XMotionEvent.state	80
-XMotionEvent.is_hint	84
-XMotionEvent.same_screen	88
-XMotionEvent	96
-XIMHotKeyTriggers.num_hot_key	0
-XIMHotKeyTriggers.key	8
-XIMHotKeyTriggers	16
-XIMStyles.count_styles	0
-XIMStyles.supported_styles	8
-XIMStyles	16
-XkbExtensionDeviceNotifyEvent.type	0
-XkbExtensionDeviceNotifyEvent.serial	8
-XkbExtensionDeviceNotifyEvent.send_event	16
-XkbExtensionDeviceNotifyEvent.display	24
-XkbExtensionDeviceNotifyEvent.time	32
-XkbExtensionDeviceNotifyEvent.xkb_type	40
-XkbExtensionDeviceNotifyEvent.device	44
-XkbExtensionDeviceNotifyEvent.reason	48
-XkbExtensionDeviceNotifyEvent.supported	52
-XkbExtensionDeviceNotifyEvent.unsupported	56
-XkbExtensionDeviceNotifyEvent.first_btn	60
-XkbExtensionDeviceNotifyEvent.num_btns	64
-XkbExtensionDeviceNotifyEvent.leds_defined	68
-XkbExtensionDeviceNotifyEvent.led_state	72
-XkbExtensionDeviceNotifyEvent.led_class	76
-XkbExtensionDeviceNotifyEvent.led_id	80
-XkbExtensionDeviceNotifyEvent	88
-XwcTextItem.chars	0
-XwcTextItem.nchars	8
-XwcTextItem.delta	12
-XwcTextItem.font_set	16
-XwcTextItem	24
-XClassHint.res_name	0
-XClassHint.res_class	8
-XClassHint	16
-XChar2b.byte1	0
-XChar2b.byte2	1
-XChar2b	2
-XSetWindowAttributes.background_pixmap	0
-XSetWindowAttributes.background_pixel	8
-XSetWindowAttributes.border_pixmap	16
-XSetWindowAttributes.border_pixel	24
-XSetWindowAttributes.bit_gravity	32
-XSetWindowAttributes.win_gravity	36
-XSetWindowAttributes.backing_store	40
-XSetWindowAttributes.backing_planes	48
-XSetWindowAttributes.backing_pixel	56
-XSetWindowAttributes.save_under	64
-XSetWindowAttributes.event_mask	72
-XSetWindowAttributes.do_not_propagate_mask	80
-XSetWindowAttributes.override_redirect	88
-XSetWindowAttributes.colormap	96
-XSetWindowAttributes.cursor	104
-XSetWindowAttributes	112
-XRenderPictFormat.id	0
-XRenderPictFormat.type	8
-XRenderPictFormat.depth	12
-XRenderPictFormat.direct	16
-XRenderPictFormat.colormap	32
-XRenderPictFormat	40
-XReparentEvent.type	0
-XReparentEvent.serial	8
-XReparentEvent.send_event	16
-XReparentEvent.display	24
-XReparentEvent.event	32
-XReparentEvent.window	40
-XReparentEvent.parent	48
-XReparentEvent.x	56
-XReparentEvent.y	60
-XReparentEvent.override_redirect	64
-XReparentEvent	72
-XCirculateRequestEvent.type	0
-XCirculateRequestEvent.serial	8
-XCirculateRequestEvent.send_event	16
-XCirculateRequestEvent.display	24
-XCirculateRequestEvent.parent	32
-XCirculateRequestEvent.window	40
-XCirculateRequestEvent.place	48
-XCirculateRequestEvent	56
-XImage.width	0
-XImage.height	4
-XImage.xoffset	8
-XImage.format	12
-XImage.data	16
-XImage.byte_order	24
-XImage.bitmap_unit	28
-XImage.bitmap_bit_order	32
-XImage.bitmap_pad	36
-XImage.depth	40
-XImage.bytes_per_line	44
-XImage.bits_per_pixel	48
-XImage.red_mask	56
-XImage.green_mask	64
-XImage.blue_mask	72
-XImage.obdata	80
-XImage.f.create_image	88
-XImage.f.destroy_image	96
-XImage.f.get_pixel	104
-XImage.f.put_pixel	112
-XImage.f.sub_image	120
-XImage.f.add_pixel	128
-XImage	136
-XKeyEvent.type	0
-XKeyEvent.serial	8
-XKeyEvent.send_event	16
-XKeyEvent.display	24
-XKeyEvent.window	32
-XKeyEvent.root	40
-XKeyEvent.subwindow	48
-XKeyEvent.time	56
-XKeyEvent.x	64
-XKeyEvent.y	68
-XKeyEvent.x_root	72
-XKeyEvent.y_root	76
-XKeyEvent.state	80
-XKeyEvent.keycode	84
-XKeyEvent.same_screen	88
-XKeyEvent	96
-XkbActionMessageEvent.type	0
-XkbActionMessageEvent.serial	8
-XkbActionMessageEvent.send_event	16
-XkbActionMessageEvent.display	24
-XkbActionMessageEvent.time	32
-XkbActionMessageEvent.xkb_type	40
-XkbActionMessageEvent.device	44
-XkbActionMessageEvent.keycode	48
-XkbActionMessageEvent.press	52
-XkbActionMessageEvent.key_event_follows	56
-XkbActionMessageEvent.group	60
-XkbActionMessageEvent.mods	64
-XkbActionMessageEvent.message	68
-XkbActionMessageEvent	80
-XdbeSwapInfo.swap_window	0
-XdbeSwapInfo.swap_action	8
-XdbeSwapInfo	16
-XTextItem.chars	0
-XTextItem.nchars	8
-XTextItem.delta	12
-XTextItem.font	16
-XTextItem	24
-XModifierKeymap.max_keypermod	0
-XModifierKeymap.modifiermap	8
-XModifierKeymap	16
-XCharStruct.lbearing	0
-XCharStruct.rbearing	2
-XCharStruct.width	4
-XCharStruct.ascent	6
-XCharStruct.descent	8
-XCharStruct.attributes	10
-XCharStruct	12
-XGravityEvent.type	0
-XGravityEvent.serial	8
-XGravityEvent.send_event	16
-XGravityEvent.display	24
-XGravityEvent.event	32
-XGravityEvent.window	40
-XGravityEvent.x	48
-XGravityEvent.y	52
-XGravityEvent	56
-Visual.ext_data	0
-Visual.visualid	8
-Visual.class	16
-Visual.red_mask	24
-Visual.green_mask	32
-Visual.blue_mask	40
-Visual.bits_per_rgb	48
-Visual.map_entries	52
-Visual	56
-XOMOrientation.num_orientation	0
-XOMOrientation.orientation	8
-XOMOrientation	16
-XkbAccessXNotifyEvent.type	0
-XkbAccessXNotifyEvent.serial	8
-XkbAccessXNotifyEvent.send_event	16
-XkbAccessXNotifyEvent.display	24
-XkbAccessXNotifyEvent.time	32
-XkbAccessXNotifyEvent.xkb_type	40
-XkbAccessXNotifyEvent.device	44
-XkbAccessXNotifyEvent.detail	48
-XkbAccessXNotifyEvent.keycode	52
-XkbAccessXNotifyEvent.sk_delay	56
-XkbAccessXNotifyEvent.debounce_delay	60
-XkbAccessXNotifyEvent	64
-XWindowAttributes.x	0
-XWindowAttributes.y	4
-XWindowAttributes.width	8
-XWindowAttributes.height	12
-XWindowAttributes.border_width	16
-XWindowAttributes.depth	20
-XWindowAttributes.visual	24
-XWindowAttributes.root	32
-XWindowAttributes.class	40
-XWindowAttributes.bit_gravity	44
-XWindowAttributes.win_gravity	48
-XWindowAttributes.backing_store	52
-XWindowAttributes.backing_planes	56
-XWindowAttributes.backing_pixel	64
-XWindowAttributes.save_under	72
-XWindowAttributes.colormap	80
-XWindowAttributes.map_installed	88
-XWindowAttributes.map_state	92
-XWindowAttributes.all_event_masks	96
-XWindowAttributes.your_event_mask	104
-XWindowAttributes.do_not_propagate_mask	112
-XWindowAttributes.override_redirect	120
-XWindowAttributes.screen	128
-XWindowAttributes	136
-XmbTextItem.chars	0
-XmbTextItem.nchars	8
-XmbTextItem.delta	12
-XmbTextItem.font_set	16
-XmbTextItem	24
-XMappingEvent.type	0
-XMappingEvent.serial	8
-XMappingEvent.send_event	16
-XMappingEvent.display	24
-XMappingEvent.window	32
-XMappingEvent.request	40
-XMappingEvent.first_keycode	44
-XMappingEvent.count	48
-XMappingEvent	56
-XSizeHints.flags	0
-XSizeHints.x	8
-XSizeHints.y	12
-XSizeHints.width	16
-XSizeHints.height	20
-XSizeHints.min_width	24
-XSizeHints.min_height	28
-XSizeHints.max_width	32
-XSizeHints.max_height	36
-XSizeHints.width_inc	40
-XSizeHints.height_inc	44
-XSizeHints.min_aspect.x	48
-XSizeHints.min_aspect.y	52
-XSizeHints.max_aspect.x	56
-XSizeHints.max_aspect.y	60
-XSizeHints.base_width	64
-XSizeHints.base_height	68
-XSizeHints.win_gravity	72
-XSizeHints	80
-XUnmapEvent.type	0
-XUnmapEvent.serial	8
-XUnmapEvent.send_event	16
-XUnmapEvent.display	24
-XUnmapEvent.event	32
-XUnmapEvent.window	40
-XUnmapEvent.from_configure	48
-XUnmapEvent	56
-awtImageData.Depth	0
-awtImageData.wsImageFormat	4
-awtImageData.clrdata	16
-awtImageData.convert	48
-awtImageData	560
-XkbStateNotifyEvent.type	0
-XkbStateNotifyEvent.serial	8
-XkbStateNotifyEvent.send_event	16
-XkbStateNotifyEvent.display	24
-XkbStateNotifyEvent.time	32
-XkbStateNotifyEvent.xkb_type	40
-XkbStateNotifyEvent.device	44
-XkbStateNotifyEvent.changed	48
-XkbStateNotifyEvent.group	52
-XkbStateNotifyEvent.base_group	56
-XkbStateNotifyEvent.latched_group	60
-XkbStateNotifyEvent.locked_group	64
-XkbStateNotifyEvent.mods	68
-XkbStateNotifyEvent.base_mods	72
-XkbStateNotifyEvent.latched_mods	76
-XkbStateNotifyEvent.locked_mods	80
-XkbStateNotifyEvent.compat_state	84
-XkbStateNotifyEvent.grab_mods	88
-XkbStateNotifyEvent.compat_grab_mods	89
-XkbStateNotifyEvent.lookup_mods	90
-XkbStateNotifyEvent.compat_lookup_mods	91
-XkbStateNotifyEvent.ptr_buttons	92
-XkbStateNotifyEvent.keycode	96
-XkbStateNotifyEvent.event_type	97
-XkbStateNotifyEvent.req_major	98
-XkbStateNotifyEvent.req_minor	99
-XkbStateNotifyEvent	104
-XExposeEvent.type	0
-XExposeEvent.serial	8
-XExposeEvent.send_event	16
-XExposeEvent.display	24
-XExposeEvent.window	32
-XExposeEvent.x	40
-XExposeEvent.y	44
-XExposeEvent.width	48
-XExposeEvent.height	52
-XExposeEvent.count	56
-XExposeEvent	64
-XkbMapNotifyEvent.type	0
-XkbMapNotifyEvent.serial	8
-XkbMapNotifyEvent.send_event	16
-XkbMapNotifyEvent.display	24
-XkbMapNotifyEvent.time	32
-XkbMapNotifyEvent.xkb_type	40
-XkbMapNotifyEvent.device	44
-XkbMapNotifyEvent.changed	48
-XkbMapNotifyEvent.flags	52
-XkbMapNotifyEvent.first_type	56
-XkbMapNotifyEvent.num_types	60
-XkbMapNotifyEvent.min_key_code	64
-XkbMapNotifyEvent.max_key_code	65
-XkbMapNotifyEvent.first_key_sym	66
-XkbMapNotifyEvent.first_key_act	67
-XkbMapNotifyEvent.first_key_behavior	68
-XkbMapNotifyEvent.first_key_explicit	69
-XkbMapNotifyEvent.first_modmap_key	70
-XkbMapNotifyEvent.first_vmodmap_key	71
-XkbMapNotifyEvent.num_key_syms	72
-XkbMapNotifyEvent.num_key_acts	76
-XkbMapNotifyEvent.num_key_behaviors	80
-XkbMapNotifyEvent.num_key_explicit	84
-XkbMapNotifyEvent.num_modmap_keys	88
-XkbMapNotifyEvent.num_vmodmap_keys	92
-XkbMapNotifyEvent.vmods	96
-XkbMapNotifyEvent	104
-XGCValues.function	0
-XGCValues.plane_mask	8
-XGCValues.foreground	16
-XGCValues.background	24
-XGCValues.line_width	32
-XGCValues.line_style	36
-XGCValues.cap_style	40
-XGCValues.join_style	44
-XGCValues.fill_style	48
-XGCValues.fill_rule	52
-XGCValues.arc_mode	56
-XGCValues.tile	64
-XGCValues.stipple	72
-XGCValues.ts_x_origin	80
-XGCValues.ts_y_origin	84
-XGCValues.font	88
-XGCValues.subwindow_mode	96
-XGCValues.graphics_exposures	100
-XGCValues.clip_x_origin	104
-XGCValues.clip_y_origin	108
-XGCValues.clip_mask	112
-XGCValues.dash_offset	120
-XGCValues.dashes	124
-XGCValues	128
-XFocusChangeEvent.type	0
-XFocusChangeEvent.serial	8
-XFocusChangeEvent.send_event	16
-XFocusChangeEvent.display	24
-XFocusChangeEvent.window	32
-XFocusChangeEvent.mode	40
-XFocusChangeEvent.detail	44
-XFocusChangeEvent	48
-XPixmapFormatValues.depth	0
-XPixmapFormatValues.bits_per_pixel	4
-XPixmapFormatValues.scanline_pad	8
-XPixmapFormatValues	12
-XMapEvent.type	0
-XMapEvent.serial	8
-XMapEvent.send_event	16
-XMapEvent.display	24
-XMapEvent.event	32
-XMapEvent.window	40
-XMapEvent.override_redirect	48
-XMapEvent	56
-XkbBellNotifyEvent.type	0
-XkbBellNotifyEvent.serial	8
-XkbBellNotifyEvent.send_event	16
-XkbBellNotifyEvent.display	24
-XkbBellNotifyEvent.time	32
-XkbBellNotifyEvent.xkb_type	40
-XkbBellNotifyEvent.device	44
-XkbBellNotifyEvent.percent	48
-XkbBellNotifyEvent.pitch	52
-XkbBellNotifyEvent.duration	56
-XkbBellNotifyEvent.bell_class	60
-XkbBellNotifyEvent.bell_id	64
-XkbBellNotifyEvent.name	72
-XkbBellNotifyEvent.window	80
-XkbBellNotifyEvent.event_only	88
-XkbBellNotifyEvent	96
-XIMStringConversionText.length	0
-XIMStringConversionText.feedback	8
-XIMStringConversionText.encoding_is_wchar	16
-XIMStringConversionText.string	24
-XIMStringConversionText	32
-XKeyboardState.key_click_percent	0
-XKeyboardState.bell_percent	4
-XKeyboardState.bell_pitch	8
-XKeyboardState.bell_duration	12
-XKeyboardState.led_mask	16
-XKeyboardState.global_auto_repeat	24
-XKeyboardState.auto_repeats	28
-XKeyboardState	64
-XkbEvent.type	0
-XkbEvent.any	0
-XkbEvent.new_kbd	0
-XkbEvent.map	0
-XkbEvent.state	0
-XkbEvent.ctrls	0
-XkbEvent.indicators	0
-XkbEvent.names	0
-XkbEvent.compat	0
-XkbEvent.bell	0
-XkbEvent.message	0
-XkbEvent.accessx	0
-XkbEvent.device	0
-XkbEvent.core	0
-XkbEvent	192
-XPoint.x	0
-XPoint.y	2
-XPoint	4
-XSegment.x1	0
-XSegment.y1	2
-XSegment.x2	4
-XSegment.y2	6
-XSegment	8
-XIconSize.min_width	0
-XIconSize.min_height	4
-XIconSize.max_width	8
-XIconSize.max_height	12
-XIconSize.width_inc	16
-XIconSize.height_inc	20
-XIconSize	24
-XIMCallback.client_data	0
-XIMCallback.callback	8
-XIMCallback	16
-XConfigureEvent.type	0
-XConfigureEvent.serial	8
-XConfigureEvent.send_event	16
-XConfigureEvent.display	24
-XConfigureEvent.event	32
-XConfigureEvent.window	40
-XConfigureEvent.x	48
-XConfigureEvent.y	52
-XConfigureEvent.width	56
-XConfigureEvent.height	60
-XConfigureEvent.border_width	64
-XConfigureEvent.above	72
-XConfigureEvent.override_redirect	80
-XConfigureEvent	88
-XRectangle.x	0
-XRectangle.y	2
-XRectangle.width	4
-XRectangle.height	6
-XRectangle	8
-XkbNamesNotifyEvent.type	0
-XkbNamesNotifyEvent.serial	8
-XkbNamesNotifyEvent.send_event	16
-XkbNamesNotifyEvent.display	24
-XkbNamesNotifyEvent.time	32
-XkbNamesNotifyEvent.xkb_type	40
-XkbNamesNotifyEvent.device	44
-XkbNamesNotifyEvent.changed	48
-XkbNamesNotifyEvent.first_type	52
-XkbNamesNotifyEvent.num_types	56
-XkbNamesNotifyEvent.first_lvl	60
-XkbNamesNotifyEvent.num_lvls	64
-XkbNamesNotifyEvent.num_aliases	68
-XkbNamesNotifyEvent.num_radio_groups	72
-XkbNamesNotifyEvent.changed_vmods	76
-XkbNamesNotifyEvent.changed_groups	80
-XkbNamesNotifyEvent.changed_indicators	84
-XkbNamesNotifyEvent.first_key	88
-XkbNamesNotifyEvent.num_keys	92
-XkbNamesNotifyEvent	96
-XCreateWindowEvent.type	0
-XCreateWindowEvent.serial	8
-XCreateWindowEvent.send_event	16
-XCreateWindowEvent.display	24
-XCreateWindowEvent.parent	32
-XCreateWindowEvent.window	40
-XCreateWindowEvent.x	48
-XCreateWindowEvent.y	52
-XCreateWindowEvent.width	56
-XCreateWindowEvent.height	60
-XCreateWindowEvent.border_width	64
-XCreateWindowEvent.override_redirect	68
-XCreateWindowEvent	72
-XVisibilityEvent.type	0
-XVisibilityEvent.serial	8
-XVisibilityEvent.send_event	16
-XVisibilityEvent.display	24
-XVisibilityEvent.window	32
-XVisibilityEvent.state	40
-XVisibilityEvent	48
-XWMHints.flags	0
-XWMHints.initial_state	12
-XWMHints.icon_pixmap	16
-XWMHints.icon_window	24
-XWMHints.icon_x	32
-XWMHints.icon_y	36
-XWMHints.icon_mask	40
-XWMHints.input	8
-XWMHints.window_group	48
-XWMHints	56
-XCrossingEvent.type	0
-XCrossingEvent.serial	8
-XCrossingEvent.send_event	16
-XCrossingEvent.display	24
-XCrossingEvent.window	32
-XCrossingEvent.root	40
-XCrossingEvent.subwindow	48
-XCrossingEvent.time	56
-XCrossingEvent.x	64
-XCrossingEvent.y	68
-XCrossingEvent.x_root	72
-XCrossingEvent.y_root	76
-XCrossingEvent.mode	80
-XCrossingEvent.detail	84
-XCrossingEvent.same_screen	88
-XCrossingEvent.focus	92
-XCrossingEvent.state	96
-XCrossingEvent	104
-XSelectionRequestEvent.type	0
-XSelectionRequestEvent.serial	8
-XSelectionRequestEvent.send_event	16
-XSelectionRequestEvent.display	24
-XSelectionRequestEvent.owner	32
-XSelectionRequestEvent.requestor	40
-XSelectionRequestEvent.selection	48
-XSelectionRequestEvent.target	56
-XSelectionRequestEvent.property	64
-XSelectionRequestEvent.time	72
-XSelectionRequestEvent	80
-XNoExposeEvent.type	0
-XNoExposeEvent.serial	8
-XNoExposeEvent.send_event	16
-XNoExposeEvent.display	24
-XNoExposeEvent.drawable	32
-XNoExposeEvent.major_code	40
-XNoExposeEvent.minor_code	44
-XNoExposeEvent	48
-XHostAddress.family	0
-XHostAddress.length	4
-XHostAddress.address	8
-XHostAddress	16
-XColormapEvent.type	0
-XColormapEvent.serial	8
-XColormapEvent.send_event	16
-XColormapEvent.display	24
-XColormapEvent.window	32
-XColormapEvent.colormap	40
-XColormapEvent.new	48
-XColormapEvent.state	52
-XColormapEvent	56
-ColorEntry.r	0
-ColorEntry.g	1
-ColorEntry.b	2
-ColorEntry.flags	3
-ColorEntry	4
-XResizeRequestEvent.type	0
-XResizeRequestEvent.serial	8
-XResizeRequestEvent.send_event	16
-XResizeRequestEvent.display	24
-XResizeRequestEvent.window	32
-XResizeRequestEvent.width	40
-XResizeRequestEvent.height	44
-XResizeRequestEvent	48
-Depth.depth	0
-Depth.nvisuals	4
-Depth.visuals	8
-Depth	16
-XPropertyEvent.type	0
-XPropertyEvent.serial	8
-XPropertyEvent.send_event	16
-XPropertyEvent.display	24
-XPropertyEvent.window	32
-XPropertyEvent.atom	40
-XPropertyEvent.time	48
-XPropertyEvent.state	56
-XPropertyEvent	64
-XDestroyWindowEvent.type	0
-XDestroyWindowEvent.serial	8
-XDestroyWindowEvent.send_event	16
-XDestroyWindowEvent.display	24
-XDestroyWindowEvent.event	32
-XDestroyWindowEvent.window	40
-XDestroyWindowEvent	48
-XStandardColormap.colormap	0
-XStandardColormap.red_max	8
-XStandardColormap.red_mult	16
-XStandardColormap.green_max	24
-XStandardColormap.green_mult	32
-XStandardColormap.blue_max	40
-XStandardColormap.blue_mult	48
-XStandardColormap.base_pixel	56
-XStandardColormap.visualid	64
-XStandardColormap.killid	72
-XStandardColormap	80
-XComposeStatus.compose_ptr	0
-XComposeStatus.chars_matched	8
-XComposeStatus	16
-AwtGraphicsConfigData.awt_depth	0
-AwtGraphicsConfigData.awt_cmap	8
-AwtGraphicsConfigData.awt_visInfo	16
-AwtGraphicsConfigData.awt_num_colors	80
-AwtGraphicsConfigData.awtImage	88
-AwtGraphicsConfigData.AwtColorMatch	96
-AwtGraphicsConfigData.monoImage	104
-AwtGraphicsConfigData.monoPixmap	112
-AwtGraphicsConfigData.monoPixmapWidth	120
-AwtGraphicsConfigData.monoPixmapHeight	124
-AwtGraphicsConfigData.monoPixmapGC	128
-AwtGraphicsConfigData.pixelStride	136
-AwtGraphicsConfigData.color_data	144
-AwtGraphicsConfigData.glxInfo	152
-AwtGraphicsConfigData.isTranslucencySupported	160
-AwtGraphicsConfigData.renderPictFormat	168
-AwtGraphicsConfigData	208
-XColor.pixel	0
-XColor.red	8
-XColor.green	10
-XColor.blue	12
-XColor.flags	14
-XColor.pad	15
-XColor	16
-XTextProperty.value	0
-XTextProperty.encoding	8
-XTextProperty.format	16
-XTextProperty.nitems	24
-XTextProperty	32
--- a/make/data/x11wrappergen/sizes.64-solaris-i386	Thu Mar 08 14:31:54 2018 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1017 +0,0 @@
-long	8
-int	4
-short	2
-ptr	8
-Bool	4
-Atom	8
-Window	8
-XExtData.number	0
-XExtData.next	8
-XExtData.free_private	16
-XExtData.private_data	24
-XExtData	32
-XIMStringConversionCallbackStruct.position	0
-XIMStringConversionCallbackStruct.direction	4
-XIMStringConversionCallbackStruct.operation	8
-XIMStringConversionCallbackStruct.factor	10
-XIMStringConversionCallbackStruct.text	16
-XIMStringConversionCallbackStruct	24
-XkbNewKeyboardNotifyEvent.type	0
-XkbNewKeyboardNotifyEvent.serial	8
-XkbNewKeyboardNotifyEvent.send_event	16
-XkbNewKeyboardNotifyEvent.display	24
-XkbNewKeyboardNotifyEvent.time	32
-XkbNewKeyboardNotifyEvent.xkb_type	40
-XkbNewKeyboardNotifyEvent.device	44
-XkbNewKeyboardNotifyEvent.old_device	48
-XkbNewKeyboardNotifyEvent.min_key_code	52
-XkbNewKeyboardNotifyEvent.max_key_code	56
-XkbNewKeyboardNotifyEvent.old_min_key_code	60
-XkbNewKeyboardNotifyEvent.old_max_key_code	64
-XkbNewKeyboardNotifyEvent.changed	68
-XkbNewKeyboardNotifyEvent.req_major	72
-XkbNewKeyboardNotifyEvent.req_minor	73
-XkbNewKeyboardNotifyEvent	80
-XTimeCoord.time	0
-XTimeCoord.x	8
-XTimeCoord.y	10
-XTimeCoord	16
-XkbCompatMapNotifyEvent.type	0
-XkbCompatMapNotifyEvent.serial	8
-XkbCompatMapNotifyEvent.send_event	16
-XkbCompatMapNotifyEvent.display	24
-XkbCompatMapNotifyEvent.time	32
-XkbCompatMapNotifyEvent.xkb_type	40
-XkbCompatMapNotifyEvent.device	44
-XkbCompatMapNotifyEvent.changed_groups	48
-XkbCompatMapNotifyEvent.first_si	52
-XkbCompatMapNotifyEvent.num_si	56
-XkbCompatMapNotifyEvent.num_total_si	60
-XkbCompatMapNotifyEvent	64
-XIMStatusDrawCallbackStruct.type	0
-XIMStatusDrawCallbackStruct.data	8
-XIMStatusDrawCallbackStruct	16
-XKeyboardControl.key_click_percent	0
-XKeyboardControl.bell_percent	4
-XKeyboardControl.bell_pitch	8
-XKeyboardControl.bell_duration	12
-XKeyboardControl.led	16
-XKeyboardControl.led_mode	20
-XKeyboardControl.key	24
-XKeyboardControl.auto_repeat_mode	28
-XKeyboardControl	32
-XSelectionClearEvent.type	0
-XSelectionClearEvent.serial	8
-XSelectionClearEvent.send_event	16
-XSelectionClearEvent.display	24
-XSelectionClearEvent.window	32
-XSelectionClearEvent.selection	40
-XSelectionClearEvent.time	48
-XSelectionClearEvent	56
-XWindowChanges.x	0
-XWindowChanges.y	4
-XWindowChanges.width	8
-XWindowChanges.height	12
-XWindowChanges.border_width	16
-XWindowChanges.sibling	24
-XWindowChanges.stack_mode	32
-XWindowChanges	40
-XIMPreeditCaretCallbackStruct.position	0
-XIMPreeditCaretCallbackStruct.direction	4
-XIMPreeditCaretCallbackStruct.style	8
-XIMPreeditCaretCallbackStruct	12
-XOMCharSetList.charset_count	0
-XOMCharSetList.charset_list	8
-XOMCharSetList	16
-XOMFontInfo.num_font	0
-XOMFontInfo.font_struct_list	8
-XOMFontInfo.font_name_list	16
-XOMFontInfo	24
-AwtScreenData.numConfigs	0
-AwtScreenData.root	8
-AwtScreenData.whitepixel	16
-AwtScreenData.blackpixel	24
-AwtScreenData.defaultConfig	32
-AwtScreenData.configs	40
-AwtScreenData	48
-XIMHotKeyTrigger.keysym	0
-XIMHotKeyTrigger.modifier	8
-XIMHotKeyTrigger.modifier_mask	12
-XIMHotKeyTrigger	16
-XCirculateEvent.type	0
-XCirculateEvent.serial	8
-XCirculateEvent.send_event	16
-XCirculateEvent.display	24
-XCirculateEvent.event	32
-XCirculateEvent.window	40
-XCirculateEvent.place	48
-XCirculateEvent	56
-Screen.ext_data	0
-Screen.display	8
-Screen.root	16
-Screen.width	24
-Screen.height	28
-Screen.mwidth	32
-Screen.mheight	36
-Screen.ndepths	40
-Screen.depths	48
-Screen.root_depth	56
-Screen.root_visual	64
-Screen.default_gc	72
-Screen.cmap	80
-Screen.white_pixel	88
-Screen.black_pixel	96
-Screen.max_maps	104
-Screen.min_maps	108
-Screen.backing_store	112
-Screen.save_unders	116
-Screen.root_input_mask	120
-Screen	128
-XMapRequestEvent.type	0
-XMapRequestEvent.serial	8
-XMapRequestEvent.send_event	16
-XMapRequestEvent.display	24
-XMapRequestEvent.parent	32
-XMapRequestEvent.window	40
-XMapRequestEvent	48
-XIMText.length	0
-XIMText.feedback	8
-XIMText.encoding_is_wchar	16
-XIMText.string	24
-XIMText	32
-XGraphicsExposeEvent.type	0
-XGraphicsExposeEvent.serial	8
-XGraphicsExposeEvent.send_event	16
-XGraphicsExposeEvent.display	24
-XGraphicsExposeEvent.drawable	32
-XGraphicsExposeEvent.x	40
-XGraphicsExposeEvent.y	44
-XGraphicsExposeEvent.width	48
-XGraphicsExposeEvent.height	52
-XGraphicsExposeEvent.count	56
-XGraphicsExposeEvent.major_code	60
-XGraphicsExposeEvent.minor_code	64
-XGraphicsExposeEvent	72
-XEvent.type	0
-XEvent.xany	0
-XEvent.xkey	0
-XEvent.xbutton	0
-XEvent.xmotion	0
-XEvent.xcrossing	0
-XEvent.xfocus	0
-XEvent.xexpose	0
-XEvent.xgraphicsexpose	0
-XEvent.xnoexpose	0
-XEvent.xvisibility	0
-XEvent.xcreatewindow	0
-XEvent.xdestroywindow	0
-XEvent.xunmap	0
-XEvent.xmap	0
-XEvent.xmaprequest	0
-XEvent.xreparent	0
-XEvent.xconfigure	0
-XEvent.xgravity	0
-XEvent.xresizerequest	0
-XEvent.xconfigurerequest	0
-XEvent.xcirculate	0
-XEvent.xcirculaterequest	0
-XEvent.xproperty	0
-XEvent.xselectionclear	0
-XEvent.xselectionrequest	0
-XEvent.xselection	0
-XEvent.xcolormap	0
-XEvent.xclient	0
-XEvent.xmapping	0
-XEvent.xerror	0
-XEvent.xkeymap	0
-XEvent.pad	0
-XEvent	192
-XRenderDirectFormat.red	0
-XRenderDirectFormat.redMask	2
-XRenderDirectFormat.green	4
-XRenderDirectFormat.greenMask	6
-XRenderDirectFormat.blue	8
-XRenderDirectFormat.blueMask	10
-XRenderDirectFormat.alpha	12
-XRenderDirectFormat.alphaMask	14
-XRenderDirectFormat	16
-ColorData.awt_Colors	0
-ColorData.awt_numICMcolors	8
-ColorData.awt_icmLUT	16
-ColorData.awt_icmLUT2Colors	24
-ColorData.img_grays	32
-ColorData.img_clr_tbl	40
-ColorData.img_oda_red	48
-ColorData.img_oda_green	56
-ColorData.img_oda_blue	64
-ColorData.pGrayInverseLutData	72
-ColorData.screendata	80
-ColorData.representsPrimaries	84
-ColorData	88
-XFontStruct.ext_data	0
-XFontStruct.fid	8
-XFontStruct.direction	16
-XFontStruct.min_char_or_byte2	20
-XFontStruct.max_char_or_byte2	24
-XFontStruct.min_byte1	28
-XFontStruct.max_byte1	32
-XFontStruct.all_chars_exist	36
-XFontStruct.n_properties	44
-XFontStruct.properties	48
-XFontStruct.min_bounds	56
-XFontStruct.max_bounds	68
-XFontStruct.per_char	80
-XFontStruct.ascent	88
-XFontStruct.descent	92
-XFontStruct	96
-XExtCodes.extension	0
-XExtCodes.major_opcode	4
-XExtCodes.first_event	8
-XExtCodes.first_error	12
-XExtCodes	16
-XFontSetExtents.max_ink_extent	0
-XFontSetExtents.max_logical_extent	8
-XFontSetExtents	16
-XSelectionEvent.type	0
-XSelectionEvent.serial	8
-XSelectionEvent.send_event	16
-XSelectionEvent.display	24
-XSelectionEvent.requestor	32
-XSelectionEvent.selection	40
-XSelectionEvent.target	48
-XSelectionEvent.property	56
-XSelectionEvent.time	64
-XSelectionEvent	72
-XArc.x	0
-XArc.y	2
-XArc.width	4
-XArc.height	6
-XArc.angle1	8
-XArc.angle2	10
-XArc	12
-XErrorEvent.type	0
-XErrorEvent.display	8
-XErrorEvent.resourceid	16
-XErrorEvent.serial	24
-XErrorEvent.error_code	32
-XErrorEvent.request_code	33
-XErrorEvent.minor_code	34
-XErrorEvent	40
-XConfigureRequestEvent.type	0
-XConfigureRequestEvent.serial	8
-XConfigureRequestEvent.send_event	16
-XConfigureRequestEvent.display	24
-XConfigureRequestEvent.parent	32
-XConfigureRequestEvent.window	40
-XConfigureRequestEvent.x	48
-XConfigureRequestEvent.y	52
-XConfigureRequestEvent.width	56
-XConfigureRequestEvent.height	60
-XConfigureRequestEvent.border_width	64
-XConfigureRequestEvent.above	72
-XConfigureRequestEvent.detail	80
-XConfigureRequestEvent.value_mask	88
-XConfigureRequestEvent	96
-ScreenFormat.ext_data	0
-ScreenFormat.depth	8
-ScreenFormat.bits_per_pixel	12
-ScreenFormat.scanline_pad	16
-ScreenFormat	24
-XButtonEvent.type	0
-XButtonEvent.serial	8
-XButtonEvent.send_event	16
-XButtonEvent.display	24
-XButtonEvent.window	32
-XButtonEvent.root	40
-XButtonEvent.subwindow	48
-XButtonEvent.time	56
-XButtonEvent.x	64
-XButtonEvent.y	68
-XButtonEvent.x_root	72
-XButtonEvent.y_root	76
-XButtonEvent.state	80
-XButtonEvent.button	84
-XButtonEvent.same_screen	88
-XButtonEvent	96
-XFontProp.name	0
-XFontProp.card32	8
-XFontProp	16
-XIMValuesList.count_values	0
-XIMValuesList.supported_values	8
-XIMValuesList	16
-XKeymapEvent.type	0
-XKeymapEvent.serial	8
-XKeymapEvent.send_event	16
-XKeymapEvent.display	24
-XKeymapEvent.window	32
-XKeymapEvent.key_vector	40
-XKeymapEvent	72
-XTextItem16.chars	0
-XTextItem16.nchars	8
-XTextItem16.delta	12
-XTextItem16.font	16
-XTextItem16	24
-XIMPreeditDrawCallbackStruct.caret	0
-XIMPreeditDrawCallbackStruct.chg_first	4
-XIMPreeditDrawCallbackStruct.chg_length	8
-XIMPreeditDrawCallbackStruct.text	16
-XIMPreeditDrawCallbackStruct	24
-XVisualInfo.visual	0
-XVisualInfo.visualid	8
-XVisualInfo.screen	16
-XVisualInfo.depth	20
-XVisualInfo.class	24
-XVisualInfo.red_mask	32
-XVisualInfo.green_mask	40
-XVisualInfo.blue_mask	48
-XVisualInfo.colormap_size	56
-XVisualInfo.bits_per_rgb	60
-XVisualInfo	64
-XkbControlsNotifyEvent.type	0
-XkbControlsNotifyEvent.serial	8
-XkbControlsNotifyEvent.send_event	16
-XkbControlsNotifyEvent.display	24
-XkbControlsNotifyEvent.time	32
-XkbControlsNotifyEvent.xkb_type	40
-XkbControlsNotifyEvent.device	44
-XkbControlsNotifyEvent.changed_ctrls	48
-XkbControlsNotifyEvent.enabled_ctrls	52
-XkbControlsNotifyEvent.enabled_ctrl_changes	56
-XkbControlsNotifyEvent.num_groups	60
-XkbControlsNotifyEvent.keycode	64
-XkbControlsNotifyEvent.event_type	65
-XkbControlsNotifyEvent.req_major	66
-XkbControlsNotifyEvent.req_minor	67
-XkbControlsNotifyEvent	72
-PropMwmHints.flags	0
-PropMwmHints.functions	8
-PropMwmHints.decorations	16
-PropMwmHints.inputMode	24
-PropMwmHints.status	32
-PropMwmHints	40
-XClientMessageEvent.type	0
-XClientMessageEvent.serial	8
-XClientMessageEvent.send_event	16
-XClientMessageEvent.display	24
-XClientMessageEvent.window	32
-XClientMessageEvent.message_type	40
-XClientMessageEvent.format	48
-XClientMessageEvent.data	56
-XClientMessageEvent	96
-XAnyEvent.type	0
-XAnyEvent.serial	8
-XAnyEvent.send_event	16
-XAnyEvent.display	24
-XAnyEvent.window	32
-XAnyEvent	40
-XkbIndicatorNotifyEvent.type	0
-XkbIndicatorNotifyEvent.serial	8
-XkbIndicatorNotifyEvent.send_event	16
-XkbIndicatorNotifyEvent.display	24
-XkbIndicatorNotifyEvent.time	32
-XkbIndicatorNotifyEvent.xkb_type	40
-XkbIndicatorNotifyEvent.device	44
-XkbIndicatorNotifyEvent.changed	48
-XkbIndicatorNotifyEvent.state	52
-XkbIndicatorNotifyEvent	56
-XIMPreeditStateNotifyCallbackStruct.state	0
-XIMPreeditStateNotifyCallbackStruct	8
-XkbAnyEvent.type	0
-XkbAnyEvent.serial	8
-XkbAnyEvent.send_event	16
-XkbAnyEvent.display	24
-XkbAnyEvent.time	32
-XkbAnyEvent.xkb_type	40
-XkbAnyEvent.device	44
-XkbAnyEvent	48
-XMotionEvent.type	0
-XMotionEvent.serial	8
-XMotionEvent.send_event	16
-XMotionEvent.display	24
-XMotionEvent.window	32
-XMotionEvent.root	40
-XMotionEvent.subwindow	48
-XMotionEvent.time	56
-XMotionEvent.x	64
-XMotionEvent.y	68
-XMotionEvent.x_root	72
-XMotionEvent.y_root	76
-XMotionEvent.state	80
-XMotionEvent.is_hint	84
-XMotionEvent.same_screen	88
-XMotionEvent	96
-XIMHotKeyTriggers.num_hot_key	0
-XIMHotKeyTriggers.key	8
-XIMHotKeyTriggers	16
-XIMStyles.count_styles	0
-XIMStyles.supported_styles	8
-XIMStyles	16
-XkbExtensionDeviceNotifyEvent.type	0
-XkbExtensionDeviceNotifyEvent.serial	8
-XkbExtensionDeviceNotifyEvent.send_event	16
-XkbExtensionDeviceNotifyEvent.display	24
-XkbExtensionDeviceNotifyEvent.time	32
-XkbExtensionDeviceNotifyEvent.xkb_type	40
-XkbExtensionDeviceNotifyEvent.device	44
-XkbExtensionDeviceNotifyEvent.reason	48
-XkbExtensionDeviceNotifyEvent.supported	52
-XkbExtensionDeviceNotifyEvent.unsupported	56
-XkbExtensionDeviceNotifyEvent.first_btn	60
-XkbExtensionDeviceNotifyEvent.num_btns	64
-XkbExtensionDeviceNotifyEvent.leds_defined	68
-XkbExtensionDeviceNotifyEvent.led_state	72
-XkbExtensionDeviceNotifyEvent.led_class	76
-XkbExtensionDeviceNotifyEvent.led_id	80
-XkbExtensionDeviceNotifyEvent	88
-XwcTextItem.chars	0
-XwcTextItem.nchars	8
-XwcTextItem.delta	12
-XwcTextItem.font_set	16
-XwcTextItem	24
-XClassHint.res_name	0
-XClassHint.res_class	8
-XClassHint	16
-XChar2b.byte1	0
-XChar2b.byte2	1
-XChar2b	2
-XSetWindowAttributes.background_pixmap	0
-XSetWindowAttributes.background_pixel	8
-XSetWindowAttributes.border_pixmap	16
-XSetWindowAttributes.border_pixel	24
-XSetWindowAttributes.bit_gravity	32
-XSetWindowAttributes.win_gravity	36
-XSetWindowAttributes.backing_store	40
-XSetWindowAttributes.backing_planes	48
-XSetWindowAttributes.backing_pixel	56
-XSetWindowAttributes.save_under	64
-XSetWindowAttributes.event_mask	72
-XSetWindowAttributes.do_not_propagate_mask	80
-XSetWindowAttributes.override_redirect	88
-XSetWindowAttributes.colormap	96
-XSetWindowAttributes.cursor	104
-XSetWindowAttributes	112
-XRenderPictFormat.id	0
-XRenderPictFormat.type	8
-XRenderPictFormat.depth	12
-XRenderPictFormat.direct	16
-XRenderPictFormat.colormap	32
-XRenderPictFormat	40
-XReparentEvent.type	0
-XReparentEvent.serial	8
-XReparentEvent.send_event	16
-XReparentEvent.display	24
-XReparentEvent.event	32
-XReparentEvent.window	40
-XReparentEvent.parent	48
-XReparentEvent.x	56
-XReparentEvent.y	60
-XReparentEvent.override_redirect	64
-XReparentEvent	72
-XCirculateRequestEvent.type	0
-XCirculateRequestEvent.serial	8
-XCirculateRequestEvent.send_event	16
-XCirculateRequestEvent.display	24
-XCirculateRequestEvent.parent	32
-XCirculateRequestEvent.window	40
-XCirculateRequestEvent.place	48
-XCirculateRequestEvent	56
-XImage.width	0
-XImage.height	4
-XImage.xoffset	8
-XImage.format	12
-XImage.data	16
-XImage.byte_order	24
-XImage.bitmap_unit	28
-XImage.bitmap_bit_order	32
-XImage.bitmap_pad	36
-XImage.depth	40
-XImage.bytes_per_line	44
-XImage.bits_per_pixel	48
-XImage.red_mask	56
-XImage.green_mask	64
-XImage.blue_mask	72
-XImage.obdata	80
-XImage.f.create_image	88
-XImage.f.destroy_image	96
-XImage.f.get_pixel	104
-XImage.f.put_pixel	112
-XImage.f.sub_image	120
-XImage.f.add_pixel	128
-XImage	136
-XKeyEvent.type	0
-XKeyEvent.serial	8
-XKeyEvent.send_event	16
-XKeyEvent.display	24
-XKeyEvent.window	32
-XKeyEvent.root	40
-XKeyEvent.subwindow	48
-XKeyEvent.time	56
-XKeyEvent.x	64
-XKeyEvent.y	68
-XKeyEvent.x_root	72
-XKeyEvent.y_root	76
-XKeyEvent.state	80
-XKeyEvent.keycode	84
-XKeyEvent.same_screen	88
-XKeyEvent	96
-XkbActionMessageEvent.type	0
-XkbActionMessageEvent.serial	8
-XkbActionMessageEvent.send_event	16
-XkbActionMessageEvent.display	24
-XkbActionMessageEvent.time	32
-XkbActionMessageEvent.xkb_type	40
-XkbActionMessageEvent.device	44
-XkbActionMessageEvent.keycode	48
-XkbActionMessageEvent.press	52
-XkbActionMessageEvent.key_event_follows	56
-XkbActionMessageEvent.group	60
-XkbActionMessageEvent.mods	64
-XkbActionMessageEvent.message	68
-XkbActionMessageEvent	80
-XdbeSwapInfo.swap_window	0
-XdbeSwapInfo.swap_action	8
-XdbeSwapInfo	16
-XTextItem.chars	0
-XTextItem.nchars	8
-XTextItem.delta	12
-XTextItem.font	16
-XTextItem	24
-XModifierKeymap.max_keypermod	0
-XModifierKeymap.modifiermap	8
-XModifierKeymap	16
-XCharStruct.lbearing	0
-XCharStruct.rbearing	2
-XCharStruct.width	4
-XCharStruct.ascent	6
-XCharStruct.descent	8
-XCharStruct.attributes	10
-XCharStruct	12
-XGravityEvent.type	0
-XGravityEvent.serial	8
-XGravityEvent.send_event	16
-XGravityEvent.display	24
-XGravityEvent.event	32
-XGravityEvent.window	40
-XGravityEvent.x	48
-XGravityEvent.y	52
-XGravityEvent	56
-Visual.ext_data	0
-Visual.visualid	8
-Visual.class	16
-Visual.red_mask	24
-Visual.green_mask	32
-Visual.blue_mask	40
-Visual.bits_per_rgb	48
-Visual.map_entries	52
-Visual	56
-XOMOrientation.num_orientation	0
-XOMOrientation.orientation	8
-XOMOrientation	16
-XkbAccessXNotifyEvent.type	0
-XkbAccessXNotifyEvent.serial	8
-XkbAccessXNotifyEvent.send_event	16
-XkbAccessXNotifyEvent.display	24
-XkbAccessXNotifyEvent.time	32
-XkbAccessXNotifyEvent.xkb_type	40
-XkbAccessXNotifyEvent.device	44
-XkbAccessXNotifyEvent.detail	48
-XkbAccessXNotifyEvent.keycode	52
-XkbAccessXNotifyEvent.sk_delay	56
-XkbAccessXNotifyEvent.debounce_delay	60
-XkbAccessXNotifyEvent	64
-XWindowAttributes.x	0
-XWindowAttributes.y	4
-XWindowAttributes.width	8
-XWindowAttributes.height	12
-XWindowAttributes.border_width	16
-XWindowAttributes.depth	20
-XWindowAttributes.visual	24
-XWindowAttributes.root	32
-XWindowAttributes.class	40
-XWindowAttributes.bit_gravity	44
-XWindowAttributes.win_gravity	48
-XWindowAttributes.backing_store	52
-XWindowAttributes.backing_planes	56
-XWindowAttributes.backing_pixel	64
-XWindowAttributes.save_under	72
-XWindowAttributes.colormap	80
-XWindowAttributes.map_installed	88
-XWindowAttributes.map_state	92
-XWindowAttributes.all_event_masks	96
-XWindowAttributes.your_event_mask	104
-XWindowAttributes.do_not_propagate_mask	112
-XWindowAttributes.override_redirect	120
-XWindowAttributes.screen	128
-XWindowAttributes	136
-XmbTextItem.chars	0
-XmbTextItem.nchars	8
-XmbTextItem.delta	12
-XmbTextItem.font_set	16
-XmbTextItem	24
-XMappingEvent.type	0
-XMappingEvent.serial	8
-XMappingEvent.send_event	16
-XMappingEvent.display	24
-XMappingEvent.window	32
-XMappingEvent.request	40
-XMappingEvent.first_keycode	44
-XMappingEvent.count	48
-XMappingEvent	56
-XSizeHints.flags	0
-XSizeHints.x	8
-XSizeHints.y	12
-XSizeHints.width	16
-XSizeHints.height	20
-XSizeHints.min_width	24
-XSizeHints.min_height	28
-XSizeHints.max_width	32
-XSizeHints.max_height	36
-XSizeHints.width_inc	40
-XSizeHints.height_inc	44
-XSizeHints.min_aspect.x	48
-XSizeHints.min_aspect.y	52
-XSizeHints.max_aspect.x	56
-XSizeHints.max_aspect.y	60
-XSizeHints.base_width	64
-XSizeHints.base_height	68
-XSizeHints.win_gravity	72
-XSizeHints	80
-XUnmapEvent.type	0
-XUnmapEvent.serial	8
-XUnmapEvent.send_event	16
-XUnmapEvent.display	24
-XUnmapEvent.event	32
-XUnmapEvent.window	40
-XUnmapEvent.from_configure	48
-XUnmapEvent	56
-awtImageData.Depth	0
-awtImageData.wsImageFormat	4
-awtImageData.clrdata	16
-awtImageData.convert	48
-awtImageData	560
-XkbStateNotifyEvent.type	0
-XkbStateNotifyEvent.serial	8
-XkbStateNotifyEvent.send_event	16
-XkbStateNotifyEvent.display	24
-XkbStateNotifyEvent.time	32
-XkbStateNotifyEvent.xkb_type	40
-XkbStateNotifyEvent.device	44
-XkbStateNotifyEvent.changed	48
-XkbStateNotifyEvent.group	52
-XkbStateNotifyEvent.base_group	56
-XkbStateNotifyEvent.latched_group	60
-XkbStateNotifyEvent.locked_group	64
-XkbStateNotifyEvent.mods	68
-XkbStateNotifyEvent.base_mods	72
-XkbStateNotifyEvent.latched_mods	76
-XkbStateNotifyEvent.locked_mods	80
-XkbStateNotifyEvent.compat_state	84
-XkbStateNotifyEvent.grab_mods	88
-XkbStateNotifyEvent.compat_grab_mods	89
-XkbStateNotifyEvent.lookup_mods	90
-XkbStateNotifyEvent.compat_lookup_mods	91
-XkbStateNotifyEvent.ptr_buttons	92
-XkbStateNotifyEvent.keycode	96
-XkbStateNotifyEvent.event_type	97
-XkbStateNotifyEvent.req_major	98
-XkbStateNotifyEvent.req_minor	99
-XkbStateNotifyEvent	104
-XExposeEvent.type	0
-XExposeEvent.serial	8
-XExposeEvent.send_event	16
-XExposeEvent.display	24
-XExposeEvent.window	32
-XExposeEvent.x	40
-XExposeEvent.y	44
-XExposeEvent.width	48
-XExposeEvent.height	52
-XExposeEvent.count	56
-XExposeEvent	64
-XkbMapNotifyEvent.type	0
-XkbMapNotifyEvent.serial	8
-XkbMapNotifyEvent.send_event	16
-XkbMapNotifyEvent.display	24
-XkbMapNotifyEvent.time	32
-XkbMapNotifyEvent.xkb_type	40
-XkbMapNotifyEvent.device	44
-XkbMapNotifyEvent.changed	48
-XkbMapNotifyEvent.flags	52
-XkbMapNotifyEvent.first_type	56
-XkbMapNotifyEvent.num_types	60
-XkbMapNotifyEvent.min_key_code	64
-XkbMapNotifyEvent.max_key_code	65
-XkbMapNotifyEvent.first_key_sym	66
-XkbMapNotifyEvent.first_key_act	67
-XkbMapNotifyEvent.first_key_behavior	68
-XkbMapNotifyEvent.first_key_explicit	69
-XkbMapNotifyEvent.first_modmap_key	70
-XkbMapNotifyEvent.first_vmodmap_key	71
-XkbMapNotifyEvent.num_key_syms	72
-XkbMapNotifyEvent.num_key_acts	76
-XkbMapNotifyEvent.num_key_behaviors	80
-XkbMapNotifyEvent.num_key_explicit	84
-XkbMapNotifyEvent.num_modmap_keys	88
-XkbMapNotifyEvent.num_vmodmap_keys	92
-XkbMapNotifyEvent.vmods	96
-XkbMapNotifyEvent	104
-XGCValues.function	0
-XGCValues.plane_mask	8
-XGCValues.foreground	16
-XGCValues.background	24
-XGCValues.line_width	32
-XGCValues.line_style	36
-XGCValues.cap_style	40
-XGCValues.join_style	44
-XGCValues.fill_style	48
-XGCValues.fill_rule	52
-XGCValues.arc_mode	56
-XGCValues.tile	64
-XGCValues.stipple	72
-XGCValues.ts_x_origin	80
-XGCValues.ts_y_origin	84
-XGCValues.font	88
-XGCValues.subwindow_mode	96
-XGCValues.graphics_exposures	100
-XGCValues.clip_x_origin	104
-XGCValues.clip_y_origin	108
-XGCValues.clip_mask	112
-XGCValues.dash_offset	120
-XGCValues.dashes	124
-XGCValues	128
-XFocusChangeEvent.type	0
-XFocusChangeEvent.serial	8
-XFocusChangeEvent.send_event	16
-XFocusChangeEvent.display	24
-XFocusChangeEvent.window	32
-XFocusChangeEvent.mode	40
-XFocusChangeEvent.detail	44
-XFocusChangeEvent	48
-XPixmapFormatValues.depth	0
-XPixmapFormatValues.bits_per_pixel	4
-XPixmapFormatValues.scanline_pad	8
-XPixmapFormatValues	12
-XMapEvent.type	0
-XMapEvent.serial	8
-XMapEvent.send_event	16
-XMapEvent.display	24
-XMapEvent.event	32
-XMapEvent.window	40
-XMapEvent.override_redirect	48
-XMapEvent	56
-XkbBellNotifyEvent.type	0
-XkbBellNotifyEvent.serial	8
-XkbBellNotifyEvent.send_event	16
-XkbBellNotifyEvent.display	24
-XkbBellNotifyEvent.time	32
-XkbBellNotifyEvent.xkb_type	40
-XkbBellNotifyEvent.device	44
-XkbBellNotifyEvent.percent	48
-XkbBellNotifyEvent.pitch	52
-XkbBellNotifyEvent.duration	56
-XkbBellNotifyEvent.bell_class	60
-XkbBellNotifyEvent.bell_id	64
-XkbBellNotifyEvent.name	72
-XkbBellNotifyEvent.window	80
-XkbBellNotifyEvent.event_only	88
-XkbBellNotifyEvent	96
-XIMStringConversionText.length	0
-XIMStringConversionText.feedback	8
-XIMStringConversionText.encoding_is_wchar	16
-XIMStringConversionText.string	24
-XIMStringConversionText	32
-XKeyboardState.key_click_percent	0
-XKeyboardState.bell_percent	4
-XKeyboardState.bell_pitch	8
-XKeyboardState.bell_duration	12
-XKeyboardState.led_mask	16
-XKeyboardState.global_auto_repeat	24
-XKeyboardState.auto_repeats	28
-XKeyboardState	64
-XkbEvent.type	0
-XkbEvent.any	0
-XkbEvent.new_kbd	0
-XkbEvent.map	0
-XkbEvent.state	0
-XkbEvent.ctrls	0
-XkbEvent.indicators	0
-XkbEvent.names	0
-XkbEvent.compat	0
-XkbEvent.bell	0
-XkbEvent.message	0
-XkbEvent.accessx	0
-XkbEvent.device	0
-XkbEvent.core	0
-XkbEvent	192
-XPoint.x	0
-XPoint.y	2
-XPoint	4
-XSegment.x1	0
-XSegment.y1	2
-XSegment.x2	4
-XSegment.y2	6
-XSegment	8
-XIconSize.min_width	0
-XIconSize.min_height	4
-XIconSize.max_width	8
-XIconSize.max_height	12
-XIconSize.width_inc	16
-XIconSize.height_inc	20
-XIconSize	24
-XIMCallback.client_data	0
-XIMCallback.callback	8
-XIMCallback	16
-XConfigureEvent.type	0
-XConfigureEvent.serial	8
-XConfigureEvent.send_event	16
-XConfigureEvent.display	24
-XConfigureEvent.event	32
-XConfigureEvent.window	40
-XConfigureEvent.x	48
-XConfigureEvent.y	52
-XConfigureEvent.width	56
-XConfigureEvent.height	60
-XConfigureEvent.border_width	64
-XConfigureEvent.above	72
-XConfigureEvent.override_redirect	80
-XConfigureEvent	88
-XRectangle.x	0
-XRectangle.y	2
-XRectangle.width	4
-XRectangle.height	6
-XRectangle	8
-XkbNamesNotifyEvent.type	0
-XkbNamesNotifyEvent.serial	8
-XkbNamesNotifyEvent.send_event	16
-XkbNamesNotifyEvent.display	24
-XkbNamesNotifyEvent.time	32
-XkbNamesNotifyEvent.xkb_type	40
-XkbNamesNotifyEvent.device	44
-XkbNamesNotifyEvent.changed	48
-XkbNamesNotifyEvent.first_type	52
-XkbNamesNotifyEvent.num_types	56
-XkbNamesNotifyEvent.first_lvl	60
-XkbNamesNotifyEvent.num_lvls	64
-XkbNamesNotifyEvent.num_aliases	68
-XkbNamesNotifyEvent.num_radio_groups	72
-XkbNamesNotifyEvent.changed_vmods	76
-XkbNamesNotifyEvent.changed_groups	80
-XkbNamesNotifyEvent.changed_indicators	84
-XkbNamesNotifyEvent.first_key	88
-XkbNamesNotifyEvent.num_keys	92
-XkbNamesNotifyEvent	96
-XCreateWindowEvent.type	0
-XCreateWindowEvent.serial	8
-XCreateWindowEvent.send_event	16
-XCreateWindowEvent.display	24
-XCreateWindowEvent.parent	32
-XCreateWindowEvent.window	40
-XCreateWindowEvent.x	48
-XCreateWindowEvent.y	52
-XCreateWindowEvent.width	56
-XCreateWindowEvent.height	60
-XCreateWindowEvent.border_width	64
-XCreateWindowEvent.override_redirect	68
-XCreateWindowEvent	72
-XVisibilityEvent.type	0
-XVisibilityEvent.serial	8
-XVisibilityEvent.send_event	16
-XVisibilityEvent.display	24
-XVisibilityEvent.window	32
-XVisibilityEvent.state	40
-XVisibilityEvent	48
-XWMHints.flags	0
-XWMHints.initial_state	12
-XWMHints.icon_pixmap	16
-XWMHints.icon_window	24
-XWMHints.icon_x	32
-XWMHints.icon_y	36
-XWMHints.icon_mask	40
-XWMHints.input	8
-XWMHints.window_group	48
-XWMHints	56
-XCrossingEvent.type	0
-XCrossingEvent.serial	8
-XCrossingEvent.send_event	16
-XCrossingEvent.display	24
-XCrossingEvent.window	32
-XCrossingEvent.root	40
-XCrossingEvent.subwindow	48
-XCrossingEvent.time	56
-XCrossingEvent.x	64
-XCrossingEvent.y	68
-XCrossingEvent.x_root	72
-XCrossingEvent.y_root	76
-XCrossingEvent.mode	80
-XCrossingEvent.detail	84
-XCrossingEvent.same_screen	88
-XCrossingEvent.focus	92
-XCrossingEvent.state	96
-XCrossingEvent	104
-XSelectionRequestEvent.type	0
-XSelectionRequestEvent.serial	8
-XSelectionRequestEvent.send_event	16
-XSelectionRequestEvent.display	24
-XSelectionRequestEvent.owner	32
-XSelectionRequestEvent.requestor	40
-XSelectionRequestEvent.selection	48
-XSelectionRequestEvent.target	56
-XSelectionRequestEvent.property	64
-XSelectionRequestEvent.time	72
-XSelectionRequestEvent	80
-XNoExposeEvent.type	0
-XNoExposeEvent.serial	8
-XNoExposeEvent.send_event	16
-XNoExposeEvent.display	24
-XNoExposeEvent.drawable	32
-XNoExposeEvent.major_code	40
-XNoExposeEvent.minor_code	44
-XNoExposeEvent	48
-XHostAddress.family	0
-XHostAddress.length	4
-XHostAddress.address	8
-XHostAddress	16
-XColormapEvent.type	0
-XColormapEvent.serial	8
-XColormapEvent.send_event	16
-XColormapEvent.display	24
-XColormapEvent.window	32
-XColormapEvent.colormap	40
-XColormapEvent.new	48
-XColormapEvent.state	52
-XColormapEvent	56
-ColorEntry.r	0
-ColorEntry.g	1
-ColorEntry.b	2
-ColorEntry.flags	3
-ColorEntry	4
-XResizeRequestEvent.type	0
-XResizeRequestEvent.serial	8
-XResizeRequestEvent.send_event	16
-XResizeRequestEvent.display	24
-XResizeRequestEvent.window	32
-XResizeRequestEvent.width	40
-XResizeRequestEvent.height	44
-XResizeRequestEvent	48
-Depth.depth	0
-Depth.nvisuals	4
-Depth.visuals	8
-Depth	16
-XPropertyEvent.type	0
-XPropertyEvent.serial	8
-XPropertyEvent.send_event	16
-XPropertyEvent.display	24
-XPropertyEvent.window	32
-XPropertyEvent.atom	40
-XPropertyEvent.time	48
-XPropertyEvent.state	56
-XPropertyEvent	64
-XDestroyWindowEvent.type	0
-XDestroyWindowEvent.serial	8
-XDestroyWindowEvent.send_event	16
-XDestroyWindowEvent.display	24
-XDestroyWindowEvent.event	32
-XDestroyWindowEvent.window	40
-XDestroyWindowEvent	48
-XStandardColormap.colormap	0
-XStandardColormap.red_max	8
-XStandardColormap.red_mult	16
-XStandardColormap.green_max	24
-XStandardColormap.green_mult	32
-XStandardColormap.blue_max	40
-XStandardColormap.blue_mult	48
-XStandardColormap.base_pixel	56
-XStandardColormap.visualid	64
-XStandardColormap.killid	72
-XStandardColormap	80
-XComposeStatus.compose_ptr	0
-XComposeStatus.chars_matched	8
-XComposeStatus	16
-AwtGraphicsConfigData.awt_depth	0
-AwtGraphicsConfigData.awt_cmap	8
-AwtGraphicsConfigData.awt_visInfo	16
-AwtGraphicsConfigData.awt_num_colors	80
-AwtGraphicsConfigData.awtImage	88
-AwtGraphicsConfigData.AwtColorMatch	96
-AwtGraphicsConfigData.monoImage	104
-AwtGraphicsConfigData.monoPixmap	112
-AwtGraphicsConfigData.monoPixmapWidth	120
-AwtGraphicsConfigData.monoPixmapHeight	124
-AwtGraphicsConfigData.monoPixmapGC	128
-AwtGraphicsConfigData.pixelStride	136
-AwtGraphicsConfigData.color_data	144
-AwtGraphicsConfigData.glxInfo	152
-AwtGraphicsConfigData.isTranslucencySupported	160
-AwtGraphicsConfigData.renderPictFormat	168
-AwtGraphicsConfigData	208
-XColor.pixel	0
-XColor.red	8
-XColor.green	10
-XColor.blue	12
-XColor.flags	14
-XColor.pad	15
-XColor	16
-XTextProperty.value	0
-XTextProperty.encoding	8
-XTextProperty.format	16
-XTextProperty.nitems	24
-XTextProperty	32
--- a/make/data/x11wrappergen/xlibtypes.txt	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/data/x11wrappergen/xlibtypes.txt	Thu Mar 08 10:18:28 2018 -0800
@@ -1,9 +1,9 @@
-//
 //
 // This file is used for automated generation of java classes to wrap native structures.
-// The detail on format of this file see WrapperGenerator.java
+// For details on format of this file, see WrapperGenerator.java
 //
-// WARNING: if you modified this file, you need to regenerate sizes.64-solaris-i386
+// WARNING: If you modify this file, you need to regenerate sizes-32.txt and sizes-64.txt.
+// Run "make update-x11wrappers" to do this.
 //
 
 XExtData
--- a/make/gensrc/Gensrc-java.desktop.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/gensrc/Gensrc-java.desktop.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -30,10 +30,10 @@
 
 ifneq ($(OPENJDK_TARGET_OS), windows)
   include GensrcIcons.gmk
+endif
 
-  ifneq ($(OPENJDK_TARGET_OS), macosx)
-    include GensrcX11Wrappers.gmk
-  endif
+ifneq ($(filter $(OPENJDK_TARGET_OS), linux solaris aix), )
+  include GensrcX11Wrappers.gmk
 endif
 
 include GensrcSwing.gmk
--- a/make/gensrc/GensrcX11Wrappers.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/gensrc/GensrcX11Wrappers.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -23,106 +23,32 @@
 # questions.
 #
 
-# This file is responsible for extracting the x11 native struct offsets to
-# the xawt Java library. The tool needs to be run on the os/arch that
-# will host the final jvm, thus the tool cannot be used when cross compiling.
+# Generate java sources using the X11 offsets that are precalculated in files
+# make/data/x11wrappergen/sizes-<address size>.txt.
 
-# To enable cross compiling, the two versions of the generated offset file,
-# sizes.32 and sizes.64 are committed into the source code repository.
-# These are the ones used.
+GENSRC_X11WRAPPERS_OUTPUT_TOP := $(SUPPORT_OUTPUTDIR)/gensrc/java.desktop
 
-# However when not cross compiling, the offset generator tool is built and
-# run, to verify that it still generates the same sizes.32 and sizes.64.
+GENSRC_X11WRAPPERS_MARKER := $(GENSRC_X11WRAPPERS_OUTPUT_TOP)/_x11wrappers.marker
 
-GENSRC_X11WRAPPERS :=
-# Put temporary c-code and executable to calculate offsets here.
-# Also put verification offset file here as well.
-GENSRC_X11WRAPPERS_TMP := $(SUPPORT_OUTPUTDIR)/gensrc/java.desktop/_x11wrappers
 # Put the generated Java classes used to interface X11 from awt here.
-GENSRC_X11WRAPPERS_DST := $(SUPPORT_OUTPUTDIR)/gensrc/java.desktop/sun/awt/X11
+GENSRC_X11WRAPPERS_OUTPUTDIR := $(GENSRC_X11WRAPPERS_OUTPUT_TOP)/sun/awt/X11
 
 # The pre-calculated offset file are stored here:
-GENSRC_SIZER_DIR := $(TOPDIR)/make/data/x11wrappergen
+GENSRC_X11WRAPPERS_DATADIR := $(TOPDIR)/make/data/x11wrappergen
+GENSRC_X11WRAPPERS_DATA := $(GENSRC_X11WRAPPERS_DATADIR)/sizes-$(OPENJDK_TARGET_CPU_BITS).txt
 
-# Normal case is to generate only according to target bits
-GENSRC_X11_VERSION := $(OPENJDK_TARGET_CPU_BITS)
-ifeq ($(OPENJDK_TARGET_CPU_BITS), 64)
-  ifneq ($(OPENJDK_TARGET_OS), linux)
-    # On all 64-bit systems except Linux, generate both 32 and 64 bit versions
-    GENSRC_X11_VERSION := 32 64
-  endif
-else
-  ifeq ($(OPENJDK_TARGET_OS), solaris)
-    # As a special case, solaris 32-bit also generates the 64-bit version
-    GENSRC_X11_VERSION := 32 64
-  endif
-endif
+$(info ExecuteWithLog is $(call ExecuteWithLog $(GENSRC_X11WRAPPERS_OUTPUT_TOP)/foobar, CMDLINE))
 
-GENSRC_X11_SIZES_USED := $(addprefix $(GENSRC_X11WRAPPERS_TMP)/sizes., $(GENSRC_X11_VERSION))
-
-# Copy only the sizes.* files that are actually needed. WrapperGenerator picks up any it finds from the
-# file prefix it is given so those not needed need to be hidden.
-$(GENSRC_X11WRAPPERS_TMP)/sizes.%: $(GENSRC_SIZER_DIR)/sizes.%
-	$(call MakeDir, $(@D))
-	$(RM) '$@'
-	$(SORT) $< > $@
-
-# Run the tool on the offset files copied from the source repository to generate several Java classes
-# used in awt.
-$(SUPPORT_OUTPUTDIR)/gensrc/java.desktop/_the.generated.x11: $(GENSRC_X11_SIZES_USED) $(BUILD_TOOLS_JDK)
-	$(call MakeDir, $(GENSRC_X11WRAPPERS_DST))
-	$(TOOL_WRAPPERGENERATOR) $(GENSRC_X11WRAPPERS_DST) $(GENSRC_SIZER_DIR)/xlibtypes.txt "gen" $(GENSRC_X11WRAPPERS_TMP)/sizes
+# Run the tool on the offset files to generate several Java classes used in awt.
+$(GENSRC_X11WRAPPERS_MARKER): $(BUILD_TOOLS_JDK) $(GENSRC_X11WRAPPERS_DATA) \
+    $(GENSRC_X11WRAPPERS_DATADIR)/xlibtypes.txt
+	$(call MakeDir, $(GENSRC_X11WRAPPERS_OUTPUTDIR))
+	$(call LogInfo, Generating X11 wrapper source files)
+	$(call ExecuteWithLog, $@, \
+	    $(TOOL_WRAPPERGENERATOR) gen_java $(GENSRC_X11WRAPPERS_OUTPUTDIR) \
+	        $(GENSRC_X11WRAPPERS_DATADIR)/xlibtypes.txt $(GENSRC_X11WRAPPERS_DATA) \
+	        $(OPENJDK_TARGET_CPU_BITS))
 	$(TOUCH) $@
 
-GENSRC_X11WRAPPERS += $(SUPPORT_OUTPUTDIR)/gensrc/java.desktop/_the.generated.x11
 
-ifneq ($(COMPILE_TYPE), cross)
-  # This is not a cross compile, regenerate the offset file, so that we
-  # can compare it with the version in the source code repository.
-
-  # Generate the C code for the program that will output the offset file.
-  $(GENSRC_X11WRAPPERS_TMP)/sizer.%.c: $(GENSRC_SIZER_DIR)/xlibtypes.txt $(BUILD_TOOLS_JDK)
-	$(call LogInfo, Generating X11 wrapper ($*-bit version))
-	$(call MakeDir, $(@D))
-	$(TOOL_WRAPPERGENERATOR) $(@D) $(GENSRC_SIZER_DIR)/xlibtypes.txt "sizer" $*
-
-  # use -m32/-m64 only if the compiler supports it
-  ifeq ($(COMPILER_SUPPORTS_TARGET_BITS_FLAG), true)
-    MEMORY_MODEL_FLAG="$(COMPILER_TARGET_BITS_FLAG)$*"
-  endif
-
-  SIZER_CFLAGS := \
-      -I$(TOPDIR)/src/hotspot/share/include \
-      -I$(TOPDIR)/src/hotspot/os/$(HOTSPOT_TARGET_OS_TYPE)/include \
-      -I$(SUPPORT_OUTPUTDIR)/modules_include/java.base \
-      -I$(SUPPORT_OUTPUTDIR)/modules_include/java.base/$(OPENJDK_TARGET_OS_INCLUDE_SUBDIR) \
-      -I$(TOPDIR)/src/java.base/share/native/libjava \
-      -I$(TOPDIR)/src/java.base/$(OPENJDK_TARGET_OS_TYPE)/native/libjava \
-      -I$(TOPDIR)/src/java.desktop/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
-      -I$(TOPDIR)/src/java.desktop/share/native/common/awt/debug \
-      -I$(TOPDIR)/src/java.desktop/share/native/libawt/awt/image/cvutils \
-      #
-
-  # Compile the C code into an executable.
-  $(GENSRC_X11WRAPPERS_TMP)/sizer.%.exe: $(GENSRC_X11WRAPPERS_TMP)/sizer.%.c
-	$(call MakeDir, $(@D))
-	(cd $(@D) && $(CC) $(MEMORY_MODEL_FLAG) -o $@ $< \
-	    $(X_CFLAGS) \
-	    $(X_LIBS) \
-	    $(SIZER_CFLAGS) -lc)
-
-  .PRECIOUS: $(GENSRC_X11WRAPPERS_TMP)/sizer.%.exe $(GENSRC_X11WRAPPERS_TMP)/sizer.%.c
-
-  # Run the executable create the offset file and check that it is identical
-  # to the offset file in the source code repository.
-  $(GENSRC_X11WRAPPERS_TMP)/sizes.%.verification: $(GENSRC_X11WRAPPERS_TMP)/sizer.%.exe
-	$(call LogInfo, Verifying X11 wrapper sizes)
-	$(call MakeDir, $(@D))
-	$(GENSRC_X11WRAPPERS_TMP)/sizer.$*.exe | $(SORT) > $@.tmp
-	$(DIFF) $(GENSRC_X11WRAPPERS_TMP)/sizes.$*.verification.tmp $(GENSRC_X11WRAPPERS_TMP)/sizes.$*
-	mv $@.tmp $@
-
-  GENSRC_X11WRAPPERS += $(GENSRC_X11WRAPPERS_TMP)/sizes.$(OPENJDK_TARGET_CPU_BITS).verification
-endif
-
-GENSRC_JAVA_DESKTOP += $(GENSRC_X11WRAPPERS)
+GENSRC_JAVA_DESKTOP += $(GENSRC_X11WRAPPERS_MARKER)
--- a/make/hotspot/lib/CompileDtracePostJvm.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/hotspot/lib/CompileDtracePostJvm.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -160,7 +160,9 @@
 	    > $(DTRACE_SUPPORT_DIR)/$(@F).d))
 	$(call ExecuteWithLog, $@, $(DTRACE) $(DTRACE_FLAGS) -o $@ \
 	    -s $(DTRACE_SUPPORT_DIR)/$(@F).d)
-	$(call ExecuteWithLog, $@.elfedit, $(ELFEDIT) $(call GetElfeditCommands) $@)
+        ifeq ($(OPENJDK_TARGET_CPU_ARCH), sparc)
+	  $(call ExecuteWithLog, $@.elfedit, $(ELFEDIT) $(call GetElfeditCommands) $@)
+        endif
 
     ############################################################################
     # Build the stand-alone dtrace libraries
--- a/make/hotspot/lib/CompileGtest.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/hotspot/lib/CompileGtest.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -82,7 +82,6 @@
     CFLAGS_macosx := -DGTEST_OS_MAC=1, \
     CFLAGS_aix := -qpic=large, \
     CFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
-    CXXFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
     DISABLED_WARNINGS_gcc := undef, \
     DISABLED_WARNINGS_clang := undef switch format-nonliteral \
         tautological-undefined-compare $(BUILD_LIBJVM_DISABLED_WARNINGS_clang), \
@@ -116,7 +115,6 @@
     CFLAGS := $(JVM_CFLAGS) -I$(GTEST_FRAMEWORK_SRC) \
         -I$(GTEST_FRAMEWORK_SRC)/include, \
     CFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
-    CXXFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
     LDFLAGS := $(LDFLAGS_JDKEXE), \
     LDFLAGS_unix := -L$(JVM_OUTPUTDIR)/gtest $(call SET_SHARED_LIBRARY_ORIGIN), \
     LDFLAGS_solaris := -library=stlport4, \
--- a/make/hotspot/lib/CompileJvm.gmk	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/hotspot/lib/CompileJvm.gmk	Thu Mar 08 10:18:28 2018 -0800
@@ -221,7 +221,6 @@
     EXTRA_OBJECT_FILES := $(DTRACE_EXTRA_OBJECT_FILES), \
     CFLAGS := $(JVM_CFLAGS), \
     CFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
-    CXXFLAGS_DEBUG_SYMBOLS := $(JVM_CFLAGS_SYMBOLS), \
     vm_version.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
     arguments.cpp_CXXFLAGS := $(CFLAGS_VM_VERSION), \
     DISABLED_WARNINGS_clang := tautological-compare, \
--- a/make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java	Thu Mar 08 10:18:28 2018 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, 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.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1109,7 +1109,6 @@
     }
 
     public void writeJavaWrapperClass(String outputDir) {
-//          (new File(outputDir, package_path)).mkdirs();
         try {
             for (Enumeration e = symbolTable.elements() ; e.hasMoreElements() ;) {
                 BaseType tp = (BaseType) e.nextElement();
@@ -1126,7 +1125,6 @@
         }
     }
 
-
     public void writeNativeSizer(String file)
     {
         int type;
@@ -1136,7 +1134,6 @@
         StructType stp;
         Enumeration eo;
 
-
         try {
 
             FileOutputStream fs =  new FileOutputStream(file);
@@ -1158,7 +1155,6 @@
             pw.println("    unsigned long status;\n");
             pw.println("} PropMwmHints;\n");
 
-
             pw.println("\n\nint main(){");
             j=0;
             for ( eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
@@ -1182,7 +1178,6 @@
             pw.println("printf(\"Atom\t%d\\n\",(int)sizeof(Atom));");
             pw.println("printf(\"Window\t%d\\n\",(int)sizeof(Window));");
 
-
             for (eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
 
 
@@ -1234,7 +1229,8 @@
         symbolTable.put("Atom", new AtomicType(AtomicType.TYPE_ATOM, "", "Atom"));
         symbolTable.put("ulong", new AtomicType(AtomicType.TYPE_ULONG, "", "ulong"));
     }
-    public WrapperGenerator(String outputDir, String xlibFilename) {
+
+    public WrapperGenerator(String xlibFilename) {
         initTypes();
         try {
             BufferedReader in  = new BufferedReader(new FileReader(xlibFilename));
@@ -1303,33 +1299,19 @@
         catch (Exception e) {
             e.printStackTrace();
         }
+    }
 
-    }
-    private void makeSizer(String outputDir) {
-        if (wide) {
-            sizerFileName = "sizer.64.c";
-        } else {
-            sizerFileName = "sizer.32.c";
-        }
-        File fp = new File(outputDir, sizerFileName);
+    private void makeSizer(String sizerFileName) {
+        File fp = new File(sizerFileName);
         writeNativeSizer(fp.getAbsolutePath());
     }
-    private boolean readSizeInfo(String sizeInfo) {
+
+    private boolean readFileSizeInfo(String filename, boolean wide) {
         try {
-            File f = new File(sizeInfo+".32");
             boolean res = true;
-            FileInputStream fis = null;
-            if (f.exists()) {
-                fis = new FileInputStream(f);
-                res = readSizeInfo(fis, false);
-                fis.close();
-            }
-            f = new File(sizeInfo+".64");
-            if (f.exists()) {
-                fis = new FileInputStream(f);
-                res &= readSizeInfo(fis, true);
-                fis.close();
-            }
+            FileInputStream fis = new FileInputStream(filename);
+            res = readSizeInfo(fis, wide);
+            fis.close();
             return res;
         } catch (Exception e) {
             e.printStackTrace();
@@ -1337,8 +1319,8 @@
         }
     }
 
-    private void startGeneration(String outputDir, String sizeInfo) {
-        if (readSizeInfo(sizeInfo))
+    private void startGeneration(String outputDir, String filename, boolean wide) {
+        if (readFileSizeInfo(filename, wide))
         {
             writeJavaWrapperClass(outputDir);
         }
@@ -1348,21 +1330,22 @@
     }
 
     public static void main(String[] args) {
+        if (args.length < 4) {
+            System.out.println("Usage:\nWrapperGenerator gen_java <output_dir> <xlibtypes.txt> <sizes-*.txt> <platform>");
+            System.out.println("      or");
+            System.out.println("WrapperGenerator gen_c_source <output_file> <xlibtypes.txt> <platform>");
+            System.out.println("Where <platform>: 32, 64");
 
-        if (args.length < 4) {
-            System.out.println("Usage:\nWrapperGenerator <output_dir> <xlibtypes.txt> <action> [<platform> | <sizes info file>]");
-            System.out.println("Where <action>: gen, sizer");
-            System.out.println("      <platform>: 32, 64");
             System.exit(1);
         }
 
-        WrapperGenerator xparser = new WrapperGenerator(args[0], args[1]);
-        if (args[2].equals("sizer")) {
+        WrapperGenerator xparser = new WrapperGenerator(args[2]);
+        if (args[0].equals("gen_c_source")) {
             xparser.wide = args[3].equals("64");
-            xparser.makeSizer(args[0]);
-        } else if (args[2].equals("gen")) {
-            xparser.startGeneration(args[0], args[3]);
+            xparser.makeSizer(args[1]);
+        } else if (args[0].equals("gen_java")) {
+            boolean wide = args[4].equals("64");
+            xparser.startGeneration(args[1], args[3], wide);
         }
     }
-
 }
--- a/src/java.base/share/classes/javax/security/auth/AuthPermission.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/share/classes/javax/security/auth/AuthPermission.java	Thu Mar 08 10:18:28 2018 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,7 +32,7 @@
  *
  * <p> The target name is the name of a security configuration parameter
  * (see below).  Currently the {@code AuthPermission} object is used to
- * guard access to the {@link Policy}, {@link Subject},
+ * guard access to the {@link Subject},
  * {@link javax.security.auth.login.LoginContext}, and
  * {@link javax.security.auth.login.Configuration} objects.
  *
@@ -121,21 +121,6 @@
  *                              {@code LoginContext}.
  * </pre>
  *
- * <p> {@code javax.security.auth.Policy} has been
- * deprecated in favor of {@code java.security.Policy}.
- * Therefore, the following target names have also been deprecated:
- *
- * <pre>
- *      getPolicy -             allow the caller to retrieve the system-wide
- *                              Subject-based access control policy.
- *
- *      setPolicy -             allow the caller to set the system-wide
- *                              Subject-based access control policy.
- *
- *      refreshPolicy -         allow the caller to refresh the system-wide
- *                              Subject-based access control policy.
- * </pre>
- *
  * @implNote
  * Implementations may define additional target names, but should use naming
  * conventions such as reverse domain name notation to avoid name clashes.
--- a/src/java.base/share/classes/javax/security/auth/Policy.java	Thu Mar 08 14:31:54 2018 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +0,0 @@
-/*
- * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javax.security.auth;
-
-import java.security.Security;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedExceptionAction;
-import java.util.Objects;
-import sun.security.util.Debug;
-
-/**
- * <p> This is an abstract class for representing the system policy for
- * Subject-based authorization.  A subclass implementation
- * of this class provides a means to specify a Subject-based
- * access control {@code Policy}.
- *
- * <p> A {@code Policy} object can be queried for the set of
- * Permissions granted to code running as a
- * {@code Principal} in the following manner:
- *
- * <pre>
- *      policy = Policy.getPolicy();
- *      PermissionCollection perms = policy.getPermissions(subject,
- *                                                      codeSource);
- * </pre>
- *
- * The {@code Policy} object consults the local policy and returns
- * and appropriate {@code Permissions} object with the
- * Permissions granted to the Principals associated with the
- * provided {@code subject}, and granted to the code specified
- * by the provided {@code codeSource}.
- *
- * <p> A {@code Policy} contains the following information.
- * Note that this example only represents the syntax for the default
- * {@code Policy} implementation. Subclass implementations of this class
- * may implement alternative syntaxes and may retrieve the
- * {@code Policy} from any source such as files, databases,
- * or servers.
- *
- * <p> Each entry in the {@code Policy} is represented as
- * a <b><i>grant</i></b> entry.  Each <b><i>grant</i></b> entry
- * specifies a codebase, code signers, and Principals triplet,
- * as well as the Permissions granted to that triplet.
- *
- * <pre>
- *      grant CodeBase ["URL"], Signedby ["signers"],
- *            Principal [Principal_Class] "Principal_Name" {
- *          Permission Permission_Class ["Target_Name"]
- *                                      [, "Permission_Actions"]
- *                                      [, signedBy "SignerName"];
- *      };
- * </pre>
- *
- * The CodeBase and Signedby components of the triplet name/value pairs
- * are optional.  If they are not present, then any codebase will match,
- * and any signer (including unsigned code) will match.
- * For Example,
- *
- * <pre>
- *      grant CodeBase "foo.com", Signedby "foo",
- *            Principal com.sun.security.auth.UnixPrincipal "duke" {
- *          permission java.io.FilePermission "/home/duke", "read, write";
- *      };
- * </pre>
- *
- * This <b><i>grant</i></b> entry specifies that code from "foo.com",
- * signed by "foo', and running as a {@code UnixPrincipal} with the
- * name, duke, has one {@code Permission}.  This {@code Permission}
- * permits the executing code to read and write files in the directory,
- * "/home/duke".
- *
- * <p> To "run" as a particular {@code Principal},
- * code invokes the {@code Subject.doAs(subject, ...)} method.
- * After invoking that method, the code runs as all the Principals
- * associated with the specified {@code Subject}.
- * Note that this {@code Policy} (and the Permissions
- * granted in this {@code Policy}) only become effective
- * after the call to {@code Subject.doAs} has occurred.
- *
- * <p> Multiple Principals may be listed within one <b><i>grant</i></b> entry.
- * All the Principals in the grant entry must be associated with
- * the {@code Subject} provided to {@code Subject.doAs}
- * for that {@code Subject} to be granted the specified Permissions.
- *
- * <pre>
- *      grant Principal com.sun.security.auth.UnixPrincipal "duke",
- *            Principal com.sun.security.auth.UnixNumericUserPrincipal "0" {
- *          permission java.io.FilePermission "/home/duke", "read, write";
- *          permission java.net.SocketPermission "duke.com", "connect";
- *      };
- * </pre>
- *
- * This entry grants any code running as both "duke" and "0"
- * permission to read and write files in duke's home directory,
- * as well as permission to make socket connections to "duke.com".
- *
- * <p> Note that non Principal-based grant entries are not permitted
- * in this {@code Policy}.  Therefore, grant entries such as:
- *
- * <pre>
- *      grant CodeBase "foo.com", Signedby "foo" {
- *          permission java.io.FilePermission "/tmp/scratch", "read, write";
- *      };
- * </pre>
- *
- * are rejected.  Such permission must be listed in the
- * {@code java.security.Policy}.
- *
- * <p> The default {@code Policy} implementation can be changed by
- * setting the value of the {@code auth.policy.provider} security property to
- * the fully qualified name of the desired {@code Policy} implementation class.
- *
- * @deprecated  Replaced by java.security.Policy.
- *              java.security.Policy has a method:
- * <pre>
- *      public PermissionCollection getPermissions
- *          (java.security.ProtectionDomain pd)
- *
- * </pre>
- * and ProtectionDomain has a constructor:
- * <pre>
- *      public ProtectionDomain
- *          (CodeSource cs,
- *           PermissionCollection permissions,
- *           ClassLoader loader,
- *           Principal[] principals)
- * </pre>
- *
- * These two APIs provide callers the means to query the
- * Policy for Principal-based Permission entries.
- * This class is subject to removal in a future version of Java SE.
- *
- * @since 1.4
- * @see java.security.Security security properties
- */
-@Deprecated(since="1.4", forRemoval=true)
-public abstract class Policy {
-
-    private static Policy policy;
-    private static final String AUTH_POLICY =
-        "sun.security.provider.AuthPolicyFile";
-
-    private final java.security.AccessControlContext acc =
-            java.security.AccessController.getContext();
-
-    // true if a custom (not AUTH_POLICY) system-wide policy object is set
-    private static boolean isCustomPolicy;
-
-    /**
-     * Sole constructor.  (For invocation by subclass constructors, typically
-     * implicit.)
-     */
-    protected Policy() { }
-
-    /**
-     * Returns the installed Policy object.
-     * This method first calls
-     * {@code SecurityManager.checkPermission} with the
-     * {@code AuthPermission("getPolicy")} permission
-     * to ensure the caller has permission to get the Policy object.
-     *
-     * @return the installed Policy.  The return value cannot be
-     *          {@code null}.
-     *
-     * @exception java.lang.SecurityException if the current thread does not
-     *      have permission to get the Policy object.
-     *
-     * @see #setPolicy
-     */
-    public static Policy getPolicy() {
-        java.lang.SecurityManager sm = System.getSecurityManager();
-        if (sm != null) sm.checkPermission(new AuthPermission("getPolicy"));
-        return getPolicyNoCheck();
-    }
-
-    /**
-     * Returns the installed Policy object, skipping the security check.
-     *
-     * @return the installed Policy.
-     *
-     */
-    static Policy getPolicyNoCheck() {
-        if (policy == null) {
-
-            synchronized(Policy.class) {
-
-                if (policy == null) {
-                    String policy_class = null;
-                    policy_class = AccessController.doPrivileged
-                        (new PrivilegedAction<String>() {
-                        public String run() {
-                            return java.security.Security.getProperty
-                                ("auth.policy.provider");
-                        }
-                    });
-                    if (policy_class == null) {
-                        policy_class = AUTH_POLICY;
-                    }
-
-                    try {
-                        final String finalClass = policy_class;
-
-                        Policy untrustedImpl = AccessController.doPrivileged(
-                                new PrivilegedExceptionAction<Policy>() {
-                                    public Policy run() throws ClassNotFoundException,
-                                            InstantiationException,
-                                            IllegalAccessException {
-                                        Class<? extends Policy> implClass = Class.forName(
-                                                finalClass, false,
-                                                Thread.currentThread().getContextClassLoader()
-                                        ).asSubclass(Policy.class);
-                                        return implClass.newInstance();
-                                    }
-                                });
-                        AccessController.doPrivileged(
-                                new PrivilegedExceptionAction<Void>() {
-                                    public Void run() {
-                                        setPolicy(untrustedImpl);
-                                        isCustomPolicy = !finalClass.equals(AUTH_POLICY);
-                                        return null;
-                                    }
-                                }, Objects.requireNonNull(untrustedImpl.acc)
-                        );
-                    } catch (Exception e) {
-                        throw new SecurityException
-                                (sun.security.util.ResourcesMgr.getString
-                                ("unable.to.instantiate.Subject.based.policy"));
-                    }
-                }
-            }
-        }
-        return policy;
-    }
-
-
-    /**
-     * Sets the system-wide Policy object. This method first calls
-     * {@code SecurityManager.checkPermission} with the
-     * {@code AuthPermission("setPolicy")}
-     * permission to ensure the caller has permission to set the Policy.
-     *
-     * @param policy the new system Policy object.
-     *
-     * @exception java.lang.SecurityException if the current thread does not
-     *          have permission to set the Policy.
-     *
-     * @see #getPolicy
-     */
-    public static void setPolicy(Policy policy) {
-        java.lang.SecurityManager sm = System.getSecurityManager();
-        if (sm != null) sm.checkPermission(new AuthPermission("setPolicy"));
-        Policy.policy = policy;
-        // all non-null policy objects are assumed to be custom
-        isCustomPolicy = policy != null ? true : false;
-    }
-
-    /**
-     * Returns true if a custom (not AUTH_POLICY) system-wide policy object
-     * has been set or installed. This method is called by
-     * SubjectDomainCombiner to provide backwards compatibility for
-     * developers that provide their own javax.security.auth.Policy
-     * implementations.
-     *
-     * @return true if a custom (not AUTH_POLICY) system-wide policy object
-     * has been set; false otherwise
-     */
-    static boolean isCustomPolicySet(Debug debug) {
-        if (policy != null) {
-            if (debug != null && isCustomPolicy) {
-                debug.println("Providing backwards compatibility for " +
-                              "javax.security.auth.policy implementation: " +
-                              policy.toString());
-            }
-            return isCustomPolicy;
-        }
-        // check if custom policy has been set using auth.policy.provider prop
-        String policyClass = java.security.AccessController.doPrivileged
-            (new java.security.PrivilegedAction<String>() {
-                public String run() {
-                    return Security.getProperty("auth.policy.provider");
-                }
-        });
-        if (policyClass != null && !policyClass.equals(AUTH_POLICY)) {
-            if (debug != null) {
-                debug.println("Providing backwards compatibility for " +
-                              "javax.security.auth.policy implementation: " +
-                              policyClass);
-            }
-            return true;
-        }
-        return false;
-    }
-
-    /**
-     * Retrieve the Permissions granted to the Principals associated with
-     * the specified {@code CodeSource}.
-     *
-     * @param subject the {@code Subject}
-     *                  whose associated Principals,
-     *                  in conjunction with the provided
-     *                  {@code CodeSource}, determines the Permissions
-     *                  returned by this method.  This parameter
-     *                  may be {@code null}.
-     *
-     * @param cs the code specified by its {@code CodeSource}
-     *                  that determines, in conjunction with the provided
-     *                  {@code Subject}, the Permissions
-     *                  returned by this method.  This parameter may be
-     *                  {@code null}.
-     *
-     * @return the Collection of Permissions granted to all the
-     *                  {@code Subject} and code specified in
-     *                  the provided <i>subject</i> and <i>cs</i>
-     *                  parameters.
-     */
-    public abstract java.security.PermissionCollection getPermissions
-                                        (Subject subject,
-                                        java.security.CodeSource cs);
-
-    /**
-     * Refresh and reload the Policy.
-     *
-     * <p>This method causes this object to refresh/reload its current
-     * Policy. This is implementation-dependent.
-     * For example, if the Policy object is stored in
-     * a file, calling {@code refresh} will cause the file to be re-read.
-     *
-     * @exception SecurityException if the caller does not have permission
-     *                          to refresh the Policy.
-     */
-    public abstract void refresh();
-}
--- a/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java	Thu Mar 08 10:18:28 2018 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -26,13 +26,9 @@
 package javax.security.auth;
 
 import java.security.AccessController;
-import java.security.Permission;
-import java.security.Permissions;
-import java.security.PermissionCollection;
 import java.security.Principal;
 import java.security.PrivilegedAction;
 import java.security.ProtectionDomain;
-import java.security.Security;
 import java.util.Set;
 import java.util.WeakHashMap;
 import java.lang.ref.WeakReference;
@@ -56,15 +52,6 @@
         sun.security.util.Debug.getInstance("combiner",
                                         "\t[SubjectDomainCombiner]");
 
-    @SuppressWarnings({"deprecation", "removal"})
-    // Note: check only at classloading time, not dynamically during combine()
-    private static final boolean useJavaxPolicy =
-        javax.security.auth.Policy.isCustomPolicySet(debug);
-
-    // Relevant only when useJavaxPolicy is true
-    private static final boolean allowCaching =
-                                        (useJavaxPolicy && cachePolicy());
-
     /**
      * Associate the provided {@code Subject} with this
      * {@code SubjectDomainCombiner}.
@@ -196,12 +183,6 @@
             return null;
         }
 
-        // maintain backwards compatibility for developers who provide
-        // their own custom javax.security.auth.Policy implementations
-        if (useJavaxPolicy) {
-            return combineJavaxPolicy(currentDomains, assignedDomains);
-        }
-
         int cLen = (currentDomains == null ? 0 : currentDomains.length);
         int aLen = (assignedDomains == null ? 0 : assignedDomains.length);
 
@@ -292,151 +273,6 @@
         }
     }
 
-    /**
-     * Use the javax.security.auth.Policy implementation
-     */
-    private ProtectionDomain[] combineJavaxPolicy(
-        ProtectionDomain[] currentDomains,
-        ProtectionDomain[] assignedDomains) {
-
-        if (!allowCaching) {
-            java.security.AccessController.doPrivileged
-                (new PrivilegedAction<Void>() {
-                    @SuppressWarnings({"deprecation", "removal"})
-                    public Void run() {
-                        // Call refresh only caching is disallowed
-                        javax.security.auth.Policy.getPolicy().refresh();
-                        return null;
-                    }
-                });
-        }
-
-
-        int cLen = (currentDomains == null ? 0 : currentDomains.length);
-        int aLen = (assignedDomains == null ? 0 : assignedDomains.length);
-
-        // the ProtectionDomains for the new AccessControlContext
-        // that we will return
-        ProtectionDomain[] newDomains = new ProtectionDomain[cLen + aLen];
-
-        synchronized(cachedPDs) {
-            if (!subject.isReadOnly() &&
-                !subject.getPrincipals().equals(principalSet)) {
-
-                // if the Subject was mutated, clear the PD cache
-                Set<Principal> newSet = subject.getPrincipals();
-                synchronized(newSet) {
-                    principalSet = new java.util.HashSet<Principal>(newSet);
-                }
-                principals = principalSet.toArray
-                        (new Principal[principalSet.size()]);
-                cachedPDs.clear();
-
-                if (debug != null) {
-                    debug.println("Subject mutated - clearing cache");
-                }
-            }
-
-            for (int i = 0; i < cLen; i++) {
-                ProtectionDomain pd = currentDomains[i];
-                ProtectionDomain subjectPd = cachedPDs.getValue(pd);
-
-                if (subjectPd == null) {
-                    if (pd.staticPermissionsOnly()) {
-                        // keep static ProtectionDomain objects static
-                        subjectPd = pd;
-                    } else {
-                        // XXX
-                        // we must first add the original permissions.
-                        // that way when we later add the new JAAS permissions,
-                        // any unresolved JAAS-related permissions will
-                        // automatically get resolved.
-
-                        // get the original perms
-                        Permissions perms = new Permissions();
-                        PermissionCollection coll = pd.getPermissions();
-                        java.util.Enumeration<Permission> e;
-                        if (coll != null) {
-                            synchronized (coll) {
-                                e = coll.elements();
-                                while (e.hasMoreElements()) {
-                                    Permission newPerm =
-                                        e.nextElement();
-                                    perms.add(newPerm);
-                                }
-                            }
-                        }
-
-                        // get perms from the policy
-                        final java.security.CodeSource finalCs = pd.getCodeSource();
-                        final Subject finalS = subject;
-                        PermissionCollection newPerms =
-                            java.security.AccessController.doPrivileged
-                            (new PrivilegedAction<PermissionCollection>() {
-                            @SuppressWarnings({"deprecation", "removal"})
-                            public PermissionCollection run() {
-                                return
-                                    javax.security.auth.Policy.getPolicy().getPermissions
-                                    (finalS, finalCs);
-                            }
-                        });
-
-                        // add the newly granted perms,
-                        // avoiding duplicates
-                        synchronized (newPerms) {
-                            e = newPerms.elements();
-                            while (e.hasMoreElements()) {
-                                Permission newPerm = e.nextElement();
-                                if (!perms.implies(newPerm)) {
-                                    perms.add(newPerm);
-                                    if (debug != null)
-                                        debug.println (
-                                            "Adding perm " + newPerm + "\n");
-                                }
-                            }
-                        }
-                        subjectPd = new ProtectionDomain
-                            (finalCs, perms, pd.getClassLoader(), principals);
-                    }
-                    if (allowCaching)
-                        cachedPDs.putValue(pd, subjectPd);
-                }
-                newDomains[i] = subjectPd;
-            }
-        }
-
-        if (debug != null) {
-            debug.println("updated current: ");
-            for (int i = 0; i < cLen; i++) {
-                debug.println("\tupdated[" + i + "] = " + newDomains[i]);
-            }
-        }
-
-        // now add on the assigned domains
-        if (aLen > 0) {
-            System.arraycopy(assignedDomains, 0, newDomains, cLen, aLen);
-        }
-
-        if (debug != null) {
-            if (newDomains == null || newDomains.length == 0) {
-                debug.println("returning null");
-            } else {
-                debug.println("combinedDomains: ");
-                for (int i = 0; i < newDomains.length; i++) {
-                    debug.println("newDomain " + i + ": " +
-                        newDomains[i].toString());
-                }
-            }
-        }
-
-        // return the new ProtectionDomains
-        if (newDomains == null || newDomains.length == 0) {
-            return null;
-        } else {
-            return newDomains;
-        }
-    }
-
     private static ProtectionDomain[] optimize(ProtectionDomain[] domains) {
         if (domains == null || domains.length == 0)
             return null;
@@ -476,21 +312,6 @@
         return ((num == 0 || optimized.length == 0) ? null : optimized);
     }
 
-    private static boolean cachePolicy() {
-        String s = AccessController.doPrivileged
-            (new PrivilegedAction<String>() {
-            public String run() {
-                return Security.getProperty("cache.auth.policy");
-            }
-        });
-        if (s != null) {
-            return Boolean.parseBoolean(s);
-        }
-
-        // cache by default
-        return true;
-    }
-
     private static void printInputDomains(ProtectionDomain[] currentDomains,
                                 ProtectionDomain[] assignedDomains) {
         if (currentDomains == null || currentDomains.length == 0) {
--- a/src/java.base/share/classes/sun/net/www/MimeTable.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/share/classes/sun/net/www/MimeTable.java	Thu Mar 08 10:18:28 2018 -0800
@@ -57,9 +57,6 @@
                     "/etc/mailcap",
                     "/usr/etc/mailcap",
                     "/usr/local/etc/mailcap",
-                    System.getProperty("hotjava.home",
-                                           "/usr/local/hotjava")
-                        + "/lib/mailcap",
                 };
                 return null;
             }
--- a/src/java.base/share/classes/sun/nio/ch/SelChImpl.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/share/classes/sun/nio/ch/SelChImpl.java	Thu Mar 08 10:18:28 2018 -0800
@@ -63,8 +63,6 @@
 
     void translateAndSetInterestOps(int ops, SelectionKeyImpl sk);
 
-    int validOps();
-
     void kill() throws IOException;
 
 }
--- a/src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/share/classes/sun/nio/ch/SocketChannelImpl.java	Thu Mar 08 10:18:28 2018 -0800
@@ -96,7 +96,7 @@
     private static final int ST_CLOSING = 3;
     private static final int ST_KILLPENDING = 4;
     private static final int ST_KILLED = 5;
-    private int state;
+    private volatile int state;  // need stateLock to change
 
     // IDs of native threads doing reads and writes, for signalling
     private long readerThread;
@@ -148,12 +148,37 @@
         }
     }
 
-    // @throws ClosedChannelException if channel is closed
+    /**
+     * Checks that the channel is open.
+     *
+     * @throws ClosedChannelException if channel is closed (or closing)
+     */
     private void ensureOpen() throws ClosedChannelException {
         if (!isOpen())
             throw new ClosedChannelException();
     }
 
+    /**
+     * Checks that the channel is open and connected.
+     *
+     * @apiNote This method uses the "state" field to check if the channel is
+     * open. It should never be used in conjuncion with isOpen or ensureOpen
+     * as these methods check AbstractInterruptibleChannel's closed field - that
+     * field is set before implCloseSelectableChannel is called and so before
+     * the state is changed.
+     *
+     * @throws ClosedChannelException if channel is closed (or closing)
+     * @throws NotYetConnectedException if open and not connected
+     */
+    private void ensureOpenAndConnected() throws ClosedChannelException {
+        int state = this.state;
+        if (state < ST_CONNECTED) {
+            throw new NotYetConnectedException();
+        } else if (state > ST_CONNECTED) {
+            throw new ClosedChannelException();
+        }
+    }
+
     @Override
     public Socket socket() {
         synchronized (stateLock) {
@@ -275,13 +300,14 @@
         if (blocking) {
             // set hook for Thread.interrupt
             begin();
-        }
-        synchronized (stateLock) {
-            ensureOpen();
-            if (state != ST_CONNECTED)
-                throw new NotYetConnectedException();
-            if (blocking)
+
+            synchronized (stateLock) {
+                ensureOpenAndConnected();
+                // record thread so it can be signalled if needed
                 readerThread = NativeThread.current();
+            }
+        } else {
+            ensureOpenAndConnected();
         }
     }
 
@@ -385,15 +411,16 @@
         if (blocking) {
             // set hook for Thread.interrupt
             begin();
-        }
-        synchronized (stateLock) {
-            ensureOpen();
-            if (isOutputClosed)
-                throw new ClosedChannelException();
-            if (state != ST_CONNECTED)
-                throw new NotYetConnectedException();
-            if (blocking)
+
+            synchronized (stateLock) {
+                ensureOpenAndConnected();
+                if (isOutputClosed)
+                    throw new ClosedChannelException();
+                // record thread so it can be signalled if needed
                 writerThread = NativeThread.current();
+            }
+        } else {
+            ensureOpenAndConnected();
         }
     }
 
@@ -574,38 +601,48 @@
 
     @Override
     public boolean isConnected() {
-        synchronized (stateLock) {
-            return (state == ST_CONNECTED);
-        }
+        return (state == ST_CONNECTED);
     }
 
     @Override
     public boolean isConnectionPending() {
-        synchronized (stateLock) {
-            return (state == ST_CONNECTIONPENDING);
-        }
+        return (state == ST_CONNECTIONPENDING);
     }
 
     /**
      * Marks the beginning of a connect operation that might block.
-     *
+     * @param blocking true if configured blocking
+     * @param isa the remote address
      * @throws ClosedChannelException if the channel is closed
      * @throws AlreadyConnectedException if already connected
      * @throws ConnectionPendingException is a connection is pending
+     * @throws IOException if the pre-connect hook fails
      */
-    private void beginConnect(boolean blocking) throws ClosedChannelException {
+    private void beginConnect(boolean blocking, InetSocketAddress isa)
+        throws IOException
+    {
         if (blocking) {
             // set hook for Thread.interrupt
             begin();
         }
         synchronized (stateLock) {
             ensureOpen();
+            int state = this.state;
             if (state == ST_CONNECTED)
                 throw new AlreadyConnectedException();
             if (state == ST_CONNECTIONPENDING)
                 throw new ConnectionPendingException();
-            if (blocking)
+            assert state == ST_UNCONNECTED;
+            this.state = ST_CONNECTIONPENDING;
+
+            if (localAddress == null)
+                NetHooks.beforeTcpConnect(fd, isa.getAddress(), isa.getPort());
+            remoteAddress = isa;
+
+            if (blocking) {
+                // record thread so it can be signalled if needed
                 readerThread = NativeThread.current();
+            }
         }
     }
 
@@ -614,11 +651,21 @@
      *
      * @throws AsynchronousCloseException if the channel was closed due to this
      * thread being interrupted on a blocking connect operation.
+     * @throws IOException if completed and unable to obtain the local address
      */
     private void endConnect(boolean blocking, boolean completed)
-        throws AsynchronousCloseException
+        throws IOException
     {
         endRead(blocking, completed);
+
+        if (completed) {
+            synchronized (stateLock) {
+                if (state == ST_CONNECTIONPENDING) {
+                    localAddress = Net.localAddress(fd);
+                    state = ST_CONNECTED;
+                }
+            }
+        }
     }
 
     @Override
@@ -628,64 +675,37 @@
         if (sm != null)
             sm.checkConnect(isa.getAddress().getHostAddress(), isa.getPort());
 
-        readLock.lock();
+        InetAddress ia = isa.getAddress();
+        if (ia.isAnyLocalAddress())
+            ia = InetAddress.getLocalHost();
+
         try {
-            writeLock.lock();
+            readLock.lock();
             try {
-                // notify before-connect hook
-                synchronized (stateLock) {
-                    if (state == ST_UNCONNECTED && localAddress == null) {
-                        NetHooks.beforeTcpConnect(fd, isa.getAddress(), isa.getPort());
+                writeLock.lock();
+                try {
+                    int n = 0;
+                    boolean blocking = isBlocking();
+                    try {
+                        beginConnect(blocking, isa);
+                        do {
+                            n = Net.connect(fd, ia, isa.getPort());
+                        } while (n == IOStatus.INTERRUPTED && isOpen());
+                    } finally {
+                        endConnect(blocking, (n > 0));
                     }
-                }
-
-                InetAddress ia = isa.getAddress();
-                if (ia.isAnyLocalAddress())
-                    ia = InetAddress.getLocalHost();
-
-                int n = 0;
-                boolean blocking = isBlocking();
-                try {
-                    try {
-                        beginConnect(blocking);
-                        if (blocking) {
-                            do {
-                                n = Net.connect(fd, ia, isa.getPort());
-                            } while (n == IOStatus.INTERRUPTED && isOpen());
-                        } else {
-                            n = Net.connect(fd, ia, isa.getPort());
-                        }
-                    } finally {
-                        endConnect(blocking, n > 0);
-                    }
-                } catch (IOException x) {
-                    // connect failed, close socket
-                    close();
-                    throw x;
-                }
-
-                // connection may be established
-                synchronized (stateLock) {
-                    if (!isOpen())
-                        throw new AsynchronousCloseException();
-                    remoteAddress = isa;
-                    if (n > 0) {
-                        // connected established
-                        localAddress = Net.localAddress(fd);
-                        state = ST_CONNECTED;
-                        return true;
-                    } else {
-                        // connection pending
-                        assert !blocking;
-                        state = ST_CONNECTIONPENDING;
-                        return false;
-                    }
+                    assert IOStatus.check(n);
+                    return n > 0;
+                } finally {
+                    writeLock.unlock();
                 }
             } finally {
-                writeLock.unlock();
+                readLock.unlock();
             }
-        } finally {
-            readLock.unlock();
+        } catch (IOException ioe) {
+            // connect failed, close the channel
+            close();
+            throw ioe;
         }
     }
 
@@ -704,8 +724,10 @@
             ensureOpen();
             if (state != ST_CONNECTIONPENDING)
                 throw new NoConnectionPendingException();
-            if (blocking)
+            if (blocking) {
+                // record thread so it can be signalled if needed
                 readerThread = NativeThread.current();
+            }
         }
     }
 
@@ -714,65 +736,62 @@
      *
      * @throws AsynchronousCloseException if the channel was closed due to this
      * thread being interrupted on a blocking connect operation.
+     * @throws IOException if completed and unable to obtain the local address
      */
     private void endFinishConnect(boolean blocking, boolean completed)
-        throws AsynchronousCloseException
+        throws IOException
     {
         endRead(blocking, completed);
+
+        if (completed) {
+            synchronized (stateLock) {
+                if (state == ST_CONNECTIONPENDING) {
+                    localAddress = Net.localAddress(fd);
+                    state = ST_CONNECTED;
+                }
+            }
+        }
     }
 
     @Override
     public boolean finishConnect() throws IOException {
-        readLock.lock();
         try {
-            writeLock.lock();
+            readLock.lock();
             try {
-                // already connected?
-                synchronized (stateLock) {
-                    if (state == ST_CONNECTED)
+                writeLock.lock();
+                try {
+                    // no-op if already connected
+                    if (isConnected())
                         return true;
-                }
 
-                int n = 0;
-                boolean blocking = isBlocking();
-                try {
+                    boolean blocking = isBlocking();
+                    boolean connected = false;
                     try {
                         beginFinishConnect(blocking);
+                        int n = 0;
                         if (blocking) {
                             do {
                                 n = checkConnect(fd, true);
-                            } while (n == 0 || (n == IOStatus.INTERRUPTED) && isOpen());
+                            } while ((n == 0 || n == IOStatus.INTERRUPTED) && isOpen());
                         } else {
                             n = checkConnect(fd, false);
                         }
+                        connected = (n > 0);
                     } finally {
-                        endFinishConnect(blocking, n > 0);
+                        endFinishConnect(blocking, connected);
                     }
-                } catch (IOException x) {
-                    close();
-                    throw x;
-                }
-
-                // post finishConnect, connection may be established
-                synchronized (stateLock) {
-                    if (!isOpen())
-                        throw new AsynchronousCloseException();
-                    if (n > 0) {
-                        // connection established
-                        localAddress = Net.localAddress(fd);
-                        state = ST_CONNECTED;
-                        return true;
-                    } else {
-                        // connection still pending
-                        assert !blocking;
-                        return false;
-                    }
+                    assert (blocking && connected) ^ !blocking;
+                    return connected;
+                } finally {
+                    writeLock.unlock();
                 }
             } finally {
-                writeLock.unlock();
+                readLock.unlock();
             }
-        } finally {
-            readLock.unlock();
+        } catch (IOException ioe) {
+            // connect failed, close the channel
+            close();
+            throw ioe;
         }
     }
 
@@ -994,20 +1013,17 @@
             return (newOps & ~oldOps) != 0;
         }
 
+        boolean connected = isConnected();
         if (((ops & Net.POLLIN) != 0) &&
-            ((intOps & SelectionKey.OP_READ) != 0) &&
-            (state == ST_CONNECTED))
+            ((intOps & SelectionKey.OP_READ) != 0) && connected)
             newOps |= SelectionKey.OP_READ;
 
         if (((ops & Net.POLLCONN) != 0) &&
-            ((intOps & SelectionKey.OP_CONNECT) != 0) &&
-            ((state == ST_UNCONNECTED) || (state == ST_CONNECTIONPENDING))) {
+            ((intOps & SelectionKey.OP_CONNECT) != 0) && isConnectionPending())
             newOps |= SelectionKey.OP_CONNECT;
-        }
 
         if (((ops & Net.POLLOUT) != 0) &&
-            ((intOps & SelectionKey.OP_WRITE) != 0) &&
-            (state == ST_CONNECTED))
+            ((intOps & SelectionKey.OP_WRITE) != 0) && connected)
             newOps |= SelectionKey.OP_WRITE;
 
         sk.nioReadyOps(newOps);
--- a/src/java.base/share/classes/sun/security/provider/AuthPolicyFile.java	Thu Mar 08 14:31:54 2018 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1197 +0,0 @@
-/*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.security.provider;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.net.URL;
-import java.util.*;
-
-import java.security.AccessController;
-import java.security.CodeSource;
-import java.security.KeyStore;
-import java.security.KeyStoreException;
-import java.security.Permission;
-import java.security.Permissions;
-import java.security.PermissionCollection;
-import java.security.Principal;
-import java.security.PrivilegedAction;
-import java.security.UnresolvedPermission;
-import java.security.Security;
-import java.security.cert.Certificate;
-import java.security.cert.X509Certificate;
-
-import javax.security.auth.Subject;
-import javax.security.auth.PrivateCredentialPermission;
-
-import sun.security.provider.PolicyParser.GrantEntry;
-import sun.security.provider.PolicyParser.PermissionEntry;
-import sun.security.provider.PolicyParser.PrincipalEntry;
-import sun.security.util.Debug;
-import sun.security.util.PolicyUtil;
-import sun.security.util.PropertyExpander;
-
-/**
- * See {@code com.sun.security.auth.PolicyFile} for the class description.
- * This class is necessary in order to support a default
- * {@code javax.security.auth.Policy} implementation on the compact1 and
- * compact2 profiles.
- *
- * @deprecated As of JDK&nbsp;1.4, replaced by
- *             {@code sun.security.provider.PolicyFile}.
- *             This class is entirely deprecated.
- */
-@Deprecated
-@SuppressWarnings("removal")
-public class AuthPolicyFile extends javax.security.auth.Policy {
-
-    static final ResourceBundle rb =
-        AccessController.doPrivileged(new PrivilegedAction<ResourceBundle>() {
-            @Override public ResourceBundle run() {
-                return (ResourceBundle.getBundle
-                        ("sun.security.util.AuthResources"));
-            }
-        });
-
-    private static final Debug debug = Debug.getInstance("policy",
-                                                         "\t[Auth Policy]");
-
-    private static final String AUTH_POLICY = "java.security.auth.policy";
-    private static final String SECURITY_MANAGER = "java.security.manager";
-    private static final String AUTH_POLICY_URL = "auth.policy.url.";
-
-    private Vector<PolicyEntry> policyEntries;
-    private Hashtable<Object, Object> aliasMapping;
-
-    private boolean initialized = false;
-
-    private boolean expandProperties = true;
-    private boolean ignoreIdentityScope = true;
-
-    // for use with the reflection API
-    private static final Class<?>[] PARAMS = { String.class, String.class};
-
-    /**
-     * Initializes the Policy object and reads the default policy
-     * configuration file(s) into the Policy object.
-     */
-    public AuthPolicyFile() {
-        // initialize Policy if either the AUTH_POLICY or
-        // SECURITY_MANAGER properties are set
-        String prop = System.getProperty(AUTH_POLICY);
-
-        if (prop == null) {
-            prop = System.getProperty(SECURITY_MANAGER);
-        }
-        if (prop != null) {
-            init();
-        }
-    }
-
-    private synchronized void init() {
-        if (initialized) {
-            return;
-        }
-
-        policyEntries = new Vector<PolicyEntry>();
-        aliasMapping = new Hashtable<Object, Object>(11);
-
-        initPolicyFile();
-        initialized = true;
-    }
-
-    @Override
-    public synchronized void refresh() {
-
-        java.lang.SecurityManager sm = System.getSecurityManager();
-        if (sm != null) {
-            sm.checkPermission(new javax.security.auth.AuthPermission
-                                ("refreshPolicy"));
-        }
-
-        // XXX
-        //
-        // 1)   if code instantiates PolicyFile directly, then it will need
-        //      all the permissions required for the PolicyFile initialization
-        // 2)   if code calls Policy.getPolicy, then it simply needs
-        //      AuthPermission(getPolicy), and the javax.security.auth.Policy
-        //      implementation instantiates PolicyFile in a doPrivileged block
-        // 3)   if after instantiating a Policy (either via #1 or #2),
-        //      code calls refresh, it simply needs
-        //      AuthPermission(refreshPolicy).  then PolicyFile wraps
-        //      the refresh in a doPrivileged block.
-        initialized = false;
-        AccessController.doPrivileged(new PrivilegedAction<Void>() {
-            @Override public Void run() {
-                init();
-                return null;
-            }
-        });
-    }
-
-    private KeyStore initKeyStore(URL policyUrl, String keyStoreName,
-                                  String keyStoreType) {
-        if (keyStoreName != null) {
-            try {
-                /*
-                 * location of keystore is specified as absolute URL in policy
-                 * file, or is relative to URL of policy file
-                 */
-                URL keyStoreUrl = null;
-                try {
-                    keyStoreUrl = new URL(keyStoreName);
-                    // absolute URL
-                } catch (java.net.MalformedURLException e) {
-                    // relative URL
-                    keyStoreUrl = new URL(policyUrl, keyStoreName);
-                }
-
-                if (debug != null) {
-                    debug.println("reading keystore"+keyStoreUrl);
-                }
-
-                InputStream inStream = new BufferedInputStream(
-                    PolicyUtil.getInputStream(keyStoreUrl));
-
-                KeyStore ks;
-                if (keyStoreType != null)
-                    ks = KeyStore.getInstance(keyStoreType);
-                else
-                    ks = KeyStore.getInstance(KeyStore.getDefaultType());
-                ks.load(inStream, null);
-                inStream.close();
-                return ks;
-            } catch (Exception e) {
-                // ignore, treat it like we have no keystore
-                if (debug != null) {
-                    debug.println("Debug info only. No keystore.");
-                    e.printStackTrace();
-                }
-                return null;
-            }
-        }
-        return null;
-    }
-
-    private void initPolicyFile() {
-
-        String prop = Security.getProperty("policy.expandProperties");
-        if (prop != null) {
-            expandProperties = prop.equalsIgnoreCase("true");
-        }
-
-        String iscp = Security.getProperty("policy.ignoreIdentityScope");
-        if (iscp != null) {
-            ignoreIdentityScope = iscp.equalsIgnoreCase("true");
-        }
-
-        String allowSys = Security.getProperty("policy.allowSystemProperty");
-        if (allowSys != null && allowSys.equalsIgnoreCase("true")) {
-            String extra_policy = System.getProperty(AUTH_POLICY);
-            if (extra_policy != null) {
-                boolean overrideAll = false;
-                if (extra_policy.startsWith("=")) {
-                    overrideAll = true;
-                    extra_policy = extra_policy.substring(1);
-                }
-                try {
-                    extra_policy = PropertyExpander.expand(extra_policy);
-                    URL policyURL;
-                    File policyFile = new File(extra_policy);
-                    if (policyFile.exists()) {
-                        policyURL =
-                            new URL("file:" + policyFile.getCanonicalPath());
-                    } else {
-                        policyURL = new URL(extra_policy);
-                    }
-                    if (debug != null) {
-                        debug.println("reading " + policyURL);
-                    }
-                    init(policyURL);
-                } catch (Exception e) {
-                    // ignore.
-                    if (debug != null) {
-                        debug.println("caught exception: " + e);
-                    }
-
-                }
-                if (overrideAll) {
-                    if (debug != null) {
-                        debug.println("overriding other policies!");
-                    }
-                    return;
-                }
-            }
-        }
-
-        int n = 1;
-        boolean loaded_one = false;
-        String policy_url;
-
-        while ((policy_url = Security.getProperty(AUTH_POLICY_URL+n)) != null) {
-            try {
-                policy_url = PropertyExpander.expand(policy_url).replace
-                                                (File.separatorChar, '/');
-                if (debug != null) {
-                    debug.println("reading " + policy_url);
-                }
-                init(new URL(policy_url));
-                loaded_one = true;
-            } catch (Exception e) {
-                if (debug != null) {
-                    debug.println("Debug info only. Error reading policy " + e);
-                    e.printStackTrace();
-                }
-                // ignore that policy
-            }
-            n++;
-        }
-
-        if (loaded_one == false) {
-            // do not load a static policy
-        }
-    }
-
-    /**
-     * Checks public key. If it is marked as trusted in
-     * the identity database, add it to the policy
-     * with the AllPermission.
-     */
-    private boolean checkForTrustedIdentity(final Certificate cert) {
-        return false;
-    }
-
-    /**
-     * Reads a policy configuration into the Policy object using a
-     * Reader object.
-     *
-     * @param policyFile the policy Reader object.
-     */
-    private void init(URL policy) {
-        PolicyParser pp = new PolicyParser(expandProperties);
-        try (InputStreamReader isr
-                = new InputStreamReader(PolicyUtil.getInputStream(policy))) {
-            pp.read(isr);
-            KeyStore keyStore = initKeyStore(policy, pp.getKeyStoreUrl(),
-                                             pp.getKeyStoreType());
-            Enumeration<GrantEntry> enum_ = pp.grantElements();
-            while (enum_.hasMoreElements()) {
-                GrantEntry ge = enum_.nextElement();
-                addGrantEntry(ge, keyStore);
-            }
-        } catch (PolicyParser.ParsingException pe) {
-            System.err.println(AUTH_POLICY +
-                               rb.getString(".error.parsing.") + policy);
-            System.err.println(AUTH_POLICY + rb.getString("COLON") +
-                               pe.getMessage());
-            if (debug != null) {
-                pe.printStackTrace();
-            }
-        } catch (Exception e) {
-            if (debug != null) {
-                debug.println("error parsing " + policy);
-                debug.println(e.toString());
-                e.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * Given a PermissionEntry, create a codeSource.
-     *
-     * @return null if signedBy alias is not recognized
-     */
-    CodeSource getCodeSource(GrantEntry ge, KeyStore keyStore)
-            throws java.net.MalformedURLException
-    {
-        Certificate[] certs = null;
-        if (ge.signedBy != null) {
-            certs = getCertificates(keyStore, ge.signedBy);
-            if (certs == null) {
-                // we don't have a key for this alias,
-                // just return
-                if (debug != null) {
-                    debug.println(" no certs for alias " +
-                                       ge.signedBy + ", ignoring.");
-                }
-                return null;
-            }
-        }
-
-        URL location;
-        if (ge.codeBase != null) {
-            location = new URL(ge.codeBase);
-        } else {
-            location = null;
-        }
-
-        if (ge.principals == null || ge.principals.size() == 0) {
-            return (canonicalizeCodebase
-                        (new CodeSource(location, certs),
-                        false));
-        } else {
-            return (canonicalizeCodebase
-                (new SubjectCodeSource(null, ge.principals, location, certs),
-                false));
-        }
-    }
-
-    /**
-     * Add one policy entry to the vector.
-     */
-    private void addGrantEntry(GrantEntry ge, KeyStore keyStore) {
-
-        if (debug != null) {
-            debug.println("Adding policy entry: ");
-            debug.println("  signedBy " + ge.signedBy);
-            debug.println("  codeBase " + ge.codeBase);
-            if (ge.principals != null) {
-                for (PrincipalEntry pppe : ge.principals) {
-                    debug.println("  " + pppe.getPrincipalClass() +
-                                        " " + pppe.getPrincipalName());
-                }
-            }
-            debug.println();
-        }
-
-        try {
-            CodeSource codesource = getCodeSource(ge, keyStore);
-            // skip if signedBy alias was unknown...
-            if (codesource == null) return;
-
-            PolicyEntry entry = new PolicyEntry(codesource);
-            Enumeration<PermissionEntry> enum_ = ge.permissionElements();
-            while (enum_.hasMoreElements()) {
-                PermissionEntry pe = enum_.nextElement();
-                try {
-                    // XXX special case PrivateCredentialPermission-SELF
-                    Permission perm;
-                    if (pe.permission.equals
-                        ("javax.security.auth.PrivateCredentialPermission") &&
-                        pe.name.endsWith(" self")) {
-                        perm = getInstance(pe.permission,
-                                         pe.name + " \"self\"",
-                                         pe.action);
-                    } else {
-                        perm = getInstance(pe.permission,
-                                         pe.name,
-                                         pe.action);
-                    }
-                    entry.add(perm);
-                    if (debug != null) {
-                        debug.println("  "+perm);
-                    }
-                } catch (ClassNotFoundException cnfe) {
-                    Certificate[] certs;
-                    if (pe.signedBy != null) {
-                        certs = getCertificates(keyStore, pe.signedBy);
-                    } else {
-                        certs = null;
-                    }
-
-                    // only add if we had no signer or we had
-                    // a signer and found the keys for it.
-                    if (certs != null || pe.signedBy == null) {
-                            Permission perm = new UnresolvedPermission(
-                                             pe.permission,
-                                             pe.name,
-                                             pe.action,
-                                             certs);
-                            entry.add(perm);
-                            if (debug != null) {
-                                debug.println("  "+perm);
-                            }
-                    }
-                } catch (java.lang.reflect.InvocationTargetException ite) {
-                    System.err.println
-                        (AUTH_POLICY +
-                        rb.getString(".error.adding.Permission.") +
-                        pe.permission +
-                        rb.getString("SPACE") +
-                        ite.getTargetException());
-                } catch (Exception e) {
-                    System.err.println
-                        (AUTH_POLICY +
-                        rb.getString(".error.adding.Permission.") +
-                        pe.permission +
-                        rb.getString("SPACE") +
-                        e);
-                }
-            }
-            policyEntries.addElement(entry);
-        } catch (Exception e) {
-            System.err.println
-                (AUTH_POLICY +
-                rb.getString(".error.adding.Entry.") +
-                ge +
-                rb.getString("SPACE") +
-                e);
-        }
-
-        if (debug != null) {
-            debug.println();
-        }
-    }
-
-    /**
-     * Returns a new Permission object of the given Type. The Permission is
-     * created by getting the
-     * Class object using the <code>Class.forName</code> method, and using
-     * the reflection API to invoke the (String name, String actions)
-     * constructor on the
-     * object.
-     *
-     * @param type the type of Permission being created.
-     * @param name the name of the Permission being created.
-     * @param actions the actions of the Permission being created.
-     *
-     * @exception  ClassNotFoundException  if the particular Permission
-     *             class could not be found.
-     *
-     * @exception  IllegalAccessException  if the class or initializer is
-     *               not accessible.
-     *
-     * @exception  InstantiationException  if getInstance tries to
-     *               instantiate an abstract class or an interface, or if the
-     *               instantiation fails for some other reason.
-     *
-     * @exception  NoSuchMethodException if the (String, String) constructor
-     *               is not found.
-     *
-     * @exception  InvocationTargetException if the underlying Permission
-     *               constructor throws an exception.
-     *
-     */
-    private static final Permission getInstance(String type,
-                                    String name,
-                                    String actions)
-        throws ClassNotFoundException,
-               InstantiationException,
-               IllegalAccessException,
-               NoSuchMethodException,
-               InvocationTargetException
-    {
-        //XXX we might want to keep a hash of created factories...
-        Class<?> pc = Class.forName(type);
-        Constructor<?> c = pc.getConstructor(PARAMS);
-        return (Permission) c.newInstance(new Object[] { name, actions });
-    }
-
-    /**
-     * Fetch all certs associated with this alias.
-     */
-    Certificate[] getCertificates(KeyStore keyStore, String aliases) {
-
-        Vector<Certificate> vcerts = null;
-
-        StringTokenizer st = new StringTokenizer(aliases, ",");
-        int n = 0;
-
-        while (st.hasMoreTokens()) {
-            String alias = st.nextToken().trim();
-            n++;
-            Certificate cert = null;
-            // See if this alias's cert has already been cached
-            cert = (Certificate) aliasMapping.get(alias);
-            if (cert == null && keyStore != null) {
-
-                try {
-                    cert = keyStore.getCertificate(alias);
-                } catch (KeyStoreException kse) {
-                    // never happens, because keystore has already been loaded
-                    // when we call this
-                }
-                if (cert != null) {
-                    aliasMapping.put(alias, cert);
-                    aliasMapping.put(cert, alias);
-                }
-            }
-
-            if (cert != null) {
-                if (vcerts == null) {
-                    vcerts = new Vector<Certificate>();
-                }
-                vcerts.addElement(cert);
-            }
-        }
-
-        // make sure n == vcerts.size, since we are doing a logical *and*
-        if (vcerts != null && n == vcerts.size()) {
-            Certificate[] certs = new Certificate[vcerts.size()];
-            vcerts.copyInto(certs);
-            return certs;
-        } else {
-            return null;
-        }
-    }
-
-    /**
-     * Enumerate all the entries in the global policy object.
-     * This method is used by policy admin tools.   The tools
-     * should use the Enumeration methods on the returned object
-     * to fetch the elements sequentially.
-     */
-    private final synchronized Enumeration<PolicyEntry> elements() {
-        return policyEntries.elements();
-    }
-
-    @Override
-    public PermissionCollection getPermissions(final Subject subject,
-                                               final CodeSource codesource) {
-
-        // 1)   if code instantiates PolicyFile directly, then it will need
-        //      all the permissions required for the PolicyFile initialization
-        // 2)   if code calls Policy.getPolicy, then it simply needs
-        //      AuthPermission(getPolicy), and the javax.security.auth.Policy
-        //      implementation instantiates PolicyFile in a doPrivileged block
-        // 3)   if after instantiating a Policy (either via #1 or #2),
-        //      code calls getPermissions, PolicyFile wraps the call
-        //      in a doPrivileged block.
-        return AccessController.doPrivileged
-            (new PrivilegedAction<PermissionCollection>() {
-            @Override public PermissionCollection run() {
-                SubjectCodeSource scs = new SubjectCodeSource(
-                    subject, null,
-                    codesource == null ? null : codesource.getLocation(),
-                    codesource == null ? null : codesource.getCertificates());
-                if (initialized) {
-                    return getPermissions(new Permissions(), scs);
-                } else {
-                    return new PolicyPermissions(AuthPolicyFile.this, scs);
-                }
-            }
-        });
-    }
-
-    /**
-     * Examines the global policy for the specified CodeSource, and
-     * creates a PermissionCollection object with
-     * the set of permissions for that principal's protection domain.
-     *
-     * @param CodeSource the codesource associated with the caller.
-     * This encapsulates the original location of the code (where the code
-     * came from) and the public key(s) of its signer.
-     *
-     * @return the set of permissions according to the policy.
-     */
-    PermissionCollection getPermissions(CodeSource codesource) {
-
-        if (initialized) {
-            return getPermissions(new Permissions(), codesource);
-        } else {
-            return new PolicyPermissions(this, codesource);
-        }
-    }
-
-    /**
-     * Examines the global policy for the specified CodeSource, and
-     * creates a PermissionCollection object with
-     * the set of permissions for that principal's protection domain.
-     *
-     * @param permissions the permissions to populate
-     * @param codesource the codesource associated with the caller.
-     * This encapsulates the original location of the code (where the code
-     * came from) and the public key(s) of its signer.
-     *
-     * @return the set of permissions according to the policy.
-     */
-    Permissions getPermissions(final Permissions perms,
-                               final CodeSource cs)
-    {
-        if (!initialized) {
-            init();
-        }
-
-        final CodeSource[] codesource = {null};
-
-        codesource[0] = canonicalizeCodebase(cs, true);
-
-        if (debug != null) {
-            debug.println("evaluate(" + codesource[0] + ")\n");
-        }
-
-        // needs to be in a begin/endPrivileged block because
-        // codesource.implies calls URL.equals which does an
-        // InetAddress lookup
-
-        for (int i = 0; i < policyEntries.size(); i++) {
-
-           PolicyEntry entry = policyEntries.elementAt(i);
-
-           if (debug != null) {
-                debug.println("PolicyFile CodeSource implies: " +
-                              entry.codesource.toString() + "\n\n" +
-                              "\t" + codesource[0].toString() + "\n\n");
-           }
-
-           if (entry.codesource.implies(codesource[0])) {
-               for (int j = 0; j < entry.permissions.size(); j++) {
-                    Permission p = entry.permissions.elementAt(j);
-                    if (debug != null) {
-                        debug.println("  granting " + p);
-                    }
-                    if (!addSelfPermissions(p, entry.codesource,
-                                            codesource[0], perms)) {
-                        // we could check for duplicates
-                        // before adding new permissions,
-                        // but the SubjectDomainCombiner
-                        // already checks for duplicates later
-                        perms.add(p);
-                    }
-                }
-            }
-        }
-
-        // now see if any of the keys are trusted ids.
-
-        if (!ignoreIdentityScope) {
-            Certificate[] certs = codesource[0].getCertificates();
-            if (certs != null) {
-                for (int k=0; k < certs.length; k++) {
-                    if (aliasMapping.get(certs[k]) == null &&
-                        checkForTrustedIdentity(certs[k])) {
-                        // checkForTrustedIdentity added it
-                        // to the policy for us. next time
-                        // around we'll find it. This time
-                        // around we need to add it.
-                        perms.add(new java.security.AllPermission());
-                    }
-                }
-            }
-        }
-        return perms;
-    }
-
-    /**
-     * Returns true if 'Self' permissions were added to the provided
-     * 'perms', and false otherwise.
-     *
-     * <p>
-     *
-     * @param p check to see if this Permission is a "SELF"
-     *                  PrivateCredentialPermission. <p>
-     *
-     * @param entryCs the codesource for the Policy entry.
-     *
-     * @param accCs the codesource for from the current AccessControlContext.
-     *
-     * @param perms the PermissionCollection where the individual
-     *                  PrivateCredentialPermissions will be added.
-     */
-    private boolean addSelfPermissions(final Permission p,
-                                       CodeSource entryCs,
-                                       CodeSource accCs,
-                                       Permissions perms) {
-
-        if (!(p instanceof PrivateCredentialPermission)) {
-            return false;
-        }
-
-        if (!(entryCs instanceof SubjectCodeSource)) {
-            return false;
-        }
-
-        PrivateCredentialPermission pcp = (PrivateCredentialPermission)p;
-        SubjectCodeSource scs = (SubjectCodeSource)entryCs;
-
-        // see if it is a SELF permission
-        String[][] pPrincipals = pcp.getPrincipals();
-        if (pPrincipals.length <= 0 ||
-            !pPrincipals[0][0].equalsIgnoreCase("self") ||
-            !pPrincipals[0][1].equalsIgnoreCase("self")) {
-
-            // regular PrivateCredentialPermission
-            return false;
-        } else {
-
-            // granted a SELF permission - create a
-            // PrivateCredentialPermission for each
-            // of the Policy entry's CodeSource Principals
-
-            if (scs.getPrincipals() == null) {
-                // XXX SubjectCodeSource has no Subject???
-                return true;
-            }
-
-            for (PrincipalEntry principal : scs.getPrincipals()) {
-
-                //      if the Policy entry's Principal does not contain a
-                //              WILDCARD for the Principal name, then a
-                //              new PrivateCredentialPermission is created
-                //              for the Principal listed in the Policy entry.
-                //      if the Policy entry's Principal contains a WILDCARD
-                //              for the Principal name, then a new
-                //              PrivateCredentialPermission is created
-                //              for each Principal associated with the Subject
-                //              in the current ACC.
-
-                String[][] principalInfo = getPrincipalInfo(principal, accCs);
-
-                for (int i = 0; i < principalInfo.length; i++) {
-
-                    // here's the new PrivateCredentialPermission
-
-                    PrivateCredentialPermission newPcp =
-                        new PrivateCredentialPermission
-                                (pcp.getCredentialClass() +
-                                        " " +
-                                        principalInfo[i][0] +
-                                        " " +
-                                        "\"" + principalInfo[i][1] + "\"",
-                                "read");
-
-                    if (debug != null) {
-                        debug.println("adding SELF permission: " +
-                                        newPcp.toString());
-                    }
-
-                    perms.add(newPcp);
-                }
-            }
-        }
-        return true;
-    }
-
-    /**
-     * return the principal class/name pair in the 2D array.
-     * array[x][y]:     x corresponds to the array length.
-     *                  if (y == 0), it's the principal class.
-     *                  if (y == 1), it's the principal name.
-     */
-    private String[][] getPrincipalInfo(PrincipalEntry principal,
-                                        final CodeSource accCs) {
-
-        // there are 3 possibilities:
-        // 1) the entry's Principal class and name are not wildcarded
-        // 2) the entry's Principal name is wildcarded only
-        // 3) the entry's Principal class and name are wildcarded
-
-        if (!principal.getPrincipalClass().equals
-                (PrincipalEntry.WILDCARD_CLASS) &&
-            !principal.getPrincipalName().equals
-                (PrincipalEntry.WILDCARD_NAME)) {
-
-            // build a PrivateCredentialPermission for the principal
-            // from the Policy entry
-            String[][] info = new String[1][2];
-            info[0][0] = principal.getPrincipalClass();
-            info[0][1] = principal.getPrincipalName();
-            return info;
-
-        } else if (!principal.getPrincipalClass().equals
-                (PrincipalEntry.WILDCARD_CLASS) &&
-            principal.getPrincipalName().equals
-                (PrincipalEntry.WILDCARD_NAME)) {
-
-            // build a PrivateCredentialPermission for all
-            // the Subject's principals that are instances of principalClass
-
-            // the accCs is guaranteed to be a SubjectCodeSource
-            // because the earlier CodeSource.implies succeeded
-            SubjectCodeSource scs = (SubjectCodeSource)accCs;
-
-            Set<? extends Principal> principalSet = null;
-            try {
-                // principal.principalClass should extend Principal
-                // If it doesn't, we should stop here with a ClassCastException.
-                @SuppressWarnings("unchecked")
-                Class<? extends Principal> pClass = (Class<? extends Principal>)
-                        Class.forName(principal.getPrincipalClass(), false,
-                                      ClassLoader.getSystemClassLoader());
-                principalSet = scs.getSubject().getPrincipals(pClass);
-            } catch (Exception e) {
-                if (debug != null) {
-                    debug.println("problem finding Principal Class " +
-                                  "when expanding SELF permission: " +
-                                  e.toString());
-                }
-            }
-
-            if (principalSet == null) {
-                // error
-                return new String[0][0];
-            }
-
-            String[][] info = new String[principalSet.size()][2];
-
-            int i = 0;
-            for (Principal p : principalSet) {
-                info[i][0] = p.getClass().getName();
-                info[i][1] = p.getName();
-                i++;
-            }
-            return info;
-
-        } else {
-
-            // build a PrivateCredentialPermission for every
-            // one of the current Subject's principals
-
-            // the accCs is guaranteed to be a SubjectCodeSource
-            // because the earlier CodeSource.implies succeeded
-            SubjectCodeSource scs = (SubjectCodeSource)accCs;
-            Set<Principal> principalSet = scs.getSubject().getPrincipals();
-
-            String[][] info = new String[principalSet.size()][2];
-
-            int i = 0;
-            for (Principal p : principalSet) {
-                info[i][0] = p.getClass().getName();
-                info[i][1] = p.getName();
-                i++;
-            }
-            return info;
-        }
-    }
-
-    /*
-     * Returns the signer certificates from the list of certificates associated
-     * with the given code source.
-     *
-     * The signer certificates are those certificates that were used to verify
-     * signed code originating from the codesource location.
-     *
-     * This method assumes that in the given code source, each signer
-     * certificate is followed by its supporting certificate chain
-     * (which may be empty), and that the signer certificate and its
-     * supporting certificate chain are ordered bottom-to-top (i.e., with the
-     * signer certificate first and the (root) certificate authority last).
-     */
-    Certificate[] getSignerCertificates(CodeSource cs) {
-        Certificate[] certs = null;
-        if ((certs = cs.getCertificates()) == null) {
-            return null;
-        }
-        for (int i = 0; i < certs.length; i++) {
-            if (!(certs[i] instanceof X509Certificate))
-                return cs.getCertificates();
-        }
-
-        // Do we have to do anything?
-        int i = 0;
-        int count = 0;
-        while (i < certs.length) {
-            count++;
-            while (((i+1) < certs.length)
-                   && ((X509Certificate)certs[i]).getIssuerDN().equals(
-                           ((X509Certificate)certs[i+1]).getSubjectDN())) {
-                i++;
-            }
-            i++;
-        }
-        if (count == certs.length) {
-            // Done
-            return certs;
-        }
-
-        ArrayList<Certificate> userCertList = new ArrayList<>();
-        i = 0;
-        while (i < certs.length) {
-            userCertList.add(certs[i]);
-            while (((i+1) < certs.length)
-                   && ((X509Certificate)certs[i]).getIssuerDN().equals(
-                           ((X509Certificate)certs[i+1]).getSubjectDN())) {
-                i++;
-            }
-            i++;
-        }
-        Certificate[] userCerts = new Certificate[userCertList.size()];
-        userCertList.toArray(userCerts);
-        return userCerts;
-    }
-
-    private CodeSource canonicalizeCodebase(CodeSource cs,
-                                            boolean extractSignerCerts) {
-        CodeSource canonCs = cs;
-        if (cs.getLocation() != null &&
-            cs.getLocation().getProtocol().equalsIgnoreCase("file")) {
-            try {
-                String path = cs.getLocation().getFile().replace
-                                                        ('/',
-                                                        File.separatorChar);
-                URL csUrl = null;
-                if (path.endsWith("*")) {
-                    // remove trailing '*' because it causes canonicalization
-                    // to fail on win32
-                    path = path.substring(0, path.length()-1);
-                    boolean appendFileSep = false;
-                    if (path.endsWith(File.separator)) {
-                        appendFileSep = true;
-                    }
-                    if (path.equals("")) {
-                        path = System.getProperty("user.dir");
-                    }
-                    File f = new File(path);
-                    path = f.getCanonicalPath();
-                    StringBuilder sb = new StringBuilder(path);
-                    // reappend '*' to canonicalized filename (note that
-                    // canonicalization may have removed trailing file
-                    // separator, so we have to check for that, too)
-                    if (!path.endsWith(File.separator) &&
-                        (appendFileSep || f.isDirectory())) {
-                        sb.append(File.separatorChar);
-                    }
-                    sb.append('*');
-                    path = sb.toString();
-                } else {
-                    path = new File(path).getCanonicalPath();
-                }
-                csUrl = new File(path).toURL();
-
-                if (cs instanceof SubjectCodeSource) {
-                    SubjectCodeSource scs = (SubjectCodeSource)cs;
-                    if (extractSignerCerts) {
-                        canonCs = new SubjectCodeSource(scs.getSubject(),
-                                                        scs.getPrincipals(),
-                                                        csUrl,
-                                                        getSignerCertificates(scs));
-                    } else {
-                        canonCs = new SubjectCodeSource(scs.getSubject(),
-                                                        scs.getPrincipals(),
-                                                        csUrl,
-                                                        scs.getCertificates());
-                    }
-                } else {
-                    if (extractSignerCerts) {
-                        canonCs = new CodeSource(csUrl,
-                                                 getSignerCertificates(cs));
-                    } else {
-                        canonCs = new CodeSource(csUrl,
-                                                 cs.getCertificates());
-                    }
-                }
-            } catch (IOException ioe) {
-                // leave codesource as it is, unless we have to extract its
-                // signer certificates
-                if (extractSignerCerts) {
-                    if (!(cs instanceof SubjectCodeSource)) {
-                        canonCs = new CodeSource(cs.getLocation(),
-                                                getSignerCertificates(cs));
-                    } else {
-                        SubjectCodeSource scs = (SubjectCodeSource)cs;
-                        canonCs = new SubjectCodeSource(scs.getSubject(),
-                                                scs.getPrincipals(),
-                                                scs.getLocation(),
-                                                getSignerCertificates(scs));
-                    }
-                }
-            }
-        } else {
-            if (extractSignerCerts) {
-                if (!(cs instanceof SubjectCodeSource)) {
-                    canonCs = new CodeSource(cs.getLocation(),
-                                        getSignerCertificates(cs));
-                } else {
-                    SubjectCodeSource scs = (SubjectCodeSource)cs;
-                    canonCs = new SubjectCodeSource(scs.getSubject(),
-                                        scs.getPrincipals(),
-                                        scs.getLocation(),
-                                        getSignerCertificates(scs));
-                }
-            }
-        }
-        return canonCs;
-    }
-
-    /**
-     * Each entry in the policy configuration file is represented by a
-     * PolicyEntry object.  <p>
-     *
-     * A PolicyEntry is a (CodeSource,Permission) pair.  The
-     * CodeSource contains the (URL, PublicKey) that together identify
-     * where the Java bytecodes come from and who (if anyone) signed
-     * them.  The URL could refer to localhost.  The URL could also be
-     * null, meaning that this policy entry is given to all comers, as
-     * long as they match the signer field.  The signer could be null,
-     * meaning the code is not signed. <p>
-     *
-     * The Permission contains the (Type, Name, Action) triplet. <p>
-     *
-     * For now, the Policy object retrieves the public key from the
-     * X.509 certificate on disk that corresponds to the signedBy
-     * alias specified in the Policy config file.  For reasons of
-     * efficiency, the Policy object keeps a hashtable of certs already
-     * read in.  This could be replaced by a secure internal key
-     * store.
-     *
-     * <p>
-     * For example, the entry
-     * <pre>
-     *          permission java.io.File "/tmp", "read,write",
-     *          signedBy "Duke";
-     * </pre>
-     * is represented internally
-     * <pre>
-     *
-     * FilePermission f = new FilePermission("/tmp", "read,write");
-     * PublicKey p = publickeys.get("Duke");
-     * URL u = InetAddress.getLocalHost();
-     * CodeBase c = new CodeBase( p, u );
-     * pe = new PolicyEntry(f, c);
-     * </pre>
-     *
-     * @author Marianne Mueller
-     * @author Roland Schemers
-     * @see java.security.CodeSource
-     * @see java.security.Policy
-     * @see java.security.Permissions
-     * @see java.security.ProtectionDomain
-     */
-    private static class PolicyEntry {
-
-        CodeSource codesource;
-        Vector<Permission> permissions;
-
-        /**
-         * Given a Permission and a CodeSource, create a policy entry.
-         *
-         * XXX Decide if/how to add validity fields and "purpose" fields to
-         * XXX policy entries
-         *
-         * @param cs the CodeSource, which encapsulates the URL and the public
-         *        key attributes from the policy config file. Validity checks
-         *        are performed on the public key before PolicyEntry is called.
-         *
-         */
-        PolicyEntry(CodeSource cs) {
-            this.codesource = cs;
-            this.permissions = new Vector<Permission>();
-        }
-
-        /**
-         * add a Permission object to this entry.
-         */
-        void add(Permission p) {
-            permissions.addElement(p);
-        }
-
-        /**
-         * Return the CodeSource for this policy entry
-         */
-        CodeSource getCodeSource() {
-            return this.codesource;
-        }
-
-        @Override
-        public String toString(){
-            StringBuilder sb = new StringBuilder();
-            sb.append(rb.getString("LPARAM"));
-            sb.append(getCodeSource());
-            sb.append("\n");
-            for (int j = 0; j < permissions.size(); j++) {
-                Permission p = permissions.elementAt(j);
-                sb.append(rb.getString("SPACE"));
-                sb.append(rb.getString("SPACE"));
-                sb.append(p);
-                sb.append(rb.getString("NEWLINE"));
-            }
-            sb.append(rb.getString("RPARAM"));
-            sb.append(rb.getString("NEWLINE"));
-            return sb.toString();
-        }
-
-    }
-}
-
-@SuppressWarnings("deprecation")
-class PolicyPermissions extends PermissionCollection {
-
-    private static final long serialVersionUID = -1954188373270545523L;
-
-    private CodeSource codesource;
-    private Permissions perms;
-    private AuthPolicyFile policy;
-    private boolean notInit; // have we pulled in the policy permissions yet?
-    private Vector<Permission> additionalPerms;
-
-    PolicyPermissions(AuthPolicyFile policy,
-                      CodeSource codesource)
-    {
-        this.codesource = codesource;
-        this.policy = policy;
-        this.perms = null;
-        this.notInit = true;
-        this.additionalPerms = null;
-    }
-
-    @Override
-    public void add(Permission permission) {
-        if (isReadOnly())
-            throw new SecurityException
-            (AuthPolicyFile.rb.getString
-            ("attempt.to.add.a.Permission.to.a.readonly.PermissionCollection"));
-
-        if (perms == null) {
-            if (additionalPerms == null) {
-                additionalPerms = new Vector<Permission>();
-            }
-            additionalPerms.add(permission);
-        } else {
-            perms.add(permission);
-        }
-    }
-
-    private synchronized void init() {
-        if (notInit) {
-            if (perms == null) {
-                perms = new Permissions();
-            }
-            if (additionalPerms != null) {
-                Enumeration<Permission> e = additionalPerms.elements();
-                while (e.hasMoreElements()) {
-                    perms.add(e.nextElement());
-                }
-                additionalPerms = null;
-            }
-            policy.getPermissions(perms, codesource);
-            notInit = false;
-        }
-    }
-
-    @Override
-    public boolean implies(Permission permission) {
-        if (notInit) {
-            init();
-        }
-        return perms.implies(permission);
-    }
-
-    @Override
-    public Enumeration<Permission> elements() {
-        if (notInit) {
-            init();
-        }
-        return perms.elements();
-    }
-
-    @Override
-    public String toString() {
-        if (notInit) {
-            init();
-        }
-        return perms.toString();
-    }
-}
--- a/src/java.base/share/classes/sun/security/provider/PolicyFile.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/share/classes/sun/security/provider/PolicyFile.java	Thu Mar 08 10:18:28 2018 -0800
@@ -51,13 +51,6 @@
  * This class represents a default Policy implementation for the
  * "JavaPolicy" type.
  *
- * Note:
- * For backward compatibility with JAAS 1.0 it loads
- * both java.auth.policy and java.policy. However, it
- * is recommended that java.auth.policy not be used
- * and that java.policy contain all grant entries including
- * those that contain principal-based entries.
- *
  * <p> This object stores the policy for the entire Java runtime,
  * and is the amalgamation of multiple static policy
  * configurations that resides in files.
@@ -75,17 +68,13 @@
  *   are needed in order for the runtime to operate correctly.
  * <li>
  *   Loop through the <code>java.security.Security</code> properties,
- *   <i>policy.url.1</i>, <i>policy.url.2</i>, ...,
- *   <i>policy.url.X</i>" and
- *   <i>auth.policy.url.1</i>, <i>auth.policy.url.2</i>, ...,
- *   <i>auth.policy.url.X</i>".  These properties are set
+ *   and <i>policy.url.1</i>, <i>policy.url.2</i>, ...,
+ *   <i>policy.url.X</i>".  These properties are set
  *   in the Java security properties file, which is located in the file named
  *   &lt;JAVA_HOME&gt;/conf/security/java.security.
  *   Each property value specifies a <code>URL</code> pointing to a
  *   policy file to be loaded.  Read in and load each policy.
  *
- *   <i>auth.policy.url</i> is supported only for backward compatibility.
- *
  *   If none of these could be loaded, use a builtin static policy
  *   equivalent to the conf/security/java.policy file.
  *
@@ -98,21 +87,7 @@
  *   <i>policy.allowSystemProperty</i> is set to <i>true</i>),
  *   also load that policy.
  *
- * <li>
- *   The <code>java.lang.System</code> property
- *   <i>java.security.auth.policy</i> may also be set to a
- *   <code>URL</code> pointing to another policy file
- *   (which is the case when a user uses the -D switch at runtime).
- *   If this property is defined, and its use is allowed by the
- *   security property file (the Security property,
- *   <i>policy.allowSystemProperty</i> is set to <i>true</i>),
- *   also load that policy.
- *
- *   <i>java.security.auth.policy</i> is supported only for backward
- *   compatibility.
- *
- *   If the <i>java.security.policy</i> or
- *   <i>java.security.auth.policy</i> property is defined using
+ *   If the <i>java.security.policy</i> property is defined using
  *   "==" (rather than "="), then load the specified policy file and ignore
  *   all other configured policies. Note, that the default.policy file is
  *   also loaded, as specified in the first step of the algorithm above.
@@ -269,8 +244,6 @@
                         "javax.security.auth.x500.X500Principal";
     private static final String POLICY = "java.security.policy";
     private static final String POLICY_URL = "policy.url.";
-    private static final String AUTH_POLICY = "java.security.auth.policy";
-    private static final String AUTH_POLICY_URL = "auth.policy.url.";
 
     private static final int DEFAULT_CACHE_SIZE = 1;
 
@@ -411,14 +384,6 @@
             /**
              * Caller did not specify URL via Policy.getInstance.
              * Read from URLs listed in the java.security properties file.
-             *
-             * We call initPolicyFile with POLICY, POLICY_URL and then
-             * call it with AUTH_POLICY and AUTH_POLICY_URL.
-             * So first we will process the JAVA standard policy
-             * and then process the JAVA AUTH Policy.
-             * This is for backward compatibility as well as to handle
-             * cases where the user has a single unified policyfile
-             * with both java policy entries and auth entries
              */
 
             boolean loaded_one = initPolicyFile(POLICY, POLICY_URL, newInfo);
@@ -428,8 +393,6 @@
                 // use static policy if all else fails
                 initStaticPolicy(newInfo);
             }
-
-            initPolicyFile(AUTH_POLICY, AUTH_POLICY_URL, newInfo);
         }
     }
 
--- a/src/java.base/share/classes/sun/security/util/Resources.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/share/classes/sun/security/util/Resources.java	Thu Mar 08 10:18:28 2018 -0800
@@ -150,11 +150,6 @@
         // sun.security.pkcs11.SunPKCS11
         {"PKCS11.Token.providerName.Password.",
                 "PKCS11 Token [{0}] Password: "},
-
-        /* --- DEPRECATED --- */
-        // javax.security.auth.Policy
-        {"unable.to.instantiate.Subject.based.policy",
-                "unable to instantiate Subject-based policy"}
     };
 
 
--- a/src/java.base/unix/native/libnio/ch/Net.c	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/unix/native/libnio/ch/Net.c	Thu Mar 08 10:18:28 2018 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -293,8 +293,7 @@
     int sa_len = 0;
     int rv;
 
-    if (NET_InetAddressToSockaddr(env, iao, port, &sa, &sa_len,
-                                  preferIPv6) != 0) {
+    if (NET_InetAddressToSockaddr(env, iao, port, &sa, &sa_len, preferIPv6) != 0) {
         return IOS_THROWN;
     }
 
@@ -761,11 +760,11 @@
             break;
 #endif
         case ECONNREFUSED:
+        case ETIMEDOUT:
+        case ENOTCONN:
             xn = JNU_JAVANETPKG "ConnectException";
             break;
-        case ETIMEDOUT:
-            xn = JNU_JAVANETPKG "ConnectException";
-            break;
+
         case EHOSTUNREACH:
             xn = JNU_JAVANETPKG "NoRouteToHostException";
             break;
--- a/src/java.base/unix/native/libnio/ch/SocketChannelImpl.c	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/unix/native/libnio/ch/SocketChannelImpl.c	Thu Mar 08 10:18:28 2018 -0800
@@ -59,23 +59,29 @@
     poller.events = POLLOUT;
     poller.revents = 0;
     result = poll(&poller, 1, block ? -1 : 0);
+
     if (result < 0) {
-        JNU_ThrowIOExceptionWithLastError(env, "Poll failed");
-        return IOS_THROWN;
+        if (errno == EINTR) {
+            return IOS_INTERRUPTED;
+        } else {
+            JNU_ThrowIOExceptionWithLastError(env, "poll failed");
+            return IOS_THROWN;
+        }
     }
     if (!block && (result == 0))
-       return IOS_UNAVAILABLE;
+        return IOS_UNAVAILABLE;
 
-    if (poller.revents) {
+    if (result > 0) {
         errno = 0;
         result = getsockopt(fd, SOL_SOCKET, SO_ERROR, &error, &n);
         if (result < 0) {
-            handleSocketError(env, errno);
-            return JNI_FALSE;
+            return handleSocketError(env, errno);
         } else if (error) {
-            handleSocketError(env, error);
-            return JNI_FALSE;
+            return handleSocketError(env, error);
+        } else if ((poller.revents & POLLHUP) != 0) {
+            return handleSocketError(env, ENOTCONN);
         }
+        // connected
         return 1;
     }
     return 0;
--- a/src/java.base/windows/native/libnet/NetworkInterface_winXP.c	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/windows/native/libnet/NetworkInterface_winXP.c	Thu Mar 08 10:18:28 2018 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2017, 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.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -39,14 +39,15 @@
 #ifdef DEBUG
 void printnif (netif *nif) {
 #ifdef _WIN64
-        printf ("nif:0x%I64x name:%s\n", nif,nif->name);
+        printf ("nif:0x%I64x name:%s\n", (UINT_PTR)nif, nif->name);
 #else
-        printf ("nif:0x%x name:%s\n", nif,nif->name);
+        printf ("nif:0x%x name:%s\n", nif, nif->name);
 #endif
         if (nif->dNameIsUnicode) {
-            printf ("dName:%S index:%d ", nif->displayName,nif->index);
+            printf ("dName:%S index:%d ", (unsigned short *)nif->displayName,
+                nif->index);
         } else {
-            printf ("dName:%s index:%d ", nif->displayName,nif->index);
+            printf ("dName:%s index:%d ", nif->displayName, nif->index);
         }
         printf ("naddrs:%d\n", nif->naddrs);
 }
--- a/src/java.base/windows/native/libnio/ch/SocketChannelImpl.c	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.base/windows/native/libnio/ch/SocketChannelImpl.c	Thu Mar 08 10:18:28 2018 -0800
@@ -58,9 +58,7 @@
                                                jobject fdo, jboolean block)
 {
     int optError = 0;
-    int lastError = 0;
-    int result = 0;
-    int retry = 0;
+    int result;
     int n = sizeof(int);
     jint fd = fdval(env, fdo);
     fd_set wr, ex;
@@ -73,64 +71,33 @@
 
     result = select(fd+1, 0, &wr, &ex, block ? NULL : &t);
 
-    /* save last winsock error */
-    if (result == SOCKET_ERROR) {
-        lastError = WSAGetLastError();
-    }
-
-    if (block) { /* must configure socket back to blocking state */
-        u_long argp = 0;
-        int r = ioctlsocket(fd, FIONBIO, &argp);
-        if (r == SOCKET_ERROR) {
-            handleSocketError(env, WSAGetLastError());
-        }
-    }
-
     if (result == 0) {  /* timeout */
         return block ? 0 : IOS_UNAVAILABLE;
     } else {
-        if (result == SOCKET_ERROR)     { /* select failed */
-            handleSocketError(env, lastError);
+        if (result == SOCKET_ERROR) { /* select failed */
+            handleSocketError(env, WSAGetLastError());
             return IOS_THROWN;
         }
     }
 
-    /*
-     * Socket is writable or error occurred. On some Windows editions
-     * the socket will appear writable when the connect fails so we
-     * check for error rather than writable.
-     */
-    if (!FD_ISSET(fd, &ex)) {
-        return 1;               /* connection established */
+    // connection established if writable and no error to check
+    if (FD_ISSET(fd, &wr) && !FD_ISSET(fd, &ex)) {
+        return 1;
     }
 
-    /*
-     * A getsockopt( SO_ERROR ) may indicate success on NT4 even
-     * though the connection has failed. The workaround is to allow
-     * winsock to be scheduled and this is done via by yielding.
-     * As the yield approach is problematic in heavy load situations
-     * we attempt up to 3 times to get the failure reason.
-     */
-    for (retry=0; retry<3; retry++) {
-        result = getsockopt((SOCKET)fd,
-                            SOL_SOCKET,
-                            SO_ERROR,
-                            (char *)&optError,
-                            &n);
-        if (result == SOCKET_ERROR) {
-            int lastError = WSAGetLastError();
-            if (lastError == WSAEINPROGRESS) {
-                return IOS_UNAVAILABLE;
-            }
-            NET_ThrowNew(env, lastError, "getsockopt");
-            return IOS_THROWN;
+    result = getsockopt((SOCKET)fd,
+                        SOL_SOCKET,
+                        SO_ERROR,
+                        (char *)&optError,
+                        &n);
+    if (result == SOCKET_ERROR) {
+        int lastError = WSAGetLastError();
+        if (lastError == WSAEINPROGRESS) {
+            return IOS_UNAVAILABLE;
         }
-        if (optError) {
-            break;
-        }
-        Sleep(0);
+        NET_ThrowNew(env, lastError, "getsockopt");
+        return IOS_THROWN;
     }
-
     if (optError != NO_ERROR) {
         handleSocketError(env, optError);
         return IOS_THROWN;
--- a/src/java.prefs/windows/classes/java/util/prefs/WindowsPreferences.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.prefs/windows/classes/java/util/prefs/WindowsPreferences.java	Thu Mar 08 10:18:28 2018 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -172,22 +172,22 @@
     /**
      * Java wrapper for Windows registry API RegOpenKey()
      */
-    private static native int[] WindowsRegOpenKey(int hKey, byte[] subKey,
-                                                  int securityMask);
+    private static native long[] WindowsRegOpenKey(long hKey, byte[] subKey,
+                                                   int securityMask);
     /**
      * Retries RegOpenKey() MAX_ATTEMPTS times before giving up.
      */
-    private static int[] WindowsRegOpenKey1(int hKey, byte[] subKey,
-                                            int securityMask) {
-        int[] result = WindowsRegOpenKey(hKey, subKey, securityMask);
+    private static long[] WindowsRegOpenKey1(long hKey, byte[] subKey,
+                                             int securityMask) {
+        long[] result = WindowsRegOpenKey(hKey, subKey, securityMask);
         if (result[ERROR_CODE] == ERROR_SUCCESS) {
             return result;
         } else if (result[ERROR_CODE] == ERROR_FILE_NOT_FOUND) {
             logger().warning("Trying to recreate Windows registry node " +
             byteArrayToString(subKey) + " at root 0x" +
-            Integer.toHexString(hKey) + ".");
+            Long.toHexString(hKey) + ".");
             // Try recreation
-            int handle = WindowsRegCreateKeyEx(hKey, subKey)[NATIVE_HANDLE];
+            long handle = WindowsRegCreateKeyEx(hKey, subKey)[NATIVE_HANDLE];
             WindowsRegCloseKey(handle);
             return WindowsRegOpenKey(hKey, subKey, securityMask);
         } else if (result[ERROR_CODE] != ERROR_ACCESS_DENIED) {
@@ -211,18 +211,18 @@
      /**
      * Java wrapper for Windows registry API RegCloseKey()
      */
-    private static native int WindowsRegCloseKey(int hKey);
+    private static native int WindowsRegCloseKey(long hKey);
 
     /**
      * Java wrapper for Windows registry API RegCreateKeyEx()
      */
-    private static native int[] WindowsRegCreateKeyEx(int hKey, byte[] subKey);
+    private static native long[] WindowsRegCreateKeyEx(long hKey, byte[] subKey);
 
     /**
      * Retries RegCreateKeyEx() MAX_ATTEMPTS times before giving up.
      */
-    private static int[] WindowsRegCreateKeyEx1(int hKey, byte[] subKey) {
-        int[] result = WindowsRegCreateKeyEx(hKey, subKey);
+    private static long[] WindowsRegCreateKeyEx1(long hKey, byte[] subKey) {
+        long[] result = WindowsRegCreateKeyEx(hKey, subKey);
         if (result[ERROR_CODE] == ERROR_SUCCESS) {
             return result;
         } else {
@@ -245,17 +245,17 @@
     /**
      * Java wrapper for Windows registry API RegDeleteKey()
      */
-    private static native int WindowsRegDeleteKey(int hKey, byte[] subKey);
+    private static native int WindowsRegDeleteKey(long hKey, byte[] subKey);
 
     /**
      * Java wrapper for Windows registry API RegFlushKey()
      */
-    private static native int WindowsRegFlushKey(int hKey);
+    private static native int WindowsRegFlushKey(long hKey);
 
     /**
      * Retries RegFlushKey() MAX_ATTEMPTS times before giving up.
      */
-    private static int WindowsRegFlushKey1(int hKey) {
+    private static int WindowsRegFlushKey1(long hKey) {
         int result = WindowsRegFlushKey(hKey);
         if (result == ERROR_SUCCESS) {
             return result;
@@ -280,17 +280,17 @@
     /**
      * Java wrapper for Windows registry API RegQueryValueEx()
      */
-    private static native byte[] WindowsRegQueryValueEx(int hKey,
+    private static native byte[] WindowsRegQueryValueEx(long hKey,
                                                         byte[] valueName);
     /**
      * Java wrapper for Windows registry API RegSetValueEx()
      */
-    private static native int WindowsRegSetValueEx(int hKey, byte[] valueName,
+    private static native int WindowsRegSetValueEx(long hKey, byte[] valueName,
                                                    byte[] value);
     /**
      * Retries RegSetValueEx() MAX_ATTEMPTS times before giving up.
      */
-    private static int WindowsRegSetValueEx1(int hKey, byte[] valueName,
+    private static int WindowsRegSetValueEx1(long hKey, byte[] valueName,
                                              byte[] value) {
         int result = WindowsRegSetValueEx(hKey, valueName, value);
         if (result == ERROR_SUCCESS) {
@@ -316,18 +316,18 @@
     /**
      * Java wrapper for Windows registry API RegDeleteValue()
      */
-    private static native int WindowsRegDeleteValue(int hKey, byte[] valueName);
+    private static native int WindowsRegDeleteValue(long hKey, byte[] valueName);
 
     /**
      * Java wrapper for Windows registry API RegQueryInfoKey()
      */
-    private static native int[] WindowsRegQueryInfoKey(int hKey);
+    private static native long[] WindowsRegQueryInfoKey(long hKey);
 
     /**
      * Retries RegQueryInfoKey() MAX_ATTEMPTS times before giving up.
      */
-    private static int[] WindowsRegQueryInfoKey1(int hKey) {
-        int[] result = WindowsRegQueryInfoKey(hKey);
+    private static long[] WindowsRegQueryInfoKey1(long hKey) {
+        long[] result = WindowsRegQueryInfoKey(hKey);
         if (result[ERROR_CODE] == ERROR_SUCCESS) {
             return result;
         } else {
@@ -351,13 +351,13 @@
     /**
      * Java wrapper for Windows registry API RegEnumKeyEx()
      */
-    private static native byte[] WindowsRegEnumKeyEx(int hKey, int subKeyIndex,
+    private static native byte[] WindowsRegEnumKeyEx(long hKey, int subKeyIndex,
                                                      int maxKeyLength);
 
     /**
      * Retries RegEnumKeyEx() MAX_ATTEMPTS times before giving up.
      */
-    private static byte[] WindowsRegEnumKeyEx1(int hKey, int subKeyIndex,
+    private static byte[] WindowsRegEnumKeyEx1(long hKey, int subKeyIndex,
                                                int maxKeyLength) {
         byte[] result = WindowsRegEnumKeyEx(hKey, subKeyIndex, maxKeyLength);
         if (result != null) {
@@ -383,12 +383,12 @@
     /**
      * Java wrapper for Windows registry API RegEnumValue()
      */
-    private static native byte[] WindowsRegEnumValue(int hKey, int valueIndex,
+    private static native byte[] WindowsRegEnumValue(long hKey, int valueIndex,
                                                      int maxValueNameLength);
     /**
      * Retries RegEnumValueEx() MAX_ATTEMPTS times before giving up.
      */
-    private static byte[] WindowsRegEnumValue1(int hKey, int valueIndex,
+    private static byte[] WindowsRegEnumValue1(long hKey, int valueIndex,
                                                int maxValueNameLength) {
         byte[] result = WindowsRegEnumValue(hKey, valueIndex,
                                             maxValueNameLength);
@@ -421,18 +421,18 @@
      */
     private WindowsPreferences(WindowsPreferences parent, String name) {
         super(parent, name);
-        int parentNativeHandle = parent.openKey(KEY_CREATE_SUB_KEY, KEY_READ);
+        long parentNativeHandle = parent.openKey(KEY_CREATE_SUB_KEY, KEY_READ);
         if (parentNativeHandle == NULL_NATIVE_HANDLE) {
             // if here, openKey failed and logged
             isBackingStoreAvailable = false;
             return;
         }
-        int[] result =
+        long[] result =
                WindowsRegCreateKeyEx1(parentNativeHandle, toWindowsName(name));
         if (result[ERROR_CODE] != ERROR_SUCCESS) {
             logger().warning("Could not create windows registry node " +
                     byteArrayToString(windowsAbsolutePath()) +
-                    " at root 0x" + Integer.toHexString(rootNativeHandle()) +
+                    " at root 0x" + Long.toHexString(rootNativeHandle()) +
                     ". Windows RegCreateKeyEx(...) returned error code " +
                     result[ERROR_CODE] + ".");
             isBackingStoreAvailable = false;
@@ -451,14 +451,14 @@
      * @param rootNativeHandle Native handle to one of Windows top level keys.
      * @param rootDirectory Path to root directory, as a byte-encoded string.
      */
-    private  WindowsPreferences(int rootNativeHandle, byte[] rootDirectory) {
+    private  WindowsPreferences(long rootNativeHandle, byte[] rootDirectory) {
         super(null, "");
-        int[] result =
+        long[] result =
                 WindowsRegCreateKeyEx1(rootNativeHandle, rootDirectory);
         if (result[ERROR_CODE] != ERROR_SUCCESS) {
             logger().warning("Could not open/create prefs root node " +
                     byteArrayToString(windowsAbsolutePath()) +
-                    " at root 0x" + Integer.toHexString(rootNativeHandle()) +
+                    " at root 0x" + Long.toHexString(rootNativeHandle()) +
                     ". Windows RegCreateKeyEx(...) returned error code " +
                     result[ERROR_CODE] + ".");
             isBackingStoreAvailable = false;
@@ -497,7 +497,7 @@
      * @see #openKey(int, byte[], int)
      * @see #closeKey(int)
      */
-    private int openKey(int securityMask) {
+    private long openKey(int securityMask) {
         return openKey(securityMask, securityMask);
     }
 
@@ -511,7 +511,7 @@
      * @see #openKey(int, byte[], int)
      * @see #closeKey(int)
      */
-    private int openKey(int mask1, int mask2) {
+    private long openKey(int mask1, int mask2) {
         return openKey(windowsAbsolutePath(), mask1,  mask2);
     }
 
@@ -527,12 +527,12 @@
      * @see #openKey(int, byte[],int)
      * @see #closeKey(int)
      */
-    private int openKey(byte[] windowsAbsolutePath, int mask1, int mask2) {
+    private long openKey(byte[] windowsAbsolutePath, int mask1, int mask2) {
         /*  Check if key's path is short enough be opened at once
             otherwise use a path-splitting procedure */
         if (windowsAbsolutePath.length <= MAX_WINDOWS_PATH_LENGTH + 1) {
-            int[] result = WindowsRegOpenKey1(rootNativeHandle(),
-                                              windowsAbsolutePath, mask1);
+            long[] result = WindowsRegOpenKey1(rootNativeHandle(),
+                                               windowsAbsolutePath, mask1);
             if (result[ERROR_CODE] == ERROR_ACCESS_DENIED && mask2 != mask1)
                 result = WindowsRegOpenKey1(rootNativeHandle(),
                                             windowsAbsolutePath, mask2);
@@ -541,7 +541,7 @@
                 logger().warning("Could not open windows registry node " +
                         byteArrayToString(windowsAbsolutePath()) +
                         " at root 0x" +
-                        Integer.toHexString(rootNativeHandle()) +
+                        Long.toHexString(rootNativeHandle()) +
                         ". Windows RegOpenKey(...) returned error code " +
                         result[ERROR_CODE] + ".");
                 result[NATIVE_HANDLE] = NULL_NATIVE_HANDLE;
@@ -550,7 +550,7 @@
                             "Could not open windows registry node " +
                             byteArrayToString(windowsAbsolutePath()) +
                             " at root 0x" +
-                            Integer.toHexString(rootNativeHandle()) +
+                            Long.toHexString(rootNativeHandle()) +
                             ": Access denied");
                 }
             }
@@ -573,12 +573,12 @@
      * @see #openKey(byte[],int)
      * @see #closeKey(int)
      */
-    private int openKey(int nativeHandle, byte[] windowsRelativePath,
-                        int mask1, int mask2) {
+    private long openKey(long nativeHandle, byte[] windowsRelativePath,
+                         int mask1, int mask2) {
     /* If the path is short enough open at once. Otherwise split the path */
         if (windowsRelativePath.length <= MAX_WINDOWS_PATH_LENGTH + 1 ) {
-            int[] result = WindowsRegOpenKey1(nativeHandle,
-                                              windowsRelativePath, mask1);
+            long[] result = WindowsRegOpenKey1(nativeHandle,
+                                               windowsRelativePath, mask1);
             if (result[ERROR_CODE] == ERROR_ACCESS_DENIED && mask2 != mask1)
                 result = WindowsRegOpenKey1(nativeHandle,
                                             windowsRelativePath, mask2);
@@ -586,7 +586,7 @@
             if (result[ERROR_CODE] != ERROR_SUCCESS) {
                 logger().warning("Could not open windows registry node " +
                         byteArrayToString(windowsAbsolutePath()) +
-                        " at root 0x" + Integer.toHexString(nativeHandle) +
+                        " at root 0x" + Long.toHexString(nativeHandle) +
                         ". Windows RegOpenKey(...) returned error code " +
                         result[ERROR_CODE] + ".");
                 result[NATIVE_HANDLE] = NULL_NATIVE_HANDLE;
@@ -610,13 +610,13 @@
                                       separatorPosition - 1];
             System.arraycopy(windowsRelativePath, separatorPosition+1,
                              nextRelativePath, 0, nextRelativePath.length);
-            int nextNativeHandle = openKey(nativeHandle, nextRelativeRoot,
+            long nextNativeHandle = openKey(nativeHandle, nextRelativeRoot,
                                            mask1, mask2);
             if (nextNativeHandle == NULL_NATIVE_HANDLE) {
                 return NULL_NATIVE_HANDLE;
             }
-            int result = openKey(nextNativeHandle, nextRelativePath,
-                                 mask1,mask2);
+            long result = openKey(nextNativeHandle, nextRelativePath,
+                                  mask1,mask2);
             closeKey(nextNativeHandle);
             return result;
         }
@@ -630,13 +630,13 @@
      * @see #openKey(byte[],int)
      * @see #openKey(int, byte[],int)
     */
-    private void closeKey(int nativeHandle) {
+    private void closeKey(long nativeHandle) {
         int result = WindowsRegCloseKey(nativeHandle);
         if (result != ERROR_SUCCESS) {
             logger().warning("Could not close windows registry node " +
                     byteArrayToString(windowsAbsolutePath()) +
                     " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) +
+                    Long.toHexString(rootNativeHandle()) +
                     ". Windows RegCloseKey(...) returned error code " +
                     result + ".");
         }
@@ -649,7 +649,7 @@
      * @see #getSpi(String)
      */
     protected void putSpi(String javaName, String value) {
-        int nativeHandle = openKey(KEY_SET_VALUE);
+        long nativeHandle = openKey(KEY_SET_VALUE);
         if (nativeHandle == NULL_NATIVE_HANDLE) {
             isBackingStoreAvailable = false;
             return;
@@ -662,7 +662,7 @@
                     " at Windows registry node " +
                     byteArrayToString(windowsAbsolutePath()) +
                     " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) +
+                    Long.toHexString(rootNativeHandle()) +
                     ". Windows RegSetValueEx(...) returned error code " +
                     result + ".");
             isBackingStoreAvailable = false;
@@ -677,7 +677,7 @@
      * @see #putSpi(String, String)
      */
     protected String getSpi(String javaName) {
-        int nativeHandle = openKey(KEY_QUERY_VALUE);
+        long nativeHandle = openKey(KEY_QUERY_VALUE);
         if (nativeHandle == NULL_NATIVE_HANDLE) {
             return null;
         }
@@ -699,7 +699,7 @@
      * been deleted.
      */
     protected void removeSpi(String key) {
-        int nativeHandle = openKey(KEY_SET_VALUE);
+        long nativeHandle = openKey(KEY_SET_VALUE);
         if (nativeHandle == NULL_NATIVE_HANDLE) {
         return;
         }
@@ -709,7 +709,7 @@
             logger().warning("Could not delete windows registry value " +
                     byteArrayToString(windowsAbsolutePath()) + "\\" +
                     toWindowsName(key) + " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) +
+                    Long.toHexString(rootNativeHandle()) +
                     ". Windows RegDeleteValue(...) returned error code " +
                     result + ".");
             isBackingStoreAvailable = false;
@@ -725,27 +725,27 @@
      */
     protected String[] keysSpi() throws BackingStoreException{
         // Find out the number of values
-        int nativeHandle = openKey(KEY_QUERY_VALUE);
+        long nativeHandle = openKey(KEY_QUERY_VALUE);
         if (nativeHandle == NULL_NATIVE_HANDLE) {
             throw new BackingStoreException(
                     "Could not open windows registry node " +
                     byteArrayToString(windowsAbsolutePath()) +
                     " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) + ".");
+                    Long.toHexString(rootNativeHandle()) + ".");
         }
-        int[] result =  WindowsRegQueryInfoKey1(nativeHandle);
+        long[] result =  WindowsRegQueryInfoKey1(nativeHandle);
         if (result[ERROR_CODE] != ERROR_SUCCESS) {
             String info = "Could not query windows registry node " +
                     byteArrayToString(windowsAbsolutePath()) +
                     " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) +
+                    Long.toHexString(rootNativeHandle()) +
                     ". Windows RegQueryInfoKeyEx(...) returned error code " +
                     result[ERROR_CODE] + ".";
             logger().warning(info);
             throw new BackingStoreException(info);
         }
-        int maxValueNameLength = result[MAX_VALUE_NAME_LENGTH];
-        int valuesNumber = result[VALUES_NUMBER];
+        int maxValueNameLength = (int)result[MAX_VALUE_NAME_LENGTH];
+        int valuesNumber = (int)result[VALUES_NUMBER];
         if (valuesNumber == 0) {
             closeKey(nativeHandle);
             return new String[0];
@@ -759,7 +759,7 @@
                 String info =
                     "Could not enumerate value #" + i + "  of windows node " +
                     byteArrayToString(windowsAbsolutePath()) + " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) + ".";
+                    Long.toHexString(rootNativeHandle()) + ".";
                 logger().warning(info);
                 throw new BackingStoreException(info);
             }
@@ -777,27 +777,27 @@
      */
     protected String[] childrenNamesSpi() throws BackingStoreException {
         // Open key
-        int nativeHandle = openKey(KEY_ENUMERATE_SUB_KEYS | KEY_QUERY_VALUE);
+        long nativeHandle = openKey(KEY_ENUMERATE_SUB_KEYS | KEY_QUERY_VALUE);
         if (nativeHandle == NULL_NATIVE_HANDLE) {
             throw new BackingStoreException(
                     "Could not open windows registry node " +
                     byteArrayToString(windowsAbsolutePath()) +
                     " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) + ".");
+                    Long.toHexString(rootNativeHandle()) + ".");
         }
         // Get number of children
-        int[] result =  WindowsRegQueryInfoKey1(nativeHandle);
+        long[] result =  WindowsRegQueryInfoKey1(nativeHandle);
         if (result[ERROR_CODE] != ERROR_SUCCESS) {
             String info = "Could not query windows registry node " +
                     byteArrayToString(windowsAbsolutePath()) +
-                    " at root 0x" + Integer.toHexString(rootNativeHandle()) +
+                    " at root 0x" + Long.toHexString(rootNativeHandle()) +
                     ". Windows RegQueryInfoKeyEx(...) returned error code " +
                     result[ERROR_CODE] + ".";
             logger().warning(info);
             throw new BackingStoreException(info);
         }
-        int maxKeyLength = result[MAX_KEY_LENGTH];
-        int subKeysNumber = result[SUBKEYS_NUMBER];
+        int maxKeyLength = (int)result[MAX_KEY_LENGTH];
+        int subKeysNumber = (int)result[SUBKEYS_NUMBER];
         if (subKeysNumber == 0) {
             closeKey(nativeHandle);
             return new String[0];
@@ -812,7 +812,7 @@
                 String info =
                     "Could not enumerate key #" + i + "  of windows node " +
                     byteArrayToString(windowsAbsolutePath()) + " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) + ". ";
+                    Long.toHexString(rootNativeHandle()) + ". ";
                 logger().warning(info);
                 throw new BackingStoreException(info);
             }
@@ -839,20 +839,20 @@
             throw new BackingStoreException(
                     "flush(): Backing store not available.");
         }
-        int nativeHandle = openKey(KEY_READ);
+        long nativeHandle = openKey(KEY_READ);
         if (nativeHandle == NULL_NATIVE_HANDLE) {
             throw new BackingStoreException(
                     "Could not open windows registry node " +
                     byteArrayToString(windowsAbsolutePath()) +
                     " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) + ".");
+                    Long.toHexString(rootNativeHandle()) + ".");
         }
         int result = WindowsRegFlushKey1(nativeHandle);
         if (result != ERROR_SUCCESS) {
             String info = "Could not flush windows registry node " +
                     byteArrayToString(windowsAbsolutePath()) +
                     " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) +
+                    Long.toHexString(rootNativeHandle()) +
                     ". Windows RegFlushKey(...) returned error code " +
                     result + ".";
             logger().warning(info);
@@ -891,21 +891,21 @@
      * is not available.
      */
     public void removeNodeSpi() throws BackingStoreException {
-        int parentNativeHandle =
+        long parentNativeHandle =
                 ((WindowsPreferences)parent()).openKey(DELETE);
         if (parentNativeHandle == NULL_NATIVE_HANDLE) {
             throw new BackingStoreException(
                     "Could not open parent windows registry node of " +
                     byteArrayToString(windowsAbsolutePath()) +
                     " at root 0x" +
-                    Integer.toHexString(rootNativeHandle()) + ".");
+                    Long.toHexString(rootNativeHandle()) + ".");
         }
         int result =
                 WindowsRegDeleteKey(parentNativeHandle, toWindowsName(name()));
         if (result != ERROR_SUCCESS) {
             String info = "Could not delete windows registry node " +
                     byteArrayToString(windowsAbsolutePath()) +
-                    " at root 0x" + Integer.toHexString(rootNativeHandle()) +
+                    " at root 0x" + Long.toHexString(rootNativeHandle()) +
                     ". Windows RegDeleteKeyEx(...) returned error code " +
                     result + ".";
             logger().warning(info);
@@ -1089,7 +1089,7 @@
             if ((ch < 0x0020) || (ch > 0x007f)){
                 // write \udddd
                 windowsName.append("/u");
-                String hex = Integer.toHexString(javaName.charAt(i));
+                String hex = Long.toHexString(javaName.charAt(i));
                 StringBuilder hex4 = new StringBuilder(hex);
                 hex4.reverse();
                 int len = 4 - hex4.length();
@@ -1115,7 +1115,7 @@
     /**
      * Returns native handle for the top Windows node for this node.
      */
-    private int rootNativeHandle() {
+    private long rootNativeHandle() {
         return (isUserNode()
                 ? USER_ROOT_NATIVE_HANDLE
                 : SYSTEM_ROOT_NATIVE_HANDLE);
--- a/src/java.prefs/windows/native/libprefs/WindowsPreferences.c	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/java.prefs/windows/native/libprefs/WindowsPreferences.c	Thu Mar 08 10:18:28 2018 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -37,222 +37,222 @@
  */
 DEF_STATIC_JNI_OnLoad
 
-    JNIEXPORT jintArray JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegOpenKey
-               (JNIEnv* env, jclass this_class, jint hKey, jbyteArray lpSubKey, jint securityMask) {
-        HKEY handle;
-        char* str;
-        int tmp[2];
-        int errorCode=-1;
-        jintArray result;
-        str = (*env)->GetByteArrayElements(env, lpSubKey, NULL);
-        CHECK_NULL_RETURN(str, NULL);
-        errorCode =  RegOpenKeyEx((HKEY)hKey, str, 0, securityMask, &handle);
-        (*env)->ReleaseByteArrayElements(env, lpSubKey, str, 0);
-        tmp[0]= (int) handle;
-        tmp[1]= errorCode;
-        result = (*env)->NewIntArray(env,2);
-        if (result != NULL) {
-            (*env)->SetIntArrayRegion(env, result, 0, 2, tmp);
-        }
-        return result;
+JNIEXPORT jlongArray JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegOpenKey(JNIEnv* env,
+    jclass this_class, jlong hKey, jbyteArray lpSubKey, jint securityMask) {
+    char* str = (*env)->GetByteArrayElements(env, lpSubKey, NULL);
+    CHECK_NULL_RETURN(str, NULL);
+
+    HKEY handle;
+    int errorCode = RegOpenKeyEx((HKEY) hKey, str, 0, securityMask, &handle);
+    (*env)->ReleaseByteArrayElements(env, lpSubKey, str, 0);
+
+    jlong tmp[2];
+    tmp[0] = (jlong) handle;
+    tmp[1] = errorCode;
+    jlongArray result = (*env)->NewLongArray(env, 2);
+    if (result != NULL) {
+        (*env)->SetLongArrayRegion(env, result, 0, 2, tmp);
+    }
+    return result;
+}
+
+JNIEXPORT jint JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegCloseKey(JNIEnv* env,
+    jclass this_class, jlong hKey) {
+    return (jint) RegCloseKey((HKEY) hKey);
+};
+
+JNIEXPORT jlongArray JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegCreateKeyEx(JNIEnv* env,
+    jclass this_class, jlong hKey, jbyteArray lpSubKey) {
+    char* str = (*env)->GetByteArrayElements(env, lpSubKey, NULL);
+    CHECK_NULL_RETURN(str, NULL);
+
+    HKEY handle;
+    DWORD lpdwDisposition;
+    int errorCode = RegCreateKeyEx((HKEY) hKey, str, 0, NULL,
+        REG_OPTION_NON_VOLATILE, KEY_READ,
+        NULL, &handle, &lpdwDisposition);
+    (*env)->ReleaseByteArrayElements(env, lpSubKey, str, 0);
+
+    jlong tmp[3];
+    tmp[0] = (jlong) handle;
+    tmp[1] = errorCode;
+    tmp[2] = lpdwDisposition;
+    jlongArray result = (*env)->NewLongArray(env, 3);
+    if (result != NULL) {
+        (*env)->SetLongArrayRegion(env, result, 0, 3, tmp);
+    }
+    return result;
+}
+
+JNIEXPORT jint JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegDeleteKey(JNIEnv* env,
+    jclass this_class, jlong hKey, jbyteArray lpSubKey) {
+    char* str = (*env)->GetByteArrayElements(env, lpSubKey, NULL);
+    CHECK_NULL_RETURN(str, -1);
+
+    int result = RegDeleteKey((HKEY) hKey, str);
+    (*env)->ReleaseByteArrayElements(env, lpSubKey, str, 0);
+    return result;
+
+};
+
+JNIEXPORT jint JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegFlushKey(JNIEnv* env,
+    jclass this_class, jlong hKey) {
+    return RegFlushKey((HKEY) hKey);
+}
+
+JNIEXPORT jbyteArray JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegQueryValueEx(JNIEnv* env,
+    jclass this_class, jlong hKey, jbyteArray valueName) {
+    char* valueNameStr = (*env)->GetByteArrayElements(env, valueName, NULL);
+    CHECK_NULL_RETURN(valueNameStr, NULL);
+
+    DWORD valueType;
+    DWORD valueSize;
+    if (RegQueryValueEx((HKEY) hKey, valueNameStr, NULL, &valueType, NULL,
+        &valueSize) != ERROR_SUCCESS) {
+        (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0);
+        return NULL;
     }
 
-    JNIEXPORT jint JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegCloseKey
-               (JNIEnv* env, jclass this_class, jint hKey) {
-        return (jint) RegCloseKey((HKEY) hKey);
-    };
-
-    JNIEXPORT jintArray JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegCreateKeyEx
-               (JNIEnv* env, jclass this_class, jint hKey, jbyteArray lpSubKey) {
-        HKEY handle;
-        char* str;
-        int tmp[3];
-        DWORD lpdwDisposition;
-        int errorCode;
-        jintArray result = NULL;
-        str = (*env)->GetByteArrayElements(env, lpSubKey, NULL);
-        CHECK_NULL_RETURN(str, NULL);
-        errorCode =  RegCreateKeyEx((HKEY)hKey, str, 0, NULL,
-                      REG_OPTION_NON_VOLATILE, KEY_READ,
-                      NULL, &handle, &lpdwDisposition);
-        (*env)->ReleaseByteArrayElements(env, lpSubKey, str, 0);
-        tmp[0]= (int) handle;
-        tmp[1]= errorCode;
-        tmp[2]= lpdwDisposition;
-        result = (*env)->NewIntArray(env,3);
-        if (result != NULL) {
-            (*env)->SetIntArrayRegion(env, result, 0, 3, tmp);
-        }
-        return result;
-    }
-
-    JNIEXPORT jint JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegDeleteKey
-              (JNIEnv* env, jclass this_class, jint hKey, jbyteArray lpSubKey) {
-        char* str;
-        int result;
-        str = (*env)->GetByteArrayElements(env, lpSubKey, NULL);
-        CHECK_NULL_RETURN(str, -1);
-        result = RegDeleteKey((HKEY)hKey, str);
-        (*env)->ReleaseByteArrayElements(env, lpSubKey, str, 0);
-        return  result;
-
-    };
-
-    JNIEXPORT jint JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegFlushKey
-        (JNIEnv* env, jclass this_class, jint hKey) {
-        return RegFlushKey ((HKEY)hKey);
-        }
-
-    JNIEXPORT jbyteArray JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegQueryValueEx
-         (JNIEnv* env, jclass this_class, jint hKey, jbyteArray valueName) {
-        char* valueNameStr;
-        char* buffer;
-        jbyteArray result;
-        DWORD valueType;
-        DWORD valueSize;
-        valueNameStr = (*env)->GetByteArrayElements(env, valueName, NULL);
-        CHECK_NULL_RETURN(valueNameStr, NULL);
-        if (RegQueryValueEx((HKEY)hKey, valueNameStr, NULL, &valueType, NULL,
-                                                 &valueSize) != ERROR_SUCCESS) {
-        (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0);
-        return NULL;
-        }
-
-        buffer = (char*)malloc(valueSize);
-        if (buffer != NULL) {
-            if (RegQueryValueEx((HKEY)hKey, valueNameStr, NULL, &valueType, buffer,
-                &valueSize) != ERROR_SUCCESS) {
-                free(buffer);
-                (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0);
-                return NULL;
-            }
-        } else {
-            JNU_ThrowOutOfMemoryError(env, "native memory allocation failed");
+    char* buffer = (char*) malloc(valueSize);
+    if (buffer != NULL) {
+        if (RegQueryValueEx((HKEY) hKey, valueNameStr, NULL, &valueType, buffer,
+            &valueSize) != ERROR_SUCCESS) {
+            free(buffer);
             (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0);
             return NULL;
         }
-
-        if (valueType == REG_SZ) {
-            result = (*env)->NewByteArray(env, valueSize);
-            if (result != NULL) {
-                (*env)->SetByteArrayRegion(env, result, 0, valueSize, buffer);
-            }
-        } else {
-            result = NULL;
-        }
-        free(buffer);
+    } else {
+        JNU_ThrowOutOfMemoryError(env, "native memory allocation failed");
         (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0);
-        return result;
+        return NULL;
     }
 
+    jbyteArray result;
+    if (valueType == REG_SZ) {
+        result = (*env)->NewByteArray(env, valueSize);
+        if (result != NULL) {
+            (*env)->SetByteArrayRegion(env, result, 0, valueSize, buffer);
+        }
+    } else {
+        result = NULL;
+    }
+    free(buffer);
+    (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0);
+    return result;
+}
 
+JNIEXPORT jint JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegSetValueEx(JNIEnv* env,
+    jclass this_class, jlong hKey, jbyteArray valueName, jbyteArray data) {
+    if ((valueName == NULL) || (data == NULL)) {
+        return -1;
+    }
+    int size = (*env)->GetArrayLength(env, data);
+    char* dataStr = (*env)->GetByteArrayElements(env, data, NULL);
+    CHECK_NULL_RETURN(dataStr, -1);
 
+    char* valueNameStr = (*env)->GetByteArrayElements(env, valueName, NULL);
+    int error_code = -1;
+    if (valueNameStr != NULL) {
+        error_code = RegSetValueEx((HKEY) hKey, valueNameStr, 0,
+            REG_SZ, dataStr, size);
+        (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0);
+    }
+    (*env)->ReleaseByteArrayElements(env, data, dataStr, 0);
+    return error_code;
+}
 
-    JNIEXPORT jint JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegSetValueEx
-    (JNIEnv* env, jclass this_class, jint hKey, jbyteArray valueName, jbyteArray data) {
-        char* valueNameStr;
-        char* dataStr;
-        int size = -1;
-        int nameSize = -1;
-        int error_code = -1;
-        if ((valueName == NULL)||(data == NULL)) {return -1;}
-        size = (*env)->GetArrayLength(env, data);
-        dataStr = (*env)->GetByteArrayElements(env, data, NULL);
-        CHECK_NULL_RETURN(dataStr, -1);
-        valueNameStr = (*env)->GetByteArrayElements(env, valueName, NULL);
-        if (valueNameStr != NULL) {
-            error_code = RegSetValueEx((HKEY)hKey, valueNameStr, 0,
-                                                        REG_SZ, dataStr, size);
-            (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0);
-        }
-        (*env)->ReleaseByteArrayElements(env, data, dataStr, 0);
-        return error_code;
+JNIEXPORT jint JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegDeleteValue(JNIEnv* env,
+    jclass this_class, jlong hKey, jbyteArray valueName) {
+    if (valueName == NULL) {
+        return -1;
+    }
+    char* valueNameStr = (*env)->GetByteArrayElements(env, valueName, NULL);
+    CHECK_NULL_RETURN(valueNameStr, -1);
+
+    int error_code = RegDeleteValue((HKEY) hKey, valueNameStr);
+    (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0);
+    return error_code;
+}
+
+JNIEXPORT jlongArray JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegQueryInfoKey(JNIEnv* env,
+    jclass this_class, jlong hKey) {
+    int subKeysNumber;
+    int maxSubKeyLength;
+    int valuesNumber;
+    int maxValueNameLength;
+    int errorCode = RegQueryInfoKey((HKEY) hKey, NULL, NULL, NULL,
+        &subKeysNumber, &maxSubKeyLength, NULL,
+        &valuesNumber, &maxValueNameLength,
+        NULL, NULL, NULL);
+
+    jlong tmp[5];
+    tmp[0] = subKeysNumber;
+    tmp[1] = errorCode;
+    tmp[2] = valuesNumber;
+    tmp[3] = maxSubKeyLength;
+    tmp[4] = maxValueNameLength;
+    jintArray result = (*env)->NewLongArray(env, 5);
+    if (result != NULL) {
+        (*env)->SetLongArrayRegion(env, result, 0, 5, tmp);
+    }
+    return result;
+}
+
+JNIEXPORT jbyteArray JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegEnumKeyEx(JNIEnv* env,
+    jclass this_class, jlong hKey, jint subKeyIndex, jint maxKeyLength) {
+    int size = maxKeyLength;
+    char* buffer = (char*) malloc(maxKeyLength);
+    if (buffer == NULL) {
+        JNU_ThrowOutOfMemoryError(env, "native memory allocation failed");
+        return NULL;
+    }
+    if (RegEnumKeyEx((HKEY) hKey, subKeyIndex, buffer, &size, NULL, NULL,
+        NULL, NULL) != ERROR_SUCCESS) {
+        free(buffer);
+        return NULL;
     }
 
-     JNIEXPORT jint JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegDeleteValue
-            (JNIEnv* env, jclass this_class, jint hKey, jbyteArray valueName) {
-        char* valueNameStr;
-        int error_code = -1;
-        if (valueName == NULL) {return -1;}
-        valueNameStr = (*env)->GetByteArrayElements(env, valueName, NULL);
-        CHECK_NULL_RETURN(valueNameStr, -1);
-        error_code = RegDeleteValue((HKEY)hKey, valueNameStr);
-        (*env)->ReleaseByteArrayElements(env, valueName, valueNameStr, 0);
-        return error_code;
-     }
+    jbyteArray result = (*env)->NewByteArray(env, size + 1);
+    if (result != NULL) {
+        (*env)->SetByteArrayRegion(env, result, 0, size + 1, buffer);
+    }
+    free(buffer);
+    return result;
+}
 
-    JNIEXPORT jintArray JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegQueryInfoKey
-                                  (JNIEnv* env, jclass this_class, jint hKey) {
-        jintArray result = NULL;
-        int tmp[5];
-        int valuesNumber = -1;
-        int maxValueNameLength = -1;
-        int maxSubKeyLength = -1;
-        int subKeysNumber = -1;
-        int errorCode = -1;
-        errorCode = RegQueryInfoKey((HKEY)hKey, NULL, NULL, NULL,
-                 &subKeysNumber, &maxSubKeyLength, NULL,
-                 &valuesNumber, &maxValueNameLength,
-                 NULL, NULL, NULL);
-        tmp[0]= subKeysNumber;
-        tmp[1]= (int)errorCode;
-        tmp[2]= valuesNumber;
-        tmp[3]= maxSubKeyLength;
-        tmp[4]= maxValueNameLength;
-        result = (*env)->NewIntArray(env,5);
-        if (result != NULL) {
-            (*env)->SetIntArrayRegion(env, result, 0, 5, tmp);
-        }
-        return result;
+JNIEXPORT jbyteArray JNICALL
+Java_java_util_prefs_WindowsPreferences_WindowsRegEnumValue(JNIEnv* env,
+    jclass this_class, jlong hKey, jint valueIndex, jint maxValueNameLength) {
+    int size = maxValueNameLength;
+    char* buffer = (char*) malloc(maxValueNameLength);
+    if (buffer == NULL) {
+        JNU_ThrowOutOfMemoryError(env, "native memory allocation failed");
+        return NULL;
     }
 
-     JNIEXPORT jbyteArray JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegEnumKeyEx
-     (JNIEnv* env, jclass this_class, jint hKey , jint subKeyIndex, jint maxKeyLength) {
-        int size = maxKeyLength;
-        jbyteArray result;
-        char* buffer = NULL;
-        buffer = (char*)malloc(maxKeyLength);
-        if (buffer == NULL) {
-            JNU_ThrowOutOfMemoryError(env, "native memory allocation failed");
-            return NULL;
-        }
-        if (RegEnumKeyEx((HKEY) hKey, subKeyIndex, buffer, &size, NULL, NULL,
-                                                 NULL, NULL) != ERROR_SUCCESS){
+    int error_code = RegEnumValue((HKEY) hKey, valueIndex, buffer,
+        &size, NULL, NULL, NULL, NULL);
+    if (error_code != ERROR_SUCCESS) {
         free(buffer);
         return NULL;
-        }
-        result = (*env)->NewByteArray(env, size + 1);
-        if (result != NULL) {
-            (*env)->SetByteArrayRegion(env, result, 0, size + 1, buffer);
-        }
-        free(buffer);
-        return result;
-     }
-
-     JNIEXPORT jbyteArray JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegEnumValue
-          (JNIEnv* env, jclass this_class, jint hKey , jint valueIndex, jint maxValueNameLength){
-          int size = maxValueNameLength;
-          jbyteArray result;
-          char* buffer = NULL;
-          int error_code;
-          buffer = (char*)malloc(maxValueNameLength);
-          if (buffer == NULL) {
-              JNU_ThrowOutOfMemoryError(env, "native memory allocation failed");
-              return NULL;
-          }
-          error_code = RegEnumValue((HKEY) hKey, valueIndex, buffer,
-                                             &size, NULL, NULL, NULL, NULL);
-          if (error_code!= ERROR_SUCCESS){
-            free(buffer);
-            return NULL;
-          }
-          result = (*env)->NewByteArray(env, size + 1);
-          if (result != NULL) {
-              (*env)->SetByteArrayRegion(env, result, 0, size + 1, buffer);
-          }
-          free(buffer);
-          return result;
-     }
+    }
+    jbyteArray result = (*env)->NewByteArray(env, size + 1);
+    if (result != NULL) {
+        (*env)->SetByteArrayRegion(env, result, 0, size + 1, buffer);
+    }
+    free(buffer);
+    return result;
+}
 
 
 #ifdef __cplusplus
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java	Thu Mar 08 10:18:28 2018 -0800
@@ -1696,6 +1696,11 @@
             if (lambdaClassifier.diagFragment != null) {
                 log.error(DiagnosticFlag.SYNTAX, pos, Errors.InvalidLambdaParameterDeclaration(lambdaClassifier.diagFragment));
             }
+            for (JCVariableDecl param: params) {
+                if (param.vartype != null && isRestrictedLocalVarTypeName(param.vartype)) {
+                    param.vartype = null;
+                }
+            }
         }
         return lambdaExpressionOrStatementRest(params, pos);
     }
--- a/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp	Thu Mar 08 10:18:28 2018 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -92,7 +92,7 @@
  * Overloaded 'operator new[]' variant, which will raise Java's
  * OutOfMemoryError in the case of a failure.
  */
-static void* operator new[](std::size_t size, JNIEnv *env)
+void* operator new[](std::size_t size, JNIEnv *env)
 {
     void* buf = ::operator new[](size, std::nothrow);
     if (buf == NULL) {
@@ -1356,212 +1356,6 @@
     }
 }
 
-
-
-
-/*
- * Class:     sun_security_mscapi_RSACipher
- * Method:    findCertificateUsingAlias
- * Signature: (Ljava/lang/String;Ljava/lang/String;)J
- */
-JNIEXPORT jlong JNICALL Java_sun_security_mscapi_RSACipher_findCertificateUsingAlias
-  (JNIEnv *env, jobject obj, jstring jCertStoreName, jstring jCertAliasName)
-{
-    const char* pszCertStoreName = NULL;
-    const char* pszCertAliasName = NULL;
-    HCERTSTORE hCertStore = NULL;
-    PCCERT_CONTEXT pCertContext = NULL;
-    char* pszNameString = NULL; // certificate's friendly name
-    DWORD cchNameString = 0;
-
-    __try
-    {
-        if ((pszCertStoreName = env->GetStringUTFChars(jCertStoreName, NULL))
-            == NULL) {
-            __leave;
-        }
-        if ((pszCertAliasName = env->GetStringUTFChars(jCertAliasName, NULL))
-            == NULL) {
-            __leave;
-        }
-
-        // Open a system certificate store.
-        if ((hCertStore = ::CertOpenSystemStore(NULL, pszCertStoreName)) == NULL) {
-            ThrowException(env, KEYSTORE_EXCEPTION, GetLastError());
-            __leave;
-        }
-
-        // Use CertEnumCertificatesInStore to get the certificates
-        // from the open store. pCertContext must be reset to
-        // NULL to retrieve the first certificate in the store.
-        while (pCertContext = ::CertEnumCertificatesInStore(hCertStore, pCertContext))
-        {
-            if ((cchNameString = ::CertGetNameString(pCertContext,
-                CERT_NAME_FRIENDLY_DISPLAY_TYPE, 0, NULL, NULL, 0)) == 1) {
-
-                continue; // not found
-            }
-
-            pszNameString = new (env) char[cchNameString];
-            if (pszNameString == NULL) {
-                __leave;
-            }
-
-            if (::CertGetNameString(pCertContext,
-                CERT_NAME_FRIENDLY_DISPLAY_TYPE, 0, NULL, pszNameString,
-                cchNameString) == 1) {
-
-                continue; // not found
-            }
-
-            // Compare the certificate's friendly name with supplied alias name
-            if (strcmp(pszCertAliasName, pszNameString) == 0) {
-                delete [] pszNameString;
-                break;
-
-            } else {
-                delete [] pszNameString;
-            }
-        }
-    }
-    __finally
-    {
-        if (hCertStore)
-            ::CertCloseStore(hCertStore, 0);
-
-        if (pszCertStoreName)
-            env->ReleaseStringUTFChars(jCertStoreName, pszCertStoreName);
-
-        if (pszCertAliasName)
-            env->ReleaseStringUTFChars(jCertAliasName, pszCertAliasName);
-    }
-
-    return (jlong) pCertContext;
-}
-
-/*
- * Class:     sun_security_mscapi_RSACipher
- * Method:    getKeyFromCert
- * Signature: (JZ)J
- */
-JNIEXPORT jlong JNICALL Java_sun_security_mscapi_RSACipher_getKeyFromCert
-  (JNIEnv *env, jobject obj, jlong pCertContext, jboolean usePrivateKey)
-{
-    HCRYPTPROV hCryptProv = NULL;
-    HCRYPTKEY hKey = NULL;
-    DWORD dwKeySpec;
-    BOOL bCallerFreeProv = FALSE;
-    BOOL bRes;
-
-    __try
-    {
-        if (usePrivateKey == JNI_TRUE) {
-            // Locate the key container for the certificate's private key
-
-            // First, probe it silently
-            bRes = ::CryptAcquireCertificatePrivateKey(
-                    (PCCERT_CONTEXT) pCertContext, CRYPT_ACQUIRE_SILENT_FLAG,
-                    NULL, &hCryptProv, &dwKeySpec, &bCallerFreeProv);
-
-            if (bRes == FALSE && GetLastError() != NTE_SILENT_CONTEXT)
-            {
-                ThrowException(env, KEYSTORE_EXCEPTION, GetLastError());
-                __leave;
-            }
-
-            if (bCallerFreeProv == TRUE) {
-                ::CryptReleaseContext(hCryptProv, NULL);
-                bCallerFreeProv = FALSE;
-            }
-
-            // Now, do it normally (not silently)
-            if (::CryptAcquireCertificatePrivateKey(
-                    (PCCERT_CONTEXT) pCertContext, 0, NULL, &hCryptProv,
-                    &dwKeySpec, &bCallerFreeProv) == FALSE)
-            {
-                ThrowException(env, KEYSTORE_EXCEPTION, GetLastError());
-                __leave;
-            }
-
-            // Get a handle to the private key
-            if (::CryptGetUserKey(hCryptProv, dwKeySpec, &hKey) == FALSE) {
-                ThrowException(env, KEY_EXCEPTION, GetLastError());
-                __leave;
-            }
-        }
-        else // use public key
-        {
-            bCallerFreeProv = TRUE;
-
-            //  Acquire a CSP context.
-            if (::CryptAcquireContext(&hCryptProv, "J2SE", NULL,
-                    PROV_RSA_FULL, 0) == FALSE)
-            {
-                // If CSP context hasn't been created, create one.
-                //
-                if (::CryptAcquireContext(&hCryptProv, "J2SE", NULL,
-                        PROV_RSA_FULL, CRYPT_NEWKEYSET) == FALSE)
-                {
-                    ThrowException(env, KEYSTORE_EXCEPTION, GetLastError());
-                    __leave;
-                }
-            }
-
-            // Import the certificate's public key into the key container
-            if (::CryptImportPublicKeyInfo(hCryptProv, X509_ASN_ENCODING,
-                    &(((PCCERT_CONTEXT) pCertContext)->pCertInfo->SubjectPublicKeyInfo),
-                    &hKey) == FALSE)
-            {
-                ThrowException(env, KEY_EXCEPTION, GetLastError());
-                __leave;
-            }
-        }
-    }
-    __finally
-    {
-        //--------------------------------------------------------------------
-        // Clean up.
-
-        if (bCallerFreeProv == TRUE && hCryptProv != NULL)
-            ::CryptReleaseContext(hCryptProv, 0);
-    }
-
-    return hKey;        // TODO - when finished with this key, call
-                        //              CryptDestroyKey(hKey)
-}
-
-/*
- * Class:     sun_security_mscapi_KeyStore
- * Method:    getKeyLength
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_sun_security_mscapi_KeyStore_getKeyLength
-  (JNIEnv *env, jobject obj, jlong hKey)
-{
-    DWORD dwDataLen = sizeof(DWORD);
-    BYTE pbData[sizeof(DWORD)];
-    DWORD length = 0;
-
-    __try
-    {
-        // Get key length (in bits)
-        //TODO - may need to use KP_BLOCKLEN instead?
-        if (!(::CryptGetKeyParam((HCRYPTKEY) hKey, KP_KEYLEN, (BYTE *)pbData, &dwDataLen,
-            0))) {
-
-            ThrowException(env, KEY_EXCEPTION, GetLastError());
-            __leave;
-        }
-        length = (DWORD) pbData;
-    }
-    __finally
-    {
-        // no cleanup required
-    }
-
-    return (jint) length;
-}
-
 /*
  * Class:     sun_security_mscapi_RSACipher
  * Method:    encryptDecrypt
@@ -1804,38 +1598,47 @@
  * Convert an array in big-endian byte order into little-endian byte order.
  */
 int convertToLittleEndian(JNIEnv *env, jbyteArray source, jbyte* destination,
-    int destinationLength) {
+        int destinationLength) {
 
-    int sourceLength = env->GetArrayLength(source);
+    int result = -1;
+    jbyte* sourceBytes = NULL;
 
-    jbyte* sourceBytes = env->GetByteArrayElements(source, 0);
-    if (sourceBytes == NULL) {
-        return -1;
-    }
+    __try {
+        int sourceLength = env->GetArrayLength(source);
 
-    int copyLen = sourceLength;
-    if (sourceLength > destinationLength) {
-        // source might include an extra sign byte
-        if (sourceLength == destinationLength + 1 && sourceBytes[0] == 0) {
-            copyLen--;
-        } else {
-            return -1;
+        sourceBytes = env->GetByteArrayElements(source, 0);
+        if (sourceBytes == NULL) {
+            __leave;
+        }
+
+        int copyLen = sourceLength;
+        if (sourceLength > destinationLength) {
+            // source might include an extra sign byte
+            if (sourceLength == destinationLength + 1 && sourceBytes[0] == 0) {
+                copyLen--;
+            } else {
+                __leave;
+            }
+        }
+
+        // Copy bytes from the end of the source array to the beginning of the
+        // destination array (until the destination array is full).
+        // This ensures that the sign byte from the source array will be excluded.
+        for (int i = 0; i < copyLen; i++) {
+            destination[i] = sourceBytes[sourceLength - 1 - i];
+        }
+        if (copyLen < destinationLength) {
+            memset(destination + copyLen, 0, destinationLength - copyLen);
+        }
+        result = destinationLength;
+    } __finally {
+        // Clean up.
+        if (sourceBytes) {
+            env->ReleaseByteArrayElements(source, sourceBytes, JNI_ABORT);
         }
     }
 
-    // Copy bytes from the end of the source array to the beginning of the
-    // destination array (until the destination array is full).
-    // This ensures that the sign byte from the source array will be excluded.
-    for (int i = 0; i < copyLen; i++) {
-        destination[i] = sourceBytes[sourceLength - 1 - i];
-    }
-    if (copyLen < destinationLength) {
-        memset(destination + copyLen, 0, destinationLength - copyLen);
-    }
-
-    env->ReleaseByteArrayElements(source, sourceBytes, JNI_ABORT);
-
-    return destinationLength;
+    return result;
 }
 
 /*
--- a/src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/jdk.httpserver/share/classes/sun/net/httpserver/ServerImpl.java	Thu Mar 08 10:18:28 2018 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -395,7 +395,6 @@
                         } else {
                             try {
                                 if (key.isReadable()) {
-                                    boolean closed;
                                     SocketChannel chan = (SocketChannel)key.channel();
                                     HttpConnection conn = (HttpConnection)key.attachment();
 
@@ -437,7 +436,6 @@
         }
 
         public void handle (SocketChannel chan, HttpConnection conn)
-        throws IOException
         {
             try {
                 Exchange t = new Exchange (chan, protocol, conn);
@@ -448,6 +446,9 @@
             } catch (IOException e) {
                 logger.log (Level.TRACE, "Dispatcher (5)", e);
                 closeConnection(conn);
+            } catch (Throwable e) {
+                logger.log (Level.TRACE, "Dispatcher (6)", e);
+                closeConnection(conn);
             }
         }
     }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java	Thu Mar 08 10:18:28 2018 -0800
@@ -307,8 +307,7 @@
         }
 
         if (htmlVersion == null) {
-            reporter.print(WARNING, getText("doclet.HTML_version_not_specified", helpfile));
-            htmlVersion = HtmlVersion.HTML4;
+            htmlVersion = HtmlVersion.HTML5;
         }
 
         // check if helpfile exists
@@ -658,6 +657,7 @@
             new Option(resources, "-html4") {
                 @Override
                 public boolean process(String opt,  List<String> args) {
+                    reporter.print(WARNING, getText("doclet.HTML_4_specified", helpfile));
                     htmlVersion = HtmlVersion.HTML4;
                     return true;
                 }
--- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties	Thu Mar 08 14:31:54 2018 +0530
+++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties	Thu Mar 08 10:18:28 2018 -0800
@@ -445,9 +445,8 @@
     disable checks for the specified packages.