Delete files
am: 09c345a557

Change-Id: I4de120634546e91b5ad8489ef5aac0803050ccbd
diff --git a/.hgignore b/.hgignore
deleted file mode 100644
index f00bef9..0000000
--- a/.hgignore
+++ /dev/null
@@ -1,27 +0,0 @@
-syntax: glob
-
-^.hgtip
-build/*
-dist/*
-/nbproject/private/
-private.xml
-private.properties
-webrev/*
-webrev.zip
-.classpath
-*.class
-*.clazz
-*.log
-*.orig
-genfiles.properties
-hotspot.log
-.DS_Store*
-TEST-*.xml
-TESTS-*.xml
-report.xml
-CC/*
-jcov2/*
-.idea/*
-test/lib/*.jar
-test/script/external/*
-.project
diff --git a/.hgtags b/.hgtags
deleted file mode 100644
index aac38dc..0000000
--- a/.hgtags
+++ /dev/null
@@ -1,675 +0,0 @@
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b24
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b25
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b26
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b27
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b28
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b29
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b30
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b31
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b32
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b33
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b34
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b35
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b36
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b37
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b38
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b39
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b40
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b41
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b42
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b43
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b44
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b45
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b46
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b47
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b48
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b49
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b50
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b51
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b52
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b53
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b54
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b55
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b56
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b57
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b58
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b59
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b60
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b61
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b62
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b63
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b64
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b65
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b66
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b67
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b68
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b69
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b70
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b71
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b72
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b73
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b74
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b75
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b76
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b77
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b78
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b79
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b80
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b81
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b82
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b83
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b84
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b85
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b86
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b87
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b88
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b89
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b90
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b91
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b92
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b93
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b94
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b95
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b96
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b97
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b98
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b99
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b100
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b101
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b102
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b103
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b104
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b105
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b106
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b107
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b108
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b109
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b110
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b111
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b112
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b113
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b114
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b115
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b116
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b117
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b118
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b119
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b120
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b121
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b122
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b123
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b124
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b125
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b126
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b127
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b128
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b129
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b130
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b131
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b132
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b133
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b134
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b135
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b136
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b137
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b138
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b139
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b140
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b141
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b142
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b143
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b144
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b145
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b146
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk7-b147
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b01
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b02
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b03
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b04
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b05
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b06
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b07
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b08
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b09
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b10
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b11
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b12
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b13
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b14
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b15
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b17
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b16
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b18
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b19
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b20
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b21
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b22
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b23
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b24
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b25
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b26
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b27
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b28
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b29
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b30
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b31
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b32
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b33
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b34
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b35
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b36
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b37
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b38
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b39
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b40
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b41
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b42
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b43
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b44
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b45
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b46
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b47
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b48
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b49
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b50
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b51
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b52
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b53
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b54
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b55
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b56
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b57
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b58
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b59
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b60
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b61
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b62
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b63
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b64
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b65
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b66
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b67
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b68
-b8a1b238c77c7c00024daaa2cb7d10838e017b5f jdk8-b69
-5759f600fcf7b51ccc6cc8229be980e2153f8675 jdk8-b82
-053d7c55dc8272b58b8bb870dc92a4acf896d52a jdk8-b83
-999cc1bf55203f51b2985feae6378932667ecff2 jdk8-b84
-e0378f0a50dafdcfb7b04f6401d320f89884baa1 jdk8-b85
-002ad9d6735f36d1204e133324c73058c8abb1b0 jdk8-b86
-774aeaa89bc15f4365e3c2fc36f6a3a0da70ba28 jdk8-b87
-40c107d1ae6f81a62e35dfe618b827897405e9b2 jdk8-b88
-45ce27fbe2720d80070095c0db7344ec41e2833d jdk8-b89
-67ca019e3713dd71c884d753de02fd0021981969 jdk8-b90
-6b9f4120380091b8b1751a825b9f84bf1be224fe jdk8-b91
-dee23cce5235b594a96d3361b65eacc97bd5a583 jdk8-b92
-ddbf41575a2bdb12ccb9f91e169018bf04073038 jdk8-b93
-d92b756bc73966f1bfd111f44f3216cea3bba129 jdk8-b94
-cbc9926f5b40a24025c1e15d8870157d651a9ff7 jdk8-b95
-d6bd440ac5b97bb1205b6c3274569c1cfe626723 jdk8-b96
-1bf1d6ce30427e1f9dc1ada18db409d1f14d99fe jdk8-b97
-542b7803f0389a91fab58608a0f46fac0e15d759 jdk8-b98
-10a1ab9e20a42d278aa1a89698f2a4cf5883d00d jdk8-b99
-598321c438b52d9408a2671fb3fc2b2947d0f654 jdk8-b100
-a302b05d0ee460679501dc01004f70eb395fadf5 jdk8-b101
-e966ff0a3ffef8a687eaf5a14167bb595b623d02 jdk8-b102
-414203de4374e1964a9918c38a95fb245010a9f1 jdk8-b103
-afc100513451d22f0b8135999d6eb52f36df3d36 jdk8-b104
-f484bfb624dd06683cb33b524700a5dd4927a82b jdk8-b105
-bf70cbd2c8369fd97ffdfcbe1a80dbc2797408ee jdk8-b106
-f35e1255024b66f7cf82517798f45f6e194e5567 jdk8-b107
-445ad3f6d3b4ba62ebc483323e1919110a304053 jdk8-b108
-6ec2f9e5ed5bd60c2900976e6a54fdcac2f37e9e jdk8-b109
-d49a8c2173f5f90c9a39cc4af8e03cfa8f35ee4c jdk8-b110
-75fd3486e584f20475c064a2cd4d01ac6406a511 jdk8-b111
-6a4fdb3bb4e34af4c5bb8db467bb01e13b1a7e31 jdk8-b112
-676cd7bf5e092356f7ee2116c8cf88cdc12377c7 jdk8-b113
-79f7b79bf97b71c9b5c9b103dbdef5f269eeb86d jdk8-b114
-f0d3ac2474ee755b1180ec71bcdfa190845b17eb jdk8-b115
-0fb1a427fbf6e04c77cebbbf99b6631c664ed793 jdk8-b116
-1db3d4e4d18913e853d7bebf86816e87fda00a71 jdk8-b117
-8d014b039b44c23fa520ce20c2c27f7aa91441e9 jdk8-b118
-c3343930c73c58a22c1d58719bb988aeb25a871f jdk8-b119
-55cbc2d00c93f82513ce33819d41dc67e71aaefd jdk8-b120
-32631eed0fad2b31346eb41b29a50227bd29e2ec jdk8-b121
-9d112a0e7df737f3b1fa2a021d5bb350ed56c1b7 jdk8-b122
-688f4167f92188482b0d80e315c72f726c6d5ff6 jdk8-b123
-0b4301c792254c890811e5b8e32c23338d715928 jdk8u20-b00
-7346abe2ea03134e1aee3b3d0fccb047235bd221 jdk8-b124
-d39eb6ab87581becb8efbb5e3a95c99d5e228328 jdk8u20-b01
-7346abe2ea03134e1aee3b3d0fccb047235bd221 jdk8-b125
-095263db862da23fa04d57c7e93e553831132449 jdk8-b126
-fdfbb745caf0e54775a44e66e39d3025785e0528 jdk8-b127
-73cbad0c5d28b8f6e12f634aceeb2b3b4ad09553 jdk8-b128
-9cc3fd32fbabdd8b06771d11a319c9802e118612 jdk8-b129
-f87eba70e9ee96255137c389db7cb4e2480e53e7 jdk8-b130
-cca9748cfec7025ac0ddcdede9e5724fa676ad13 jdk8-b131
-5dbdae28a6f3dae3913b118c128bcb1f803317ac jdk8-b132
-13ca8f1a9eba716295fb7d9c2ddad81390931919 jdk8u5-b01
-7e7cb9977a3d1244384ffa454a4890764a07b042 jdk8u5-b02
-2abeb654b57f306f73f3f73bdfa05f93bce2a1f3 jdk8u5-b03
-7c650ceee4902249f32bdc066926b77291007859 jdk8u5-b04
-d88b60cdc8f3cfceb8ef19b095769015b441e37f jdk8u11-b00
-d88b60cdc8f3cfceb8ef19b095769015b441e37f jdk8u5-b05
-d6dfad8b7fb524780ebf4f6b62284cf5679f9ba8 jdk8u5-b06
-96ad962a6a88874830e99e0cd11aece89a1bd1f4 jdk8u5-b07
-f0b7b8b5e29a3a4e481fbeb9b346552c9819675e jdk8u5-b08
-6ca65190effb3bf8119bb4e93f1692487337ec72 jdk8u5-b09
-8bc83045abc547edb7cfb7d688d84164f0b11cea jdk8u5-b10
-bc23b19e08eb1575663044902b6442ceaafa924f jdk8u5-b11
-18b007062905dac9304605955a4b84eaf2a08553 jdk8u5-b12
-e4fb85d69d6b33c9561b932ec5515f44c53c1017 jdk8u5-b13
-53cc5fda790e0f90dca53fb459c70517d76680bc jdk8u5-b31
-53cc5fda790e0f90dca53fb459c70517d76680bc jdk8u11-b01
-4dda2b1e51aa7977f53c261f983230fe505bbc3e jdk8u11-b02
-161f144c4e84037f655a2f6ebb0ba3057e8b18fa jdk8u11-b03
-2842beaa5db81731abe9d895181fbfceef720cf3 jdk8u11-b04
-7001e9f95b443a75e432205a29974c05b88e0fdc jdk8u11-b05
-daa414a4d8b712584d0818fab3fd31996e4cb645 jdk8u11-b06
-d9d482948b7c89161887b47e68e3367663d51b76 jdk8u11-b07
-a392513941025e2750acdcc45f9df2ec9080bde9 jdk8u11-b08
-dec6999877f39d3c17f7a092d8e2e17b676bb34b jdk8u11-b09
-d522ff5f53730cabd02c1863bb9d437c13bcc5e0 jdk8u11-b10
-3175dcbdd76ee9272276fa756247203dffb20596 jdk8u11-b11
-eea7f92c5fcc95310a6d946300ea47ac3e302cfe jdk8u11-b12
-b2c8eadc494bd32ed47d15d02cf942a8bd92c57f jdk8u11-b31
-43a1183d2ab0ee3dbffd8bc47606e88dbe0c6116 jdk8u20-b02
-9d69311869d513deecfebe767cc5f01502c9c01e jdk8u20-b03
-e70dd55986e085185d976f2a78843a7d7eb87afd jdk8u20-b04
-4ceb9789a6a57bef69b2c7391ac16ea27b6c4f93 jdk8u20-b05
-f87eba70e9ee96255137c389db7cb4e2480e53e7 jdk8-b130
-cca9748cfec7025ac0ddcdede9e5724fa676ad13 jdk8-b131
-5dbdae28a6f3dae3913b118c128bcb1f803317ac jdk8-b132
-4268cd11c2411064ac30dee7a668055ce226c268 jdk8u20-b06
-7e89db817ed094766a039762a8061c3a600c7284 jdk8u20-b07
-2282c86cb1a954efd2fc5b7f22c173be19087c55 jdk8u20-b08
-41f588adeb7a397d395233f00bd3402d0989934a jdk8u20-b09
-fdcdffd5b5b1eb7d442096433d17466f023207f1 jdk8u20-b10
-c116e9229e096ffe841f2b4f79067378288d0d1d jdk8u20-b11
-c720454d2435be052fd941a789ece9468d1e8f74 jdk8u20-b12
-2ca464cf3093444f73e27ace78993629d2f15cb9 jdk8u20-b13
-2f6add5fefb37cfeeb9a7745e7144f0b6d96bbea jdk8u20-b14
-bb2d116675479fb2c9deaeeab6d4c41d41060693 jdk8u20-b15
-c89a4945404ce80e26cb94c90fc13adad6b114bf jdk8u20-b16
-046bf6509a1f3fcf8c9c8b5d09beec0400f704d1 jdk8u20-b17
-847387339a561e50353c0805a54ec14eca256d2a jdk8u20-b18
-b047df215de40cb8a87ff1e2bac0b57bb9e2e121 jdk8u20-b19
-ed3439dca4a73a2dd4a284f3457f0af216a3eb55 jdk8u20-b20
-f2925491b61b22ac42f8c30ee9c6723ffa401a4c jdk8u20-b21
-5332595fe7ba2a1fc5564cc2689f378b04a56eb4 jdk8u20-b22
-ad36f9454ce38d78be39fc819902e1223765ee5e jdk8u20-b23
-d3da140e179343011017669a6dbfcc52b0e56f52 jdk8u20-b24
-d3da140e179343011017669a6dbfcc52b0e56f52 jdk8u20-b25
-a23ac9db4227d78b3389e01fa94a8cb695a8fb0a jdk8u20-b26
-aa30541c5f0db0d03ae6625268642ac71f59c4e6 jdk8u20-b31
-bc4b5edeb8268a75718e65a84864f09c95b3032c jdk8u20-b32
-7001e9f95b443a75e432205a29974c05b88e0fdc jdk8u25-b00
-a9f77bd14874d5f8fdf935704dd54a0451f2bc69 jdk8u25-b01
-895e47783e2ee6823496a5ae84039a4f50311c7d jdk8u25-b02
-b84d92194c367411fcd8b5f510d4589709a8e71e jdk8u25-b03
-894ab2f06c93987f8596f5906985ff0a452f2fb2 jdk8u25-b04
-25b89ca363c41e1a1d90d7e95d5227d23e4292f3 jdk8u25-b05
-0a50d568a901700213fe40c38089748ca1d1af88 jdk8u25-b06
-25b719b33ac8f8ffb7e4353fddcda93ca6027b0d jdk8u25-b07
-0f74f65763a300cfe5f897b6b21f36d64f9d2115 jdk8u25-b08
-158837f537e45fc4664a56ad4759f8a1b30cab73 jdk8u25-b09
-7e00c05fc54b0404bf2eedda35dd38ae1ad23e50 jdk8u25-b10
-8cd6af10dd4de9e28ffe30c9107954fffd15dc99 jdk8u25-b11
-f76715cd4e902602bdbb4ba9a3774c10afeee012 jdk8u25-b12
-34c95bcacff79a5794416a8e715a8e63bfe7fc58 jdk8u25-b13
-6a93467eaa36f732b84ecd463e046c4066fef40c jdk8u25-b14
-71e8403a2f8279315419adf5f4e9d6b232b6835c jdk8u25-b15
-1500138ce513600457be6bfa10979ecce6515aa6 jdk8u25-b16
-4b9cc65dd24d398c4f921c0beccfb8caeaaaf584 jdk8u25-b17
-cdbf34dbef404b47805c8c85b11c65c2afaa6674 jdk8u25-b18
-4f9e65387c21831d0ea5726641a302c2ce73a4cc jdk8u25-b31
-be20e9a00818df15af12544c21839c3a3d5768d9 jdk8u25-b32
-a8526abf70a8c98aee5fed64eb727210745a6e5a jdk8u25-b33
-9b692a6e5f22228f822973d35610d37cb9dd9693 jdk8u31-b00
-6bf53bb6c969678488b1c073d56dd55df1a0ea17 jdk8u31-b01
-809bf97d7e70dcb3873fcbc10f12f62580b1c11d jdk8u31-b02
-3505d266634ded89bf9617ff6b385ab8a52f78cf jdk8u31-b03
-96acff2ad9e19aa80c4f7ed60d87a422bca1ea91 jdk8u31-b04
-5fc3f210872d365c57ed4e8dba3926d9ed5c7e45 jdk8u31-b05
-99a3333f7f8489bb3c80f0c0643ae19e549a0941 jdk8u31-b06
-5ed4fa732b26b6d8e37dfc5bbd00047c5352719b jdk8u31-b07
-b17ecf341ee544cc5507b9b586c14a13c3adc058 jdk8u31-b08
-762eaacc45cec3f7d593bedd08fb8de478d4415b jdk8u31-b09
-c68ba913a0eeea6eb94d9568e9985505ec3408a3 jdk8u31-b10
-599bd596fa549d882aa8fc5104c322a75a3af728 jdk8u31-b11
-f36c71a03e4ed467f630cc46d076a5bb4c58b6d5 jdk8u31-b12
-ec36fa3b35eb00f053d624ae837579c6b8e446ac jdk8u31-b13
-34a64e22b81bd78cf29603a80ff1f4cfc1694df8 jdk8u31-b31
-d2b5784a3452a4fd9d1ccfefe93ee2d36662842c jdk8u31-b32
-c6dd08613a440ed8d0f1b14b85911d6f3826e1d4 jdk8u31-b33
-e92af20b58190a0fa46c2c93636368866e274b39 jdk8u31-b34
-f2925491b61b22ac42f8c30ee9c6723ffa401a4c jdk8u40-b00
-62468d841b842769d875bd97d10370585c296eb7 jdk8u40-b01
-b476c69c820ac1e05071f4de5abab8e2dff80e87 jdk8u40-b02
-a2e0a985764b5afd5f316429bfab4f44bf150f7f jdk8u40-b03
-34c17c95665419ed76a98f5cf1210ed58eb2eca3 jdk8u40-b04
-2d75c391f61f31538b4c3dcc9778fc6742125ec4 jdk8u40-b05
-1196f17cf7bc709766319f5bf7a5394a7251b47a jdk8u40-b06
-0032961e1866c22afe3d0bbbb217f8840be61846 jdk8u40-b07
-89551828b279233825204b72233edafc72d8feb3 jdk8u40-b08
-6a8ecdeae4a9a438eed637b5a5d0d18fddb9f711 jdk8u40-b09
-076b1f38a5ccd4692a6f93939a7fc03bc1a1bbb4 jdk8u40-b10
-57c7b273277e00f7a98fafb18ff07aa3245808f0 jdk8u40-b11
-375a3a3256d041fe7334638a95e69b4c11d6104b jdk8u40-b12
-d60fbb5343c186abbf92b0259e67efb3b71377b4 jdk8u40-b13
-7e34104c55cafa0b579be3a480dda383c616a378 jdk8u40-b14
-fc37699ddc0ed41d4ab5da821211a6d2648c8883 jdk8u40-b15
-e079f3f6d536510b1ab3589b1038d893d78302ac jdk8u40-b16
-88e22262fdb26e3154a1034c2413415e97b9a86a jdk8u40-b17
-653739706172ae94e999731a3a9f10f8ce11ffca jdk8u40-b18
-6ec61d2494283fbaca6df227f1a5b45487dc1ca7 jdk8u40-b19
-4d240320929f7b2247eeb97e43efe2370b70582e jdk8u40-b20
-dbb663a9d9aa2807ef501c7d20f29415816a1973 jdk8u40-b21
-f9f70a0f60f48fbb95275b6c1110cedf740c6177 jdk8u40-b22
-6ca090832d30fd0e46214ccc00816490ad75a8ab jdk8u40-b23
-b2ce5df33715583c898530560d4202853b9ff9bc jdk8u40-b24
-fb7b6c2b95c5661f15e8e747a63ec6d95d49fe46 jdk8u40-b25
-b142a2d8e35e54abb08a7ded1dbfb5d7ce534c93 jdk8u40-b26
-c2dd88e89edc85b1bcb731d3296d0fcec1b78447 jdk8u40-b27
-e05552220ba82e465a1abfee90224b5b247e37bc jdk8u40-b31
-e1cc0fe0fd50fc4582e729897d7095ffce0f97ad jdk8u40-b32
-0130b5cb16e009195127cc13f828d6cf899fc4c7 jdk8u40-b33
-05a3614ed5276e5db2a73cce918be04b1a2922fb jdk8u45-b00
-21ec16eb7e6346c78b4fa67ccd6d2a9c58f0b696 jdk8u45-b01
-37b3ef9a07323afd2556d6837824db154cccc874 jdk8u45-b02
-ed3a4177da50d75d6da55ff521bf3f971cfe5214 jdk8u45-b03
-65f24dedfd29ec02af43f745742647412d90f005 jdk8u45-b04
-de2ee4c1341fd4eeaba39b81194df0c4274e7c8b jdk8u45-b05
-cf0097b8987d2d2f480d8a6d2a8f235509bd4421 jdk8u45-b06
-bb112473c7314146bebb75fb5220b4ec641b0b7a jdk8u45-b07
-8ab14ee47c8b1558854d3cd71006eceb6c6804d1 jdk8u45-b08
-397ea4a1bff8adbceaa1a40ff826b3d2d3b09e81 jdk8u45-b09
-c650c13d2bdf0e869ae86685de6bbb8a4e983ca3 jdk8u45-b10
-6ae873ddbe195aa966fc348e468c0ecd2702f5e3 jdk8u45-b11
-9b9fee0f99cd07fba62abaafe705665a5ab89067 jdk8u45-b12
-6fda38586f73de706ecde311711a587ac49d51d8 jdk8u45-b13
-d5477c6d1678547a9338707adc4b81d35c280454 jdk8u45-b14
-ea15c34524408bbd2fa2886e5ec5d7995d8e236a jdk8u45-b15
-d1c1e084430027bffb5bbb1b288660fbdb86627b jdk8u45-b31
-67dc09b4965989a65a97e0bfec73338cd4763f2a jdk8u45-b32
-104fe9b448e045b5a07dbf5246350077d5b5c23a jdk8u45-b33
-9595ce9f639a52bf288c3d55615b5ab295f37d7d jdk8u45-b34
-c5847f4fd548048e4cb819f1a93e03527a1eb136 jdk8u45-b35
-665716d2b552d5cb8b8fe32c4f5723c50cb17cf9 jdk8u45-b36
-e383d55965d89f5cdaba0cef8ac6372aae9fe56b jdk8u45-b37
-2d1c01990ebd896f81f511aabf1e53cbe1fda11f jdk8u51-b00
-4323de82a85c378b08e24601b8f3cec6aafda6f4 jdk8u51-b01
-5ee412753fa08a1e9fa15221c4253886e822a94e jdk8u51-b02
-a6d6f7cf488c1e57df9e9f724547c0e0eae2ad9e jdk8u51-b03
-7512eafda1f90fbf6837dd29ae7585b19b9fbe3a jdk8u51-b04
-04aae4de5c5e2b1c51725a7181afa0085a78d7ee jdk8u51-b05
-a03caffca13caafe4e0a14b5c6cee333bdfce67c jdk8u51-b06
-8814ac4bd7bc1cf87b40f036dc306185343ddb76 jdk8u51-b07
-7fa927b4a47ab76204ec2befe3b8f52336c0a291 jdk8u51-b08
-77cee35f987167f6e97cc8f2b09349e743e7a9e7 jdk8u51-b09
-1480e27e4af65e809c1a5cc0310616c2c68392f2 jdk8u51-b10
-6e95b9bb2f67d4a77d28e5aa3c07281fc8424823 jdk8u51-b11
-bf2fe867628bf323262377f8312c85f440a9b246 jdk8u51-b12
-1ecbb6d582a6ccf9e0f6e359a925155c8c580bac jdk8u51-b13
-e9d85a30fd08425904a400add72212a010381aa8 jdk8u51-b14
-4cbc78843829b3f6de43b3c056565834008419a6 jdk8u51-b15
-f01ca5e6b907d1fc2c17068fb28a74411e833f16 jdk8u51-b16
-4e5f9de7a3dfd0c4e15714863007ac591e9dffea jdk8u51-b31
-009644f58d73263eec2582a84a1e9b63975c5387 jdk8u51-b32
-eac4b87f86dde817023a07dcb701dc5d986b705f jdk8u51-b33
-bd915e4b7a4a8ddffec5c54829bde3cf9579f9d0 jdk8u51-b34
-6ec61d2494283fbaca6df227f1a5b45487dc1ca7 jdk8u60-b00
-af290f203369ecf8e67b89c4a3a8df0bf535230e jdk8u60-b01
-39e0c14d45c3fee93a29993f1415b3393d03483f jdk8u60-b02
-323f54e277dfcea814a32fa4b6b36876db18181f jdk8u60-b03
-b0b90d6c5265f45cee7fde968e15f8f272b5b24b jdk8u60-b04
-6f44964fbab316de02d58436be846b5e92813426 jdk8u60-b05
-4b7613f08fd3a6e738bc048d280630756d3593cd jdk8u60-b06
-80966e5cc384fb8c67938c0e05e2b990116d3f4c jdk8u60-b07
-e024db176497a3655f7c9d1d86571df74707ba62 jdk8u60-b08
-1f73439a45bf9cdb73ece75b2c935980657b10d4 jdk8u60-b09
-7aaa64363e1a632ab113b459c46a8ce0c32e4738 jdk8u60-b10
-f6f2d944a863be7d22ca7eac904b6d967abb6b39 jdk8u60-b11
-d03eb34e4b84296f4ce98a78f6c75c07218a678d jdk8u60-b12
-3628ab9fdbc0c58b9d97bc3cd5f3f7680d9785ff jdk8u60-b13
-24e7c53c5716bb52a3f33614b47b72cc134823c9 jdk8u60-b14
-78fcf7f0eac8ffa474518b315bdf84a1dbd6e76d jdk8u60-b15
-bf44ade6c2c2e697ccbc1e57f3eac870908614e6 jdk8u60-b16
-ff7052ce0f6b655d726cd0f77e9a5f8313361889 jdk8u60-b17
-0b5c0f02a0b79ae0aa97520d65e5b520af8f1b2a jdk8u60-b18
-3780124b6dbb100c2c4af2759b8f0e12a8bf1c4c jdk8u60-b19
-46a3d8588ad227dc390d84dfc0f89b9291395a36 jdk8u60-b20
-7475a2bd3c012f7dfd0532a344eb7efca56ac6e6 jdk8u60-b21
-9ed906919b5d92067edcdd966a3f413fca0f70ab jdk8u60-b22
-23165e806566f01cdc56421ea82c7e74a6fd85d5 jdk8u60-b23
-68107693248469f7b4fdcc35c53e4206a0d55087 jdk8u60-b24
-371f3f83f773ec97491d994bbcce834f0a2cca74 jdk8u60-b25
-58791cd01bc9aa973d8845ce63403b90d357b5ac jdk8u60-b26
-72a33aed7dccf570f4e05ea1121522a88ac190b2 jdk8u60-b27
-fc0045a6aaeee45f5d2505a2f7a07ec6cd6f56bc jdk8u60-b31
-2d161c9248ca7bf5779cf33c45768e26c1161eb4 jdk8u60-b32
-afc8b472a5f3d54734be29aa9c4f617191fc9246 jdk8u52-b06
-8cd2d9bea168694db5f090b30ba5973e1656385b jdk8u52-b07
-afc8b472a5f3d54734be29aa9c4f617191fc9246 jdk8u65-b00
-c9f36bcde982f8713c2767d1c882da85b1b9fb44 jdk8u65-b01
-398c895674d0f27711a52d442c1d1b471101f44b jdk8u65-b02
-db15ac4eff75c9b2b6535789d73f7fc8f84be70e jdk8u65-b03
-121f4183eff871ae9d3311781d5fbaf0e7dbe6e4 jdk8u65-b04
-3198826d0a96fa74c9e464de2fa2a2a45a08b9be jdk8u65-b05
-0709198e5515f5caa965f0b0603e367db3ed1160 jdk8u65-b06
-7f88899c78f96be2c0550b4e5a0576a98f45a96e jdk8u65-b07
-ed247f904308f124558a332f86dc9ee70698accb jdk8u65-b08
-45e0dbcb50591fa7dcb787dae7a4ab32ff1c1c1a jdk8u65-b09
-be2856f5c3e4ced88259759201fbb3d5c0e4db94 jdk8u65-b10
-6a809be8e2057b290871707aeaadf79679afbf90 jdk8u65-b11
-b9bc29802d24cf3e82f0b435c82d567e27373aa6 jdk8u65-b12
-5ad3832ac8d01656ec28d03f81042f2672360219 jdk8u65-b13
-1448629ede5316a04b15f66667a8cfc4bd1b5009 jdk8u65-b14
-7077dc107e60e994b599b103e6611c77fc37c0ea jdk8u65-b15
-0353cddbbf4e911a54cb6a8546f7df395a349e8b jdk8u65-b16
-df0218bcade38354fd70ae980aaa33088b8016dd jdk8u65-b17
-9ed906919b5d92067edcdd966a3f413fca0f70ab jdk8u66-b00
-c0f0613d1b1119afc9446eb187a2a7b5f534f050 jdk8u66-b01
-16220ab541af04fe79d9143fb62854f7acf46eca jdk8u66-b02
-3cd98cdbca8be17acd1eb3aed902303188b7e5f8 jdk8u66-b07
-a1436c975c531200de5133990886c1bac851a29f jdk8u66-b08
-d9eb8e3f1388b43f0e9c5ba2fdd91bf69295360a jdk8u66-b09
-998d6b5b976ba8db410b9f8cccf1cc927280b542 jdk8u66-b10
-46022f24d619e56ff41a432a5211bd9560d3e237 jdk8u66-b11
-2bdd08a9cc8ca594723e412cc9479f4f7351959f jdk8u66-b12
-cd562acc692c5ea4d5e3ea5164757f1b7e00e274 jdk8u66-b13
-165ed6982da8dc7dc5562d5b4a8f07dba55c7448 jdk8u66-b14
-9a3b86240761e602469c41bd720c7791997253e6 jdk8u66-b15
-c0ce5c308f5e2c42ac0d2e7367355663312a3128 jdk8u66-b16
-3cc16ff2735c6818b68fdf161ddbcc89a5b4db1a jdk8u66-b17
-39bfb9eb75dcb2176a87ac3b025a665c41244e54 jdk8u66-b18
-3e08bc604b2166b251833e522892ffcfd22b4b88 jdk8u66-b31
-52d1be12498e2390cf0581040ce6f4ab7258b498 jdk8u66-b32
-3629a9cd6627e0b9e1a0735be214b20fd2f9a743 jdk8u66-b33
-a33c509181cef86d6799d1e6ec389de2990bc16c jdk8u66-b34
-dbdadc4378e843b908e4dcf7c2348ba845672ed4 jdk8u66-b35
-4f4e3fac49899923f8cf871fba5572b28db60212 jdk8u66-b36
-a7ac4116ee88aa86fec5ac66901302e11f578172 jdk8u71-b00
-b8987f466586180cb4dc387f5fa290bb4cf34983 jdk8u71-b01
-a8fd49cb76fafc704b746a98bd18647802674d2d jdk8u71-b02
-12745568f9fb73a452d85b2388fef29909dafc24 jdk8u71-b03
-92b196168ef13e159e311e864c08d70e2c23dec6 jdk8u71-b04
-c870d760ca23b0f2c21813946eeb36563eeea8d4 jdk8u71-b05
-f76ef9364e15663fe29cda34f7d95cbab224ff36 jdk8u71-b06
-c3c1c032ff27f5967edcd595eeca23a005c8a7fe jdk8u71-b07
-0eb2b5f656d5d738957259d5f3f7982dc5b2a864 jdk8u71-b08
-79a56b0e79aa18f18c930236157458d7893537db jdk8u71-b09
-dcb78b4ac30e7ace9db4c53450b54226cc753505 jdk8u71-b10
-8d7818ff955da951165530e2c76154145a9f6098 jdk8u71-b11
-65e3e76835672759adf73ba583139d6c0b36d661 jdk8u71-b12
-0b0d8d3929e8c5e1f10e702f23aaf992a08974f2 jdk8u71-b13
-f2ca988f4efd4b68a6b675da70cad2f217ba88b8 jdk8u71-b14
-c577bcadb46d49f0a86edb459803ad233b722cfa jdk8u71-b15
-667e020da337e453eac8ecb9285c9b34a47e25fd jdk8u72-b00
-a105e7b0eff93895b82e3d372a63df4311d79821 jdk8u72-b01
-f7c3d65076a0c0bf1bb4ea633b4ea0af9ffb12fe jdk8u72-b02
-c47a6341ae31e394f6748acbeebf68de3ae285ff jdk8u72-b03
-4592976d8655d9ec0ad364901ae07c79813c8cd4 jdk8u72-b04
-0c87ce7cc7d01462476bce07945dc1646b4f08d1 jdk8u72-b05
-a2591c7bcb92f5bb2bd53b46d5a2c97be367f7fe jdk8u72-b06
-619a1ac46fc46394f524f7aa587f6c70d3d7ab52 jdk8u72-b07
-bcc30e9810fe0b3f19556dcfce0cdd801dbfe463 jdk8u72-b08
-1f69895e259bb6cbb4a5b2aead1c7bb341a58ec2 jdk8u72-b09
-390714be5c40a14a43f136a6dc2d15f38251a2d1 jdk8u72-b10
-e7a962a13695d244f31721ca322968e70c41f623 jdk8u72-b11
-b779108a142b80d9d8503c7220ad3bb7cb0dda53 jdk8u72-b12
-81e48503b62fd8814135f642905fe38056aaf2a9 jdk8u72-b13
-e48d06eeff82bea512cea44fa14d59b88067ef83 jdk8u72-b14
-769b21d1b85cfb57c11c89bbc8f185f9e520df66 jdk8u72-b15
-c90794ad4d12eeeae5d9bbfce65fa0043a313548 jdk8u72-b31
-e9b46178f2e35d9ed2cd5b2f7279cf5e4e954222 jdk8u73-b00
-eeb5306edb7a0140117fe346782cce19c4c562a7 jdk8u73-b01
-955689d050b9f3f61b90ca063fe13704a82f5394 jdk8u73-b02
-2a36c3c61f905c5b389ae1d62f446e57f96be3a2 jdk8u74-b00
-ae6c74c1197afcbd83d393aa6f96221d759022a2 jdk8u74-b01
-3107cf87696f0516d6f5fa7cdc416069e2800d02 jdk8u74-b02
-4608bbcc94f73059680acd0f486744ff26485ee9 jdk8u74-b31
-7d0f4c8fc2754e25c1c148ff47bb79aa880c2874 jdk8u74-b32
-7bce03d47545e6a5341a2722168cd6bf697c4132 jdk8u77-b00
-678b645aa10aaf27895c87872c399c15daa026a1 jdk8u77-b01
-09abd795d1d143933224bcb3f12f5d4686b65373 jdk8u77-b02
-b6ee21a35619ce4d3b46a9b825438a3bc9bb63cd jdk8u77-b03
-961f73438a3cdacc6197663b2495b73c08805f24 jdk8u77-b31
-c90794ad4d12eeeae5d9bbfce65fa0043a313548 jdk8u72-b31
-c7eddafb2ee2cc9d62f20c4d821ccac03bd4617d jdk8u75-b00
-69fa156c1ebe6a8d6587147967e8e27f6de37d99 jdk8u75-b01
-9cce1ba325c4bd8e922380c911d1a9ace79d6717 jdk8u75-b02
-541de42b57098a5009055cc92f1139473e32f19d jdk8u75-b03
-16d657d6cb22e832139a1cbc2ec23a5cf9db8985 jdk8u101-b00
-16d657d6cb22e832139a1cbc2ec23a5cf9db8985 jdk8u75-b04
-dfa12474455fa6f4c48a6dee986c24db257161ad jdk8u75-b05
-1f85973e9533f7c9b1bae1e00b76a2184c5eed4c jdk8u75-b06
-3587da3cf2f204791a68138a110eda9b8874523d jdk8u75-b07
-b1ee37988256c198cb009b36b9b0d9d6d4b2685c jdk8u75-b08
-fd2b29bd7cb64a9a04d75a659bc683751b3a4f35 jdk8u75-b09
-bab68ab3df71269887bb3572291a19f7856e49dc jdk8u75-b10
-e35e96663a905f0258f6572ab6a07fbea71b9d45 jdk8u75-b12
-7bce03d47545e6a5341a2722168cd6bf697c4132 jdk8u77-b00
-678b645aa10aaf27895c87872c399c15daa026a1 jdk8u77-b01
-09abd795d1d143933224bcb3f12f5d4686b65373 jdk8u77-b02
-b6ee21a35619ce4d3b46a9b825438a3bc9bb63cd jdk8u77-b03
-a2c005a7b33abed886cfb4309a846dd80c87bd4e jdk8u91-b00
-22925b345dffe4ba96fe2f429c4185cda1b30239 jdk8u91-b13
-6296644a2c9c30db0062117fc776341e937ca1f9 jdk8u91-b14
-32b80df71ca2a6ae827ba7042cea868f40e0a0dd jdk8u91-b15
-7bce03d47545e6a5341a2722168cd6bf697c4132 jdk8u77-b00
-678b645aa10aaf27895c87872c399c15daa026a1 jdk8u77-b01
-09abd795d1d143933224bcb3f12f5d4686b65373 jdk8u77-b02
-b6ee21a35619ce4d3b46a9b825438a3bc9bb63cd jdk8u77-b03
-9ff5c21813330147bf08389b3992534780c93247 jdk8u76-b00
-b7bbed8b05dd50c27050c7e10e20d25329dcd32b jdk8u76-b01
-4c1aa7b8c43c6fd38f9c13a6df2264378dd6a873 jdk8u76-b02
-07db58f99673790d5139e8497552ac331e0824f5 jdk8u76-b03
-068c584278637dae589e7d648c265149e80c8a24 jdk8u76-b04
-b31ba749a22e9dce7637e709122e1138b01e8b66 jdk8u76-b05
-0d5cfd0fc8192fd4569300135f81f5f2b7a7bd90 jdk8u76-b06
-454441af046768d86420749d6b7959dfdb1004bb jdk8u76-b07
-018d3bf827feeaeed0f3b61948b44f64c73efd12 jdk8u76-b08
-fe15575fd53e7ee8e8bf44728bab9cc0a9e6b107 jdk8u76-b09
-2816d2045f017d1b0dfd20319bbb59004d698396 jdk8u76-b10
-0608b63feb608f36bde691498d2ad22c7c24ad0f jdk8u76-b11
-da1aa86606ef1b46655ae28d34e0d02604fb4cde jdk8u76-b12
-256922f1e9e7648eb5af5a9da82ff8032b3855bc jdk8u92-b00
-e2294411edbda51165bc1a10261c246cb4d3c5c5 jdk8u92-b13
-d2af8d0297223ff16d59ee64b7058cafef8f3bb8 jdk8u92-b14
-ff47e8b14690edada1d0a4386e63bb4bc2f38ab4 jdk8u92-b31
-895bb16c7f9fe0c74317afef671a0d5ccde58afa jdk8u92-b32
-6c3f8e359668ec22e9c577d875cdb5a918534498 jdk8u92-b33
-59d90c3cc2bfdfda7664877d0e2529ef6c558558 jdk8u92-b34
-16d657d6cb22e832139a1cbc2ec23a5cf9db8985 jdk8u81-b00
-793156da7cc9c74489ab5fa5f5598bba172846e2 jdk8u101-b01
-79fc469a68bbe03f69919f4cebe0381df1b1d2a3 jdk8u101-b02
-d93088bdd15d507b35bc4ced85c6c748705511fc jdk8u101-b03
-9bd5aadd8e739d4ad4bb2e30741cdbe9ae2bae66 jdk8u101-b04
-a347853dbf17605c650532c4291bb9117d80f568 jdk8u101-b05
-3bc08e0d23a3965937e634d00e84ea69505e2653 jdk8u101-b06
-313c90baea02c1c8c162bea894c7adf6dc33a05b jdk8u101-b07
-926025d895a459bec2031a17e674c4aa5ebe6fe1 jdk8u101-b08
-47209e0bae1d65243158b3d8c2f6602cc265832c jdk8u101-b09
-740d8d604c0ef2b12d9835d2842f60dcc08fee0d jdk8u101-b10
-de5fdc537134ec505958a66d79c0ff68282520d2 jdk8u101-b11
-2f506194a131597352bbe1a08492266a8aed13f8 jdk8u101-b12
-44e4e6cbe15bf1674cfd7a03acfb962dd4339767 jdk8u101-b13
-120c1b8b458170ed017d2ee60cc9d63896eeb4b9 jdk8u102-b00
-120c1b8b458170ed017d2ee60cc9d63896eeb4b9 jdk8u82-b00
-79dcbdb92a8c39de6d1417557af9e6c2c03f806d jdk8u102-b01
-17416ae62bd720ebb53d20bb24272991084633bd jdk8u102-b02
-75728277aeee30f31c9418f37faf8f4216c539d7 jdk8u102-b03
-8ebcaf17bc745aa581aa8eff807da97f2f74058e jdk8u102-b04
-676a870491e5934e88d40cf2c68bef646c63b4ea jdk8u102-b05
-114e7557d33ce9e5f1bf982f45977a630c44d8a5 jdk8u102-b06
-13a10967cff181a71933a4f1508691553f43304b jdk8u102-b07
-31c898437a15f4feef6c1502d3f1eaf8a3d9de48 jdk8u102-b08
-e4f74a337545a0283f9b7bb6a85ce1b2c4a5fdd6 jdk8u102-b09
-3b84415442d7b4eaa4a7da75b9d428e81e8be575 jdk8u102-b10
-7bd6f4f266f66d32e4ce743928d7c4021c23c477 jdk8u102-b11
-e3db6994bbbd654be3ebd677b2cc80469f7133a3 jdk8u102-b12
-a010893ca6ee93c1a4832d1c484be6a119ca7ae4 jdk8u102-b13
-0948e61a3722ea7519323dffcce4f26430fe2881 jdk8u102-b14
-908d77c3a01687e99fb426cff41cf000f3f28e68 jdk8u102-b31
-4510fa72a613e8bd8b02f7519362de60907ca652 jdk8u102-b32
-36e3c21b5fcaaa138da59d3b1e72239a2c8b13f6 jdk8u102-b33
-de8a9d055c88ae9373a7be118231b7ccfc662ccb jdk8u102-b34
-8ee63d04b05cd961d6319d852fc0fc47a025ba28 jdk8u102-b35
-9bd5aadd8e739d4ad4bb2e30741cdbe9ae2bae66 jdk8u111-b00
-61e68e59fede0e4700e62b4899ef4553ecbe6bae jdk8u111-b01
-3c500f61258def21887e4026c37353745ce81ab5 jdk8u111-b02
-caf5e25a08571db612acd42b319f8e300e3aa0ee jdk8u111-b03
-b88377d4c4599c36d75352142086faa9ded042b8 jdk8u111-b04
-1a484cc1d2ed0540543b0af4ebb8ad83bcb1c667 jdk8u111-b05
-b70ae846275e5a237bdf4fe5a7299bf610374497 jdk8u111-b06
-7dae05ba63d4b98675d1e4488a714438d2afdf46 jdk8u111-b07
-56229b59fd80141f97e7af21ddfd7e59b4a5b445 jdk8u111-b08
-4465b272a90205f896378df45d8ae6c3d8671953 jdk8u111-b09
-9e3095f8930a8d8aa2c99f38a7d7507fb8fe7fb3 jdk8u111-b10
-c340ee5e5fd1d1a6ed57b3650ab46594dfccfc1d jdk8u111-b11
-76bf7299d622029f1a579667611deeccc405e81a jdk8u111-b12
-7ed1a5c5e45a1d576cc76dc96b3f0699bfe0a642 jdk8u111-b13
-97770cfdb942dce0a7c461175bce4fddac5ad339 jdk8u111-b14
-1bf96637e4bbbc31f7c560c16d62ce2ed9020e03 jdk8u112-b00
-be4ef6af7d3d67380d9df3348f75324ff6d8c971 jdk8u112-b01
-29f97057e4e10194263902a6406f65d789944c5e jdk8u112-b02
-16bc4cb8f50b251aa648c6aae5ca063c0893b44b jdk8u112-b03
-bc02dfd3deccefbcfcb71969ff56ae58ef80c686 jdk8u112-b04
-2432a2e9de108e12c3be6e52f37d7702a9a87d49 jdk8u112-b06
-d591fb5e1d37d1186290521cd31d5795d74cfa5b jdk8u112-b07
-910a02770fc92745517e63018345be36dc8d7d0c jdk8u112-b08
-51e59a0544a0be24ed72b43fc9483ffded8cdad2 jdk8u112-b09
-319eba518b6ec84fe3ff4811e66319cdb7e6f33e jdk8u112-b10
-081aa69ac6faaa8ebb9a21d9a0c617d34e03b447 jdk8u112-b11
-21b35ff81519584f5af010e852c14b6db88c1ebd jdk8u112-b12
-001041e75430b132f0e0ba96b98f3891435c4440 jdk8u112-b13
-b0aa9a71f5fbcb0d58fa009fd9bd3ea0897b315e jdk8u112-b14
-adc75eca17418a42357776339b390533a94541d6 jdk8u112-b15
-d1f2cab06d35f6b7ac29f5c3eebd74a74a01b8fb jdk8u112-b16
-d4beac03b1230ff8c96af79dcd10c56bdc475ebb jdk8u112-b31
-1a484cc1d2ed0540543b0af4ebb8ad83bcb1c667 jdk8u121-b00
-8f5fafa7e43b0b2472b077ea8f9b241976e1ea82 jdk8u121-b01
-33bf988e6f1a2a2fa1dcec66da79a5411df6dcd5 jdk8u121-b02
-112c17eb13c7c1952b9ccb377185268f77edc97e jdk8u121-b03
-31dad6c4e1be1b0ec7e4365932bb783c643b7c53 jdk8u121-b04
-465b06ac76296f329049a34d33d1ec00c800511b jdk8u121-b05
-c8fe62b47c8f065029c710e35aa61562b6550da1 jdk8u121-b06
-a32b4f984a18a7f9f6b412bf91c1a382df40d5ab jdk8u121-b07
-937cd79f7cfb27134f4ae24ad9f57bd1d9ed0f83 jdk8u121-b08
-3b222c098080d9fba2ad028b64e0edfef4d9dfcd jdk8u121-b09
-23970322bf063b36c0aefe103540618bb64a82af jdk8u121-b10
-fe53d09bdd8f4309ce3f79e9dc4c512639de2610 jdk8u121-b11
-89c0a71eeb4ae2011e7ed10f36e79b5184c7827b jdk8u121-b12
-fd548ea7e156aba26836084b838df5e90b90b6ba jdk8u121-b13
-18eb73eb84c5395b3efcafa43ce224565eca02b3 jdk8u122-b00
-9e615ea961fe5732813ed7b273606e7337ea2234 jdk8u122-b01
-2f0b11882cb7ddb10e35682ab9e8343919a71c54 jdk8u122-b02
-df2a2824284f97c5edb9b9c2e6d18bb4ff838199 jdk8u122-b03
-df2a2824284f97c5edb9b9c2e6d18bb4ff838199 jdk8u122-b03
-0000000000000000000000000000000000000000 jdk8u122-b03
-0000000000000000000000000000000000000000 jdk8u122-b03
-12650d23a8fd1b27a0d28c6a276fdecf01805294 jdk8u122-b03
-3c3b4e793e7c6255a840844db077ef466940035c jdk8u122-b04
-30dc0c72f3d0aff34b6d421208b18f384d05d761 jdk8u132-b00
-91d33aea2714e63796eeab0e63e38c9d2568c00c jdk8u152-b00
-50dac2fd8689dbb820d887ce3919708d5d042891 jdk8u152-b01
diff --git a/.jcheck/conf b/.jcheck/conf
deleted file mode 100644
index 5bd24b1..0000000
--- a/.jcheck/conf
+++ /dev/null
@@ -1,2 +0,0 @@
-project=jdk8
-bugids=dup
diff --git a/ASSEMBLY_EXCEPTION b/ASSEMBLY_EXCEPTION
deleted file mode 100644
index 065b8d9..0000000
--- a/ASSEMBLY_EXCEPTION
+++ /dev/null
@@ -1,27 +0,0 @@
-
-OPENJDK ASSEMBLY EXCEPTION
-
-The OpenJDK source code made available by Oracle America, Inc. (Oracle) at
-openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU
-General Public License <http://www.gnu.org/copyleft/gpl.html> version 2
-only ("GPL2"), with the following clarification and special exception.
-
-    Linking this OpenJDK Code statically or dynamically with other code
-    is making a combined work based on this library.  Thus, the terms
-    and conditions of GPL2 cover the whole combination.
-
-    As a special exception, Oracle gives you permission to link this
-    OpenJDK Code with certain code licensed by Oracle as indicated at
-    http://openjdk.java.net/legal/exception-modules-2007-05-08.html
-    ("Designated Exception Modules") to produce an executable,
-    regardless of the license terms of the Designated Exception Modules,
-    and to copy and distribute the resulting executable under GPL2,
-    provided that the Designated Exception Modules continue to be
-    governed by the licenses under which they were offered by Oracle.
-
-As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code
-to build an executable that includes those portions of necessary code that
-Oracle could not provide under GPL2 (or that Oracle has provided under GPL2
-with the Classpath exception).  If you modify or add to the OpenJDK code,
-that new GPL2 code may still be combined with Designated Exception Modules
-if the new code is made subject to this exception by its copyright holder.
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 8b400c7..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,347 +0,0 @@
-The GNU General Public License (GPL)
-
-Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-Everyone is permitted to copy and distribute verbatim copies of this license
-document, but changing it is not allowed.
-
-Preamble
-
-The licenses for most software are designed to take away your freedom to share
-and change it.  By contrast, the GNU General Public License is intended to
-guarantee your freedom to share and change free software--to make sure the
-software is free for all its users.  This General Public License applies to
-most of the Free Software Foundation's software and to any other program whose
-authors commit to using it.  (Some other Free Software Foundation software is
-covered by the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
-When we speak of free software, we are referring to freedom, not price.  Our
-General Public Licenses are designed to make sure that you have the freedom to
-distribute copies of free software (and charge for this service if you wish),
-that you receive source code or can get it if you want it, that you can change
-the software or use pieces of it in new free programs; and that you know you
-can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to deny
-you these rights or to ask you to surrender the rights.  These restrictions
-translate to certain responsibilities for you if you distribute copies of the
-software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or for
-a fee, you must give the recipients all the rights that you have.  You must
-make sure that they, too, receive or can get the source code.  And you must
-show them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2)
-offer you this license which gives you legal permission to copy, distribute
-and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain that
-everyone understands that there is no warranty for this free software.  If the
-software is modified by someone else and passed on, we want its recipients to
-know that what they have is not the original, so that any problems introduced
-by others will not reflect on the original authors' reputations.
-
-Finally, any free program is threatened constantly by software patents.  We
-wish to avoid the danger that redistributors of a free program will
-individually obtain patent licenses, in effect making the program proprietary.
-To prevent this, we have made it clear that any patent must be licensed for
-everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification
-follow.
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-0. This License applies to any program or other work which contains a notice
-placed by the copyright holder saying it may be distributed under the terms of
-this General Public License.  The "Program", below, refers to any such program
-or work, and a "work based on the Program" means either the Program or any
-derivative work under copyright law: that is to say, a work containing the
-Program or a portion of it, either verbatim or with modifications and/or
-translated into another language.  (Hereinafter, translation is included
-without limitation in the term "modification".) Each licensee is addressed as
-"you".
-
-Activities other than copying, distribution and modification are not covered by
-this License; they are outside its scope.  The act of running the Program is
-not restricted, and the output from the Program is covered only if its contents
-constitute a work based on the Program (independent of having been made by
-running the Program).  Whether that is true depends on what the Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source code as
-you receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice and
-disclaimer of warranty; keep intact all the notices that refer to this License
-and to the absence of any warranty; and give any other recipients of the
-Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you may
-at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it, thus
-forming a work based on the Program, and copy and distribute such modifications
-or work under the terms of Section 1 above, provided that you also meet all of
-these conditions:
-
-    a) You must cause the modified files to carry prominent notices stating
-    that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in whole or
-    in part contains or is derived from the Program or any part thereof, to be
-    licensed as a whole at no charge to all third parties under the terms of
-    this License.
-
-    c) If the modified program normally reads commands interactively when run,
-    you must cause it, when started running for such interactive use in the
-    most ordinary way, to print or display an announcement including an
-    appropriate copyright notice and a notice that there is no warranty (or
-    else, saying that you provide a warranty) and that users may redistribute
-    the program under these conditions, and telling the user how to view a copy
-    of this License.  (Exception: if the Program itself is interactive but does
-    not normally print such an announcement, your work based on the Program is
-    not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If identifiable
-sections of that work are not derived from the Program, and can be reasonably
-considered independent and separate works in themselves, then this License, and
-its terms, do not apply to those sections when you distribute them as separate
-works.  But when you distribute the same sections as part of a whole which is a
-work based on the Program, the distribution of the whole must be on the terms
-of this License, whose permissions for other licensees extend to the entire
-whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your
-rights to work written entirely by you; rather, the intent is to exercise the
-right to control the distribution of derivative or collective works based on
-the Program.
-
-In addition, mere aggregation of another work not based on the Program with the
-Program (or with a work based on the Program) on a volume of a storage or
-distribution medium does not bring the other work under the scope of this
-License.
-
-3. You may copy and distribute the Program (or a work based on it, under
-Section 2) in object code or executable form under the terms of Sections 1 and
-2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable source
-    code, which must be distributed under the terms of Sections 1 and 2 above
-    on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three years, to
-    give any third party, for a charge no more than your cost of physically
-    performing source distribution, a complete machine-readable copy of the
-    corresponding source code, to be distributed under the terms of Sections 1
-    and 2 above on a medium customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer to
-    distribute corresponding source code.  (This alternative is allowed only
-    for noncommercial distribution and only if you received the program in
-    object code or executable form with such an offer, in accord with
-    Subsection b above.)
-
-The source code for a work means the preferred form of the work for making
-modifications to it.  For an executable work, complete source code means all
-the source code for all modules it contains, plus any associated interface
-definition files, plus the scripts used to control compilation and installation
-of the executable.  However, as a special exception, the source code
-distributed need not include anything that is normally distributed (in either
-source or binary form) with the major components (compiler, kernel, and so on)
-of the operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the source
-code from the same place counts as distribution of the source code, even though
-third parties are not compelled to copy the source along with the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as
-expressly provided under this License.  Any attempt otherwise to copy, modify,
-sublicense or distribute the Program is void, and will automatically terminate
-your rights under this License.  However, parties who have received copies, or
-rights, from you under this License will not have their licenses terminated so
-long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed it.
-However, nothing else grants you permission to modify or distribute the Program
-or its derivative works.  These actions are prohibited by law if you do not
-accept this License.  Therefore, by modifying or distributing the Program (or
-any work based on the Program), you indicate your acceptance of this License to
-do so, and all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the Program),
-the recipient automatically receives a license from the original licensor to
-copy, distribute or modify the Program subject to these terms and conditions.
-You may not impose any further restrictions on the recipients' exercise of the
-rights granted herein.  You are not responsible for enforcing compliance by
-third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues), conditions
-are imposed on you (whether by court order, agreement or otherwise) that
-contradict the conditions of this License, they do not excuse you from the
-conditions of this License.  If you cannot distribute so as to satisfy
-simultaneously your obligations under this License and any other pertinent
-obligations, then as a consequence you may not distribute the Program at all.
-For example, if a patent license would not permit royalty-free redistribution
-of the Program by all those who receive copies directly or indirectly through
-you, then the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply and
-the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents or
-other property right claims or to contest validity of any such claims; this
-section has the sole purpose of protecting the integrity of the free software
-distribution system, which is implemented by public license practices.  Many
-people have made generous contributions to the wide range of software
-distributed through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing to
-distribute software through any other system and a licensee cannot impose that
-choice.
-
-This section is intended to make thoroughly clear what is believed to be a
-consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain
-countries either by patents or by copyrighted interfaces, the original
-copyright holder who places the Program under this License may add an explicit
-geographical distribution limitation excluding those countries, so that
-distribution is permitted only in or among countries not thus excluded.  In
-such case, this License incorporates the limitation as if written in the body
-of this License.
-
-9. The Free Software Foundation may publish revised and/or new versions of the
-General Public License from time to time.  Such new versions will be similar in
-spirit to the present version, but may differ in detail to address new problems
-or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any later
-version", you have the option of following the terms and conditions either of
-that version or of any later version published by the Free Software Foundation.
-If the Program does not specify a version number of this License, you may
-choose any version ever published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs
-whose distribution conditions are different, write to the author to ask for
-permission.  For software which is copyrighted by the Free Software Foundation,
-write to the Free Software Foundation; we sometimes make exceptions for this.
-Our decision will be guided by the two goals of preserving the free status of
-all derivatives of our free software and of promoting the sharing and reuse of
-software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
-THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN OTHERWISE
-STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE
-PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE,
-YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
-ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE
-PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
-INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
-BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
-OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-END OF TERMS AND CONDITIONS
-
-How to Apply These Terms to Your New Programs
-
-If you develop a new program, and you want it to be of the greatest possible
-use to the public, the best way to achieve this is to make it free software
-which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program.  It is safest to attach
-them to the start of each source file to most effectively convey the exclusion
-of warranty; and each file should have at least the "copyright" line and a
-pointer to where the full notice is found.
-
-    One line to give the program's name and a brief idea of what it does.
-
-    Copyright (C) <year> <name of author>
-
-    This program is free software; you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by the Free
-    Software Foundation; either version 2 of the License, or (at your option)
-    any later version.
-
-    This program 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 for
-    more details.
-
-    You should have received a copy of the GNU General Public License along
-    with this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this when it
-starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
-    with ABSOLUTELY NO WARRANTY; for details type 'show w'.  This is free
-    software, and you are welcome to redistribute it under certain conditions;
-    type 'show c' for details.
-
-The hypothetical commands 'show w' and 'show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may be
-called something other than 'show w' and 'show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.  Here
-is a sample; alter the names:
-
-    Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-    'Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-    signature of Ty Coon, 1 April 1989
-
-    Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General Public
-License instead of this License.
-
-
-"CLASSPATH" EXCEPTION TO THE GPL
-
-Certain source files distributed by Oracle America and/or its affiliates are
-subject to the following clarification and special exception to the GPL, but
-only where Oracle has expressly included in the particular source file's header
-the words "Oracle designates this particular file as subject to the "Classpath"
-exception as provided by Oracle in the LICENSE file that accompanied this code."
-
-    Linking this library statically or dynamically with other modules is making
-    a combined work based on this library.  Thus, the terms and conditions of
-    the GNU General Public License cover the whole combination.
-
-    As a special exception, the copyright holders of this library give you
-    permission to link this library with independent modules to produce an
-    executable, regardless of the license terms of these independent modules,
-    and to copy and distribute the resulting executable under terms of your
-    choice, provided that you also meet, for each linked independent module,
-    the terms and conditions of the license of that module.  An independent
-    module is a module which is not derived from or based on this library.  If
-    you modify this library, you may extend this exception to your version of
-    the library, but you are not obligated to do so.  If you do not wish to do
-    so, delete this exception statement from your version.
diff --git a/README b/README
deleted file mode 100644
index 9cc6c72..0000000
--- a/README
+++ /dev/null
@@ -1,149 +0,0 @@
-- What is Nashorn?
-
-Nashorn is a runtime environment for programs written in ECMAScript 5.1
-that runs on top of JVM.
-
-- How to find out more about ECMAScript 5.1?
-
-The specification can be found at
-
-    http://www.ecma-international.org/publications/standards/Ecma-262.htm
-
-- How to checkout sources of Nashorn project?
-
-Nashorn project uses Mercurial source code control system. You can
-download Mercurial from http://mercurial.selenic.com/wiki/Download
-
-Information about the forest extension can be found at
-
-    http://mercurial.selenic.com/wiki/ForestExtension
-
-and downlaoded using
-
-    hg clone https://bitbucket.org/gxti/hgforest
-
-You can clone Nashorn Mercurial forest using this command:
-
-    hg fclone http://hg.openjdk.java.net/nashorn/jdk8 nashorn~jdk8
-    
-To update your copy of the forest (fwith the latest code:
-
-    (cd nashorn~jdk8 ; hg fpull)
-    
-Or just the nashorn subdirectory with
-
-    (cd nashorn~jdk8/nashorn ; hg pull -u)
-    
-To learn about Mercurial in detail, please visit http://hgbook.red-bean.com.
-
-- How to build?
-
-To build Nashorn, you need to install JDK 8. You may use the Nashorn
-forest build (recommended) or down load from java.net.  You will need to
-set JAVA_HOME environmental variable to point to your JDK installation
-directory.
-
-    cd nashorn~jdk8/nashorn/make
-    ant clean; ant
-
-- How to run?
-
-Use the jjs script (see RELESE_README):
-
-    cd nashorn~jdk8/nashorn
-    sh bin/jjs <your .js file>
-
-Nashorn supports javax.script API. It is possible to drop nashorn.jar in
-class path and request for "nashorn" script engine from
-javax.script.ScriptEngineManager. 
-
-Look for samples under the directory test/src/jdk/nashorn/api/scripting/.
-
-- Documentation
-
-Comprehensive development documentation is found in the Nashorn JavaDoc. You can
-build it using:
-
-    cd nashorn~jdk8/nashorn/make
-    ant javadoc
-    
-after which you can view the generated documentation at dist/javadoc/index.html.
-
-- Running tests
-
-Nashorn tests are TestNG based. Running tests requires downloading the
-TestNG library and placing its jar file into the test/lib subdirectory. This is
-done automatically when executing the "ant externals" command to get external
-test suites (see below).
-
-Once TestNG is properly installed, you can run the tests using:
-    cd make
-    ant clean test
-    
-You can also run the ECMA-262 test suite with Nashorn. In order to do
-that, you will need to get a copy of it and put it in
-test/script/external/test262 directory. A convenient way to do it is:
-
-   git clone https://github.com/tc39/test262 test/script/external/test262
-    
-Alternatively, you can check it out elsewhere and make
-test/script/external/test262 a symbolic link to that directory. After
-you've done this, you can run the ECMA-262 tests using:
-
-    cd nashorn~jdk8/nashorn/make
-    ant test262
-
-Ant target to get/update external test suites:
-
-    ant externals
-    ant update-externals
-    
-These tests take time, so we have a parallelized runner for them that
-takes advantage of all processor cores on the computer:
-
-    cd nashorn~jdk8/nashorn/make
-    ant test262parallel
-    
-- How to write your own test?
-
-Nashorn uses it's own simple test framework. Any .js file dropped under
-nashorn/test directory is considered as a test. A test file can
-optionally have .js.EXPECTED (foo.js.EXPECTED for foo.js) associated
-with it. The .EXPECTED file, if exists, should contain the output
-expected from compiling and/or running the test file.
-
-The test runner crawls these directories for .js files and looks for
-JTReg-style @foo comments to identify tests.
-
-    * @test - A test is tagged with @test.
-
-    * @test/fail - Tests that are supposed to fail (compiling, see @run/fail
-      for runtime) are tagged with @test/fail.
-
-    * @test/compile-error - Test expects compilation to fail, compares
-      output.
-
-    * @test/warning - Test expects compiler warnings, compares output.
-
-    * @test/nocompare - Test expects to compile [and/or run?]
-      successfully(may be warnings), does not compare output.
-
-    * @subtest - denotes necessary file for a main test file; itself is not
-      a test.
-
-    * @run - A test that should be run is also tagged with @run (otherwise
-      the test runner only compiles the test).
-
-    * @run/fail - A test that should compile but fail with a runtime error.
-
-    * @run/ignore-std-error - script may produce output on stderr, ignore
-      this output.
-
-    * @argument - pass an argument to script.
-
-    * @option \ - pass option to engine, sample.
-
-/**
- * @option --dump-ir-graph
- * @test
- */
diff --git a/RELEASE_README b/RELEASE_README
deleted file mode 100644
index 9984be4..0000000
--- a/RELEASE_README
+++ /dev/null
@@ -1,20 +0,0 @@
-The Nashorn repo is in the process of being migrated to OpenJDK and as such is
-incomplete in several areas.
-
-- The build system is not fully integrated.  When complete, Nashorn will be
-installed in its proper location in the JRE.
-
-- Once integrated, the correct version of the JDK will be wrapped around 
-Nashorn.  In the meantime, ensure you use JDK8 b68 or later.
-
-- The jjs tool has not been implemented in binary form yet.  Use "sh bin/jjs" 
-(or bin/jjs.bat on windows) in the interm.
-
-- The Dynalink component is not fully integrated into Nashorn as yet, but will
-be when details are finalized.
-
-- And, finally Nashorn is still in development.  To stay up to date, subscribe
-to nashorn-dev@openjdk.java.net at
-
-    http://mail.openjdk.java.net/mailman/listinfo/nashorn-dev.
-
diff --git a/THIRD_PARTY_README b/THIRD_PARTY_README
deleted file mode 100644
index 2b20da2..0000000
--- a/THIRD_PARTY_README
+++ /dev/null
@@ -1,3574 +0,0 @@
-DO NOT TRANSLATE OR LOCALIZE.
------------------------------
-
-%% This notice is provided with respect to ASM Bytecode Manipulation 
-Framework v5.0.3, which may be included with JRE 8, and JDK 8, and 
-OpenJDK 8.
-
---- begin of LICENSE ---
-
-Copyright (c) 2000-2011 France Télécom
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-3. Neither the name of the copyright holders nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGE.
-
---- end of LICENSE ---
-
---------------------------------------------------------------------------------
-
-%% This notice is provided with respect to BSDiff v4.3, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Copyright 2003-2005 Colin Percival
-All rights reserved
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted providing that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
-IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to CodeViewer 1.0, which may be
-included with JDK 8.
-
---- begin of LICENSE ---
-
-Copyright 1999 by CoolServlets.com.
-
-Any errors or suggested improvements to this class can be reported as
-instructed on CoolServlets.com. We hope you enjoy this program... your
-comments will encourage further development!  This software is distributed
-under the terms of the BSD License.  Redistribution and use in source and
-binary forms, with or without modification, are permitted provided that the
-following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
-Neither name of CoolServlets.com nor the names of its contributors may be
-used to endorse or promote products derived from this software without
-specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY COOLSERVLETS.COM AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Cryptix AES 3.2.0, which may be
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Cryptix General License
-
-Copyright (c) 1995-2005 The Cryptix Foundation Limited.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-  1. Redistributions of source code must retain the copyright notice,
-     this list of conditions and the following disclaimer.
-
-  2. Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in
-     the documentation and/or other materials provided with the
-     distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND
-CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
-IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to CUP Parser Generator for 
-Java 0.10k, which may be included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both the
-copyright notice and this permission notice and warranty disclaimer appear in
-supporting documentation, and that the names of the authors or their
-employers not be used in advertising or publicity pertaining to distribution of
-the software without specific, written prior permission.
-
-The authors and their employers disclaim all warranties with regard to
-this software, including all implied warranties of merchantability and fitness.
-In no event shall the authors or their employers be liable for any special,
-indirect or consequential damages or any damages whatsoever resulting from
-loss of use, data or profits, whether in an action of contract, negligence or
-other tortious action, arising out of or in connection with the use or
-performance of this software.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Document Object Model (DOM) Level 2
-& 3, which may be included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-W3C SOFTWARE NOTICE AND LICENSE
-
-http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
-
-This work (and included software, documentation such as READMEs, or other
-related items) is being provided by the copyright holders under the following
-license. By obtaining, using and/or copying this work, you (the licensee)
-agree that you have read, understood, and will comply with the following terms
-and conditions.
-
-Permission to copy, modify, and distribute this software and its
-documentation, with or without modification, for any purpose and without fee
-or royalty is hereby granted, provided that you include the following on ALL
-copies of the software and documentation or portions thereof, including
-modifications:
-
-   1.The full text of this NOTICE in a location viewable to users of the
-   redistributed or derivative work.
-
-   2.Any pre-existing intellectual property disclaimers, notices, or terms and
-   conditions. If none exist, the W3C Software Short Notice should be included
-   (hypertext is preferred, text is permitted) within the body of any
-   redistributed or derivative code.
-
-   3.Notice of any changes or modifications to the files, including the date
-   changes were made. (We recommend you provide URIs to the location from
-   which the code is derived.)
-
-THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
-MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
-LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
-PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY
-THIRD PARTY PATENTS,COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
-
-COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL
-OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
-DOCUMENTATION.  The name and trademarks of copyright holders may NOT be used
-in advertising or publicity pertaining to the software without specific,
-written prior permission. Title to copyright in this software and any
-associated documentation will at all times remain with copyright holders.
-
-____________________________________
-
-This formulation of W3C's notice and license became active on December 31
-2002. This version removes the copyright ownership notice such that this
-license can be used with materials other than those owned by the W3C, reflects
-that ERCIM is now a host of the W3C, includes references to this specific
-dated version of the license, and removes the ambiguous grant of "use".
-Otherwise, this version is the same as the previous version and is written so
-as to preserve the Free Software Foundation's assessment of GPL compatibility
-and OSI's certification under the Open Source Definition. Please see our
-Copyright FAQ for common questions about using materials from our site,
-including specific terms and conditions for packages like libwww, Amaya, and
-Jigsaw. Other questions about this notice can be directed to
-site-policy@w3.org.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Dynalink v0.5, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Copyright (c) 2009-2013, Attila Szegedi
-
-All rights reserved.Redistribution and use in source and binary forms, with or
-without modification, are permitted provided that the following conditions are
-met:* Redistributions of source code must retain the above copyright notice,
-this list of conditions and the following disclaimer.  * Redistributions in
-binary form must reproduce the above copyright notice,   this list of
-conditions and the following disclaimer in the documentation  and/or other
-materials provided with the distribution.  * Neither the name of Attila
-Szegedi nor the names of its contributors may be used to endorse or promote
-products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF SUCH DAMAGE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Elliptic Curve Cryptography, which 
-may be included with JRE 8, JDK 8, and OpenJDK 8.
-
-You are receiving a copy of the Elliptic Curve Cryptography library in source
-form with the JDK 8 and OpenJDK 8 source distributions, and as object code in
-the JRE 8 & JDK 8 runtimes.
-
-In the case of the JRE 8 & JDK 8 runtimes, the terms of the Oracle license do
-NOT apply to the Elliptic Curve Cryptography library; it is licensed under the
-following license, separately from Oracle's JDK & JRE.  If you do not wish to
-install the Elliptic Curve Cryptography library, you may delete the library
-named libsunec.so (on Solaris and Linux systems) or sunec.dll (on Windows
-systems) from the JRE bin directory reserved for native libraries.
-
-
---- begin of LICENSE ---
-
-                  GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-                  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                            NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to  ECMAScript Language
-Specification ECMA-262 Edition 5.1 which may be included with 
-JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Copyright notice
-Copyright © 2011 Ecma International
-Ecma International
-Rue du Rhone 114
-CH-1204 Geneva
-Tel: +41 22 849 6000
-Fax: +41 22 849 6001
-Web: http://www.ecma-international.org
-
-This document and possible translations of it may be copied and furnished to
-others, and derivative works that comment on or otherwise explain it or assist
-in its implementation may be prepared, copied, published, and distributed, in
-whole or in part, without restriction of any kind, provided that the above
-copyright notice and this section are included on all such copies and derivative
-works. However, this document itself may not be modified in any way, including
-by removing the copyright notice or references to Ecma International, except as
-needed for the purpose of developing any document or deliverable produced by
-Ecma International (in which case the rules applied to copyrights must be
-followed) or as required to translate it into languages other than English. The
-limited permissions granted above are perpetual and will not be revoked by Ecma
-International or its successors or assigns. This document and the information
-contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL
-DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
-WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP
-RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
-PURPOSE." Software License
-
-All Software contained in this document ("Software)" is protected by copyright
-and is being made available under the "BSD License", included below. This
-Software may be subject to third party rights (rights from parties other than
-Ecma International), including patent rights, and no licenses under such third
-party rights are granted under this license even if the third party concerned is
-a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS
-AVAILABLE AT http://www.ecma-international.org/memento/codeofconduct.htm FOR
-INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO
-IMPLEMENT ECMA INTERNATIONAL STANDARDS*. Redistribution and use in source and
-binary forms, with or without modification, are permitted provided that the
-following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
-list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
-this list of conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.
-
-3. Neither the name of the authors nor Ecma International may be used to endorse
-or promote products derived from this software without specific prior written
-permission.
-
-THIS SOFTWARE IS PROVIDED BY THE ECMA INTERNATIONAL "AS IS" AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
-SHALL ECMA INTERNATIONAL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
-IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
-OF SUCH DAMAGE.
---- end of LICENSE ---
-
-%% This notice is provided with respect to Dynalink library which is included
-with the Nashorn technology.
-
---- begin of LICENSE ---
-Copyright (c) 2009-2013, Attila Szegedi
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-* Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright
-  notice, this list of conditions and the following disclaimer in the
-  documentation and/or other materials provided with the distribution.
-* Neither the name of the copyright holder nor the names of
-  contributors may be used to endorse or promote products derived from
-  this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER
-BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
---- end of LICENSE ---
-
-%% This notice is provided with respect to Joni library which is included
-with the Nashorn technology.
-
---- begin of LICENSE ---
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to FontConfig 2.5, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8 source distributions on
-Linux and Solaris.
-
---- begin of LICENSE ---
-
-Copyright © 2001,2003 Keith Packard
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that the
-above copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation, and that
-the name of Keith Packard not be used in advertising or publicity pertaining
-to distribution of the software without specific, written prior permission.
-Keith Packard makes no representations about the suitability of this software
-for any purpose.  It is provided "as is" without express or implied warranty.
-
-KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
-ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL KEITH
-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
-DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to IAIK PKCS#11 Wrapper, 
-which may be included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-IAIK PKCS#11 Wrapper License
-
-Copyright (c) 2002 Graz University of Technology. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
-3. The end-user documentation included with the redistribution, if any, must
-   include the following acknowledgment:
-
-   "This product includes software developed by IAIK of Graz University of
-    Technology."
-
-   Alternately, this acknowledgment may appear in the software itself, if and
-   wherever such third-party acknowledgments normally appear.
-
-4. The names "Graz University of Technology" and "IAIK of Graz University of
-   Technology" must not be used to endorse or promote products derived from this
-   software without prior written permission.
-
-5. Products derived from this software may not be called "IAIK PKCS Wrapper",
-   nor may "IAIK" appear in their name, without prior written permission of
-   Graz University of Technology.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
-OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to ICU4C 4.0.1 and ICU4J 4.4, which 
-may be included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Copyright (c) 1995-2010 International Business Machines Corporation and others 
-
-All rights reserved. 
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, and/or sell copies of the
-Software, and to permit persons to whom the Software is furnished to do so,
-provided that the above copyright notice(s) and this permission notice appear
-in all copies of the Software and that both the above copyright notice(s) and
-this permission notice appear in supporting documentation.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN
-NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE
-LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY
-DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-Except as contained in this notice, the name of a copyright holder shall not
-be used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization of the copyright holder.
-All trademarks and registered trademarks mentioned herein are the property of
-their respective owners.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to IJG JPEG 6b, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-This software is copyright (C) 1991-1998, Thomas G. Lane.
-All Rights Reserved except as specified below.
-
-Permission is hereby granted to use, copy, modify, and distribute this
-software (or portions thereof) for any purpose, without fee, subject to these
-conditions:
-(1) If any part of the source code for this software is distributed, then this
-README file must be included, with this copyright and no-warranty notice
-unaltered; and any additions, deletions, or changes to the original files
-must be clearly indicated in accompanying documentation.
-(2) If only executable code is distributed, then the accompanying
-documentation must state that "this software is based in part on the work of
-the Independent JPEG Group".
-(3) Permission for use of this software is granted only if the user accepts
-full responsibility for any undesirable consequences; the authors accept
-NO LIABILITY for damages of any kind.
-
-These conditions apply to any software derived from or based on the IJG code,
-not just to the unmodified library.  If you use our work, you ought to
-acknowledge us.
-
-Permission is NOT granted for the use of any IJG author's name or company name
-in advertising or publicity relating to this software or products derived from
-it.  This software may be referred to only as "the Independent JPEG Group's
-software".
-
-We specifically permit and encourage the use of this software as the basis of
-commercial products, provided that all warranty or liability claims are
-assumed by the product vendor.
-
---- end of LICENSE ---
-
---------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Joni v1.1.9, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to JOpt-Simple v3.0,  which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
- Copyright (c) 2004-2009 Paul R. Holser, Jr.
-
- Permission is hereby granted, free of charge, to any person obtaining
- a copy of this software and associated documentation files (the
- "Software"), to deal in the Software without restriction, including
- without limitation the rights to use, copy, modify, merge, publish,
- distribute, sublicense, and/or sell copies of the Software, and to
- permit persons to whom the Software is furnished to do so, subject to
- the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
---- end of LICENSE ---
-
---------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Kerberos functionality, which 
-which may be included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
- (C) Copyright IBM Corp. 1999 All Rights Reserved.
- Copyright 1997 The Open Group Research Institute. All rights reserved.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Kerberos functionality from 
-FundsXpress, INC., which may be included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
- Copyright (C) 1998 by the FundsXpress, INC.
-
- All rights reserved.
-
- Export of this software from the United States of America may require
- a specific license from the United States Government.  It is the
- responsibility of any person or organization contemplating export to
- obtain such a license before exporting.
-
- WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
- distribute this software and its documentation for any purpose and
- without fee is hereby granted, provided that the above copyright
- notice appear in all copies and that both that copyright notice and
- this permission notice appear in supporting documentation, and that
- the name of FundsXpress. not be used in advertising or publicity pertaining
- to distribution of the software without specific, written prior
- permission.  FundsXpress makes no representations about the suitability of
- this software for any purpose.  It is provided "as is" without express
- or implied warranty.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Kronos OpenGL headers, which may be 
-included with JDK 8 and OpenJDK 8 source distributions.
-
---- begin of LICENSE ---
-
- Copyright (c) 2007 The Khronos Group Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and/or associated documentation files (the "Materials"), to
- deal in the Materials without restriction, including without limitation the
- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- sell copies of the Materials, and to permit persons to whom the Materials are
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Materials.
-
- THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE
- MATERIALS.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% Portions Copyright Eastman Kodak Company 1992
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to libpng 1.6.16, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-This copy of the libpng notices is provided for your convenience.  In case of
-any discrepancy between this copy and the notices in the file png.h that is
-included in the libpng distribution, the latter shall prevail.
-
-COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
-
-If you modify libpng you may insert additional notices immediately following
-this sentence.
-
-This code is released under the libpng license.
-
-libpng versions 1.2.6, August 15, 2004, through 1.6.16, December 22, 2014, are
-Copyright (c) 2004, 2006-2014 Glenn Randers-Pehrson, and are
-distributed according to the same disclaimer and license as libpng-1.2.5
-with the following individual added to the list of Contributing Authors
-
-   Cosmin Truta
-
-libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
-Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
-distributed according to the same disclaimer and license as libpng-1.0.6
-with the following individuals added to the list of Contributing Authors
-
-   Simon-Pierre Cadieux
-   Eric S. Raymond
-   Gilles Vollant
-
-and with the following additions to the disclaimer:
-
-   There is no warranty against interference with your enjoyment of the
-   library or against infringement.  There is no warranty that our
-   efforts or the library will fulfill any of your particular purposes
-   or needs.  This library is provided with all faults, and the entire
-   risk of satisfactory quality, performance, accuracy, and effort is with
-   the user.
-
-libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
-Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
-distributed according to the same disclaimer and license as libpng-0.96,
-with the following individuals added to the list of Contributing Authors:
-
-   Tom Lane
-   Glenn Randers-Pehrson
-   Willem van Schaik
-
-libpng versions 0.89, June 1996, through 0.96, May 1997, are
-Copyright (c) 1996, 1997 Andreas Dilger
-Distributed according to the same disclaimer and license as libpng-0.88,
-with the following individuals added to the list of Contributing Authors:
-
-   John Bowler
-   Kevin Bracey
-   Sam Bushell
-   Magnus Holmgren
-   Greg Roelofs
-   Tom Tanner
-
-libpng versions 0.5, May 1995, through 0.88, January 1996, are
-Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
-
-For the purposes of this copyright and license, "Contributing Authors"
-is defined as the following set of individuals:
-
-   Andreas Dilger
-   Dave Martindale
-   Guy Eric Schalnat
-   Paul Schmidt
-   Tim Wegner
-
-The PNG Reference Library is supplied "AS IS".  The Contributing Authors
-and Group 42, Inc. disclaim all warranties, expressed or implied,
-including, without limitation, the warranties of merchantability and of
-fitness for any purpose.  The Contributing Authors and Group 42, Inc.
-assume no liability for direct, indirect, incidental, special, exemplary,
-or consequential damages, which may result from the use of the PNG
-Reference Library, even if advised of the possibility of such damage.
-
-Permission is hereby granted to use, copy, modify, and distribute this
-source code, or portions hereof, for any purpose, without fee, subject
-to the following restrictions:
-
-1. The origin of this source code must not be misrepresented.
-
-2. Altered versions must be plainly marked as such and must not
-   be misrepresented as being the original source.
-
-3. This Copyright notice may not be removed or altered from any
-   source or altered source distribution.
-
-The Contributing Authors and Group 42, Inc. specifically permit, without
-fee, and encourage the use of this source code as a component to
-supporting the PNG file format in commercial products.  If you use this
-source code in a product, acknowledgment is not required but would be
-appreciated.
-
-
-A "png_get_copyright" function is available, for convenient use in "about"
-boxes and the like:
-
-   printf("%s",png_get_copyright(NULL));
-
-Also, the PNG logo (in PNG format, of course) is supplied in the
-files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
-
-Libpng is OSI Certified Open Source Software.  OSI Certified Open Source is a
-certification mark of the Open Source Initiative.
-
-Glenn Randers-Pehrson
-glennrp at users.sourceforge.net
-December 22, 2014
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to GIFLIB 5.1.1 & libungif 4.1.3, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-The GIFLIB distribution is Copyright (c) 1997  Eric S. Raymond
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Little CMS 2.7, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Little CMS
-Copyright (c) 1998-2015 Marti Maria Saguer
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% Lucida is a registered trademark or trademark of Bigelow & Holmes in the
-U.S. and other countries.
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Mesa 3D Graphics Library v4.1,
-which may be included with JRE 8, JDK 8, and OpenJDK 8 source distributions.
-
---- begin of LICENSE ---
-
- Mesa 3-D graphics library
- Version:  4.1
-
- Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
-
- Permission is hereby granted, free of charge, to any person obtaining a
- copy of this software and associated documentation files (the "Software"),
- to deal in the Software without restriction, including without limitation
- the rights to use, copy, modify, merge, publish, distribute, sublicense,
- and/or sell copies of the Software, and to permit persons to whom the
- Software is furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included
- in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Mozilla Network Security
-Services (NSS), which is supplied with the JDK test suite in the OpenJDK
-source code repository. It is licensed under Mozilla Public License (MPL),
-version 2.0.
-
-The NSS libraries are supplied in executable form, built from unmodified
-NSS source code labeled with the "NSS_3_16_RTM" HG tag.
-
-The NSS source code is available in the OpenJDK source code repository at:
-    jdk/test/sun/security/pkcs11/nss/src
-
-The NSS libraries are available in the OpenJDK source code repository at:
-    jdk/test/sun/security/pkcs11/nss/lib
-
---- begin of LICENSE ---
-
-Mozilla Public License Version 2.0
-==================================
-
-1. Definitions
---------------
-
-1.1. "Contributor"
-    means each individual or legal entity that creates, contributes to
-    the creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
-    means the combination of the Contributions of others (if any) used
-    by a Contributor and that particular Contributor's Contribution.
-
-1.3. "Contribution"
-    means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
-    means Source Code Form to which the initial Contributor has attached
-    the notice in Exhibit A, the Executable Form of such Source Code
-    Form, and Modifications of such Source Code Form, in each case
-    including portions thereof.
-
-1.5. "Incompatible With Secondary Licenses"
-    means
-
-    (a) that the initial Contributor has attached the notice described
-        in Exhibit B to the Covered Software; or
-
-    (b) that the Covered Software was made available under the terms of
-        version 1.1 or earlier of the License, but not also under the
-        terms of a Secondary License.
-
-1.6. "Executable Form"
-    means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
-    means a work that combines Covered Software with other material, in 
-    a separate file or files, that is not Covered Software.
-
-1.8. "License"
-    means this document.
-
-1.9. "Licensable"
-    means having the right to grant, to the maximum extent possible,
-    whether at the time of the initial grant or subsequently, any and
-    all of the rights conveyed by this License.
-
-1.10. "Modifications"
-    means any of the following:
-
-    (a) any file in Source Code Form that results from an addition to,
-        deletion from, or modification of the contents of Covered
-        Software; or
-
-    (b) any new file in Source Code Form that contains any Covered
-        Software.
-
-1.11. "Patent Claims" of a Contributor
-    means any patent claim(s), including without limitation, method,
-    process, and apparatus claims, in any patent Licensable by such
-    Contributor that would be infringed, but for the grant of the
-    License, by the making, using, selling, offering for sale, having
-    made, import, or transfer of either its Contributions or its
-    Contributor Version.
-
-1.12. "Secondary License"
-    means either the GNU General Public License, Version 2.0, the GNU
-    Lesser General Public License, Version 2.1, the GNU Affero General
-    Public License, Version 3.0, or any later versions of those
-    licenses.
-
-1.13. "Source Code Form"
-    means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
-    means an individual or a legal entity exercising rights under this
-    License. For legal entities, "You" includes any entity that
-    controls, is controlled by, or is under common control with You. For
-    purposes of this definition, "control" means (a) the power, direct
-    or indirect, to cause the direction or management of such entity,
-    whether by contract or otherwise, or (b) ownership of more than
-    fifty percent (50%) of the outstanding shares or beneficial
-    ownership of such entity.
-
-2. License Grants and Conditions
---------------------------------
-
-2.1. Grants
-
-Each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-
-(a) under intellectual property rights (other than patent or trademark)
-    Licensable by such Contributor to use, reproduce, make available,
-    modify, display, perform, distribute, and otherwise exploit its
-    Contributions, either on an unmodified basis, with Modifications, or
-    as part of a Larger Work; and
-
-(b) under Patent Claims of such Contributor to make, use, sell, offer
-    for sale, have made, import, and otherwise transfer either its
-    Contributions or its Contributor Version.
-
-2.2. Effective Date
-
-The licenses granted in Section 2.1 with respect to any Contribution
-become effective for each Contribution on the date the Contributor first
-distributes such Contribution.
-
-2.3. Limitations on Grant Scope
-
-The licenses granted in this Section 2 are the only rights granted under
-this License. No additional rights or licenses will be implied from the
-distribution or licensing of Covered Software under this License.
-Notwithstanding Section 2.1(b) above, no patent license is granted by a
-Contributor:
-
-(a) for any code that a Contributor has removed from Covered Software;
-    or
-
-(b) for infringements caused by: (i) Your and any other third party's
-    modifications of Covered Software, or (ii) the combination of its
-    Contributions with other software (except as part of its Contributor
-    Version); or
-
-(c) under Patent Claims infringed by Covered Software in the absence of
-    its Contributions.
-
-This License does not grant any rights in the trademarks, service marks,
-or logos of any Contributor (except as may be necessary to comply with
-the notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
-No Contributor makes additional grants as a result of Your choice to
-distribute the Covered Software under a subsequent version of this
-License (see Section 10.2) or under the terms of a Secondary License (if
-permitted under the terms of Section 3.3).
-
-2.5. Representation
-
-Each Contributor represents that the Contributor believes its
-Contributions are its original creation(s) or it has sufficient rights
-to grant the rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
-This License is not intended to limit any rights You have under
-applicable copyright doctrines of fair use, fair dealing, or other
-equivalents.
-
-2.7. Conditions
-
-Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
-in Section 2.1.
-
-3. Responsibilities
--------------------
-
-3.1. Distribution of Source Form
-
-All distribution of Covered Software in Source Code Form, including any
-Modifications that You create or to which You contribute, must be under
-the terms of this License. You must inform recipients that the Source
-Code Form of the Covered Software is governed by the terms of this
-License, and how they can obtain a copy of this License. You may not
-attempt to alter or restrict the recipients' rights in the Source Code
-Form.
-
-3.2. Distribution of Executable Form
-
-If You distribute Covered Software in Executable Form then:
-
-(a) such Covered Software must also be made available in Source Code
-    Form, as described in Section 3.1, and You must inform recipients of
-    the Executable Form how they can obtain a copy of such Source Code
-    Form by reasonable means in a timely manner, at a charge no more
-    than the cost of distribution to the recipient; and
-
-(b) You may distribute such Executable Form under the terms of this
-    License, or sublicense it under different terms, provided that the
-    license for the Executable Form does not attempt to limit or alter
-    the recipients' rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
-You may create and distribute a Larger Work under terms of Your choice,
-provided that You also comply with the requirements of this License for
-the Covered Software. If the Larger Work is a combination of Covered
-Software with a work governed by one or more Secondary Licenses, and the
-Covered Software is not Incompatible With Secondary Licenses, this
-License permits You to additionally distribute such Covered Software
-under the terms of such Secondary License(s), so that the recipient of
-the Larger Work may, at their option, further distribute the Covered
-Software under the terms of either this License or such Secondary
-License(s).
-
-3.4. Notices
-
-You may not remove or alter the substance of any license notices
-(including copyright notices, patent notices, disclaimers of warranty,
-or limitations of liability) contained within the Source Code Form of
-the Covered Software, except that You may alter any license notices to
-the extent required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
-You may choose to offer, and to charge a fee for, warranty, support,
-indemnity or liability obligations to one or more recipients of Covered
-Software. However, You may do so only on Your own behalf, and not on
-behalf of any Contributor. You must make it absolutely clear that any
-such warranty, support, indemnity, or liability obligation is offered by
-You alone, and You hereby agree to indemnify every Contributor for any
-liability incurred by such Contributor as a result of warranty, support,
-indemnity or liability terms You offer. You may include additional
-disclaimers of warranty and limitations of liability specific to any
-jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
----------------------------------------------------
-
-If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Software due to
-statute, judicial order, or regulation then You must: (a) comply with
-the terms of this License to the maximum extent possible; and (b)
-describe the limitations and the code they affect. Such description must
-be placed in a text file included with all distributions of the Covered
-Software under this License. Except to the extent prohibited by statute
-or regulation, such description must be sufficiently detailed for a
-recipient of ordinary skill to be able to understand it.
-
-5. Termination
---------------
-
-5.1. The rights granted under this License will terminate automatically
-if You fail to comply with any of its terms. However, if You become
-compliant, then the rights granted under this License from a particular
-Contributor are reinstated (a) provisionally, unless and until such
-Contributor explicitly and finally terminates Your grants, and (b) on an
-ongoing basis, if such Contributor fails to notify You of the
-non-compliance by some reasonable means prior to 60 days after You have
-come back into compliance. Moreover, Your grants from a particular
-Contributor are reinstated on an ongoing basis if such Contributor
-notifies You of the non-compliance by some reasonable means, this is the
-first time You have received notice of non-compliance with this License
-from such Contributor, and You become compliant prior to 30 days after
-Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
-infringement claim (excluding declaratory judgment actions,
-counter-claims, and cross-claims) alleging that a Contributor Version
-directly or indirectly infringes any patent, then the rights granted to
-You by any and all Contributors for the Covered Software under Section
-2.1 of this License shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all
-end user license agreements (excluding distributors and resellers) which
-have been validly granted by You or Your distributors under this License
-prior to termination shall survive termination.
-
-************************************************************************
-*                                                                      *
-*  6. Disclaimer of Warranty                                           *
-*  -------------------------                                           *
-*                                                                      *
-*  Covered Software is provided under this License on an "as is"       *
-*  basis, without warranty of any kind, either expressed, implied, or  *
-*  statutory, including, without limitation, warranties that the       *
-*  Covered Software is free of defects, merchantable, fit for a        *
-*  particular purpose or non-infringing. The entire risk as to the     *
-*  quality and performance of the Covered Software is with You.        *
-*  Should any Covered Software prove defective in any respect, You     *
-*  (not any Contributor) assume the cost of any necessary servicing,   *
-*  repair, or correction. This disclaimer of warranty constitutes an   *
-*  essential part of this License. No use of any Covered Software is   *
-*  authorized under this License except under this disclaimer.         *
-*                                                                      *
-************************************************************************
-
-************************************************************************
-*                                                                      *
-*  7. Limitation of Liability                                          *
-*  --------------------------                                          *
-*                                                                      *
-*  Under no circumstances and under no legal theory, whether tort      *
-*  (including negligence), contract, or otherwise, shall any           *
-*  Contributor, or anyone who distributes Covered Software as          *
-*  permitted above, be liable to You for any direct, indirect,         *
-*  special, incidental, or consequential damages of any character      *
-*  including, without limitation, damages for lost profits, loss of    *
-*  goodwill, work stoppage, computer failure or malfunction, or any    *
-*  and all other commercial damages or losses, even if such party      *
-*  shall have been informed of the possibility of such damages. This   *
-*  limitation of liability shall not apply to liability for death or   *
-*  personal injury resulting from such party's negligence to the       *
-*  extent applicable law prohibits such limitation. Some               *
-*  jurisdictions do not allow the exclusion or limitation of           *
-*  incidental or consequential damages, so this exclusion and          *
-*  limitation may not apply to You.                                    *
-*                                                                      *
-************************************************************************
-
-8. Litigation
--------------
-
-Any litigation relating to this License may be brought only in the
-courts of a jurisdiction where the defendant maintains its principal
-place of business and such litigation shall be governed by laws of that
-jurisdiction, without reference to its conflict-of-law provisions.
-Nothing in this Section shall prevent a party's ability to bring
-cross-claims or counter-claims.
-
-9. Miscellaneous
-----------------
-
-This License represents the complete agreement concerning the subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. Any law or regulation which provides
-that the language of a contract shall be construed against the drafter
-shall not be used to construe this License against a Contributor.
-
-10. Versions of the License
----------------------------
-
-10.1. New Versions
-
-Mozilla Foundation is the license steward. Except as provided in Section
-10.3, no one other than the license steward has the right to modify or
-publish new versions of this License. Each version will be given a
-distinguishing version number.
-
-10.2. Effect of New Versions
-
-You may distribute the Covered Software under the terms of the version
-of the License under which You originally received the Covered Software,
-or under the terms of any subsequent version published by the license
-steward.
-
-10.3. Modified Versions
-
-If you create software not governed by this License, and you want to
-create a new license for such software, you may create and use a
-modified version of this License if you rename the license and remove
-any references to the name of the license steward (except to note that
-such modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary
-Licenses
-
-If You choose to distribute Source Code Form that is Incompatible With
-Secondary Licenses under the terms of this version of the License, the
-notice described in Exhibit B of this License must be attached.
-
-Exhibit A - Source Code Form License Notice
--------------------------------------------
-
-  This Source Code Form is subject to the terms of the Mozilla Public
-  License, v. 2.0. If a copy of the MPL was not distributed with this
-  file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular
-file, then You may include the notice in a location (such as a LICENSE
-file in a relevant directory) where a recipient would be likely to look
-for such a notice.
-
-You may add additional accurate notices of copyright ownership.
-
-Exhibit B - "Incompatible With Secondary Licenses" Notice
----------------------------------------------------------
-
-  This Source Code Form is "Incompatible With Secondary Licenses", as
-  defined by the Mozilla Public License, v. 2.0.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to PC/SC Lite for Suse Linux v.1.1.1,
-which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
-
---- begin of LICENSE ---
-
-Copyright (c) 1999-2004 David Corcoran <corcoran@linuxnet.com>
-Copyright (c) 1999-2004 Ludovic Rousseau <ludovic.rousseau (at) free.fr>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. All advertising materials mentioning features or use of this software
-   must display the following acknowledgement:
-     This product includes software developed by: 
-      David Corcoran <corcoran@linuxnet.com>
-      http://www.linuxnet.com (MUSCLE)
-4. The name of the author may not be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-Changes to this license can be made only by the copyright author with 
-explicit written consent.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to PorterStemmer v4, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-See: http://tartarus.org/~martin/PorterStemmer
-
-The software is completely free for any purpose, unless notes at the head of
-the program text indicates otherwise (which is rare). In any case, the notes
-about licensing are never more restrictive than the BSD License.
-
-In every case where the software is not written by me (Martin Porter), this
-licensing arrangement has been endorsed by the contributor, and it is
-therefore unnecessary to ask the contributor again to confirm it.
-
-I have not asked any contributors (or their employers, if they have them) for
-proofs that they have the right to distribute their software in this way.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Relax NG Object/Parser v.20050510,
-which may be included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Copyright (c) Kohsuke Kawaguchi
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions: The above copyright
-notice and this permission notice shall be included in all copies or
-substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to RelaxNGCC v1.12, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Copyright (c) 2000-2003 Daisuke Okajima and Kohsuke Kawaguchi.  
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-1. Redistributions of source code must retain the above copyright notice, this
-   list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution.
-
-3. The end-user documentation included with the redistribution, if any, must
-   include the following acknowledgment:
-
-    "This product includes software developed by Daisuke Okajima
-    and Kohsuke Kawaguchi (http://relaxngcc.sf.net/)."
-
-Alternately, this acknowledgment may appear in the software itself, if and
-wherever such third-party acknowledgments normally appear.
-
-4. The names of the copyright holders must not be used to endorse or promote
-   products derived from this software without prior written permission. For
-   written permission, please contact the copyright holders.
-
-5. Products derived from this software may not be called "RELAXNGCC", nor may
-  "RELAXNGCC" appear in their name, without prior written permission of the
-  copyright holders.
-
-THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE APACHE
-SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to SAX 2.0.1, which may be included 
-with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
- SAX is free!
-
- In fact, it's not possible to own a license to SAX, since it's been placed in
- the public domain.
-
- No Warranty
-
- Because SAX is released to the public domain, there is no warranty for the
- design or for the software implementation, to the extent permitted by
- applicable law. Except when otherwise stated in writing the copyright holders
- and/or other parties provide SAX "as is" without warranty of any kind, either
- expressed or implied, including, but not limited to, the implied warranties
- of merchantability and fitness for a particular purpose. The entire risk as
- to the quality and performance of SAX is with you. Should SAX prove
- defective, you assume the cost of all necessary servicing, repair or
- correction.
-
- In no event unless required by applicable law or agreed to in writing will
- any copyright holder, or any other party who may modify and/or redistribute
- SAX, be liable to you for damages, including any general, special, incidental
- or consequential damages arising out of the use or inability to use SAX
- (including but not limited to loss of data or data being rendered inaccurate
- or losses sustained by you or third parties or a failure of the SAX to
- operate with any other programs), even if such holder or other party has been
- advised of the possibility of such damages.
-
- Copyright Disclaimers 
-
- This page includes statements to that effect by David Megginson, who would
- have been able to claim copyright for the original work.  SAX 1.0
-
- Version 1.0 of the Simple API for XML (SAX), created collectively by the
- membership of the XML-DEV mailing list, is hereby released into the public
- domain.
-
- No one owns SAX: you may use it freely in both commercial and non-commercial
- applications, bundle it with your software distribution, include it on a
- CD-ROM, list the source code in a book, mirror the documentation at your own
- web site, or use it in any other way you see fit.
-
- David Megginson, sax@megginson.com
- 1998-05-11
-
- SAX 2.0 
-
- I hereby abandon any property rights to SAX 2.0 (the Simple API for XML), and
- release all of the SAX 2.0 source code, compiled code, and documentation
- contained in this distribution into the Public Domain. SAX comes with NO
- WARRANTY or guarantee of fitness for any purpose.
-
- David Megginson, david@megginson.com
- 2000-05-05
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to SoftFloat version 2b, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8 on Linux/ARM.
-
---- begin of LICENSE ---
-
-Use of any of this software is governed by the terms of the license below:
-
-SoftFloat was written by me, John R. Hauser. This work was made possible in 
-part by the International Computer Science Institute, located at Suite 600, 
-1947 Center Street, Berkeley, California 94704. Funding was partially 
-provided by the National Science Foundation under grant MIP-9311980. The 
-original version of this code was written as part of a project to build 
-a fixed-point vector processor in collaboration with the University of 
-California at Berkeley, overseen by Profs. Nelson Morgan and John Wawrzynek. 
-
-THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort 
-has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT 
-TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO 
-PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL 
-LOSSES, COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO 
-FURTHERMORE EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER 
-SCIENCE INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, 
-COSTS, OR OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE 
-SOFTWARE. 
-
-Derivative works are acceptable, even for commercial purposes, provided 
-that the minimal documentation requirements stated in the source code are 
-satisfied. 
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Sparkle 1.5,
-which may be included with JRE 8 on Mac OS X.
-
---- begin of LICENSE ---
-
-Copyright (c) 2012 Sparkle.org and Andy Matuschak
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% Portions licensed from Taligent, Inc.
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Thai Dictionary, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Copyright (C) 1982 The Royal Institute, Thai Royal Government.
-
-Copyright (C) 1998 National Electronics and Computer Technology Center,
-National Science and Technology Development Agency,
-Ministry of Science Technology and Environment,
-Thai Royal Government.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Unicode 6.2.0 & CLDR 21.0.1
-which may be included with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-Unicode Terms of Use
-
-For the general privacy policy governing access to this site, see the Unicode
-Privacy Policy. For trademark usage, see the Unicode® Consortium Name and
-Trademark Usage Policy.
-
-A. Unicode Copyright.
-   1. Copyright © 1991-2013 Unicode, Inc. All rights reserved.
-
-   2. Certain documents and files on this website contain a legend indicating
-      that "Modification is permitted." Any person is hereby authorized,
-      without fee, to modify such documents and files to create derivative
-      works conforming to the Unicode® Standard, subject to Terms and
-      Conditions herein.
-
-    3. Any person is hereby authorized, without fee, to view, use, reproduce,
-       and distribute all documents and files solely for informational
-       purposes in the creation of products supporting the Unicode Standard,
-       subject to the Terms and Conditions herein.
-
-    4. Further specifications of rights and restrictions pertaining to the use
-       of the particular set of data files known as the "Unicode Character
-       Database" can be found in Exhibit 1.
-
-    5. Each version of the Unicode Standard has further specifications of
-       rights and restrictions of use. For the book editions (Unicode 5.0 and
-       earlier), these are found on the back of the title page. The online
-       code charts carry specific restrictions. All other files, including
-       online documentation of the core specification for Unicode 6.0 and
-       later, are covered under these general Terms of Use.
-
-    6. No license is granted to "mirror" the Unicode website where a fee is
-       charged for access to the "mirror" site.
-
-    7. Modification is not permitted with respect to this document. All copies
-       of this document must be verbatim.
-
-B. Restricted Rights Legend. Any technical data or software which is licensed
-   to the United States of America, its agencies and/or instrumentalities
-   under this Agreement is commercial technical data or commercial computer
-   software developed exclusively at private expense as defined in FAR 2.101,
-   or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use,
-   duplication, or disclosure by the Government is subject to restrictions as
-   set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov
-   1995) and this Agreement. For Software, in accordance with FAR 12-212 or
-   DFARS 227-7202, as applicable, use, duplication or disclosure by the
-   Government is subject to the restrictions set forth in this Agreement.
-
-C. Warranties and Disclaimers.
-   1. This publication and/or website may include technical or typographical
-      errors or other inaccuracies . Changes are periodically added to the
-      information herein; these changes will be incorporated in new editions
-      of the publication and/or website. Unicode may make improvements and/or
-      changes in the product(s) and/or program(s) described in this
-      publication and/or website at any time.
-
-    2. If this file has been purchased on magnetic or optical media from
-       Unicode, Inc. the sole and exclusive remedy for any claim will be
-       exchange of the defective media within ninety (90) days of original
-       purchase.
-
-    3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR SOFTWARE IS
-       PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED,
-       OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF
-       MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
-       UNICODE AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR
-       OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH
-       ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE.
-
-D. Waiver of Damages. In no event shall Unicode or its licensors be liable for
-   any special, incidental, indirect or consequential damages of any kind, or
-   any damages whatsoever, whether or not Unicode was advised of the
-   possibility of the damage, including, without limitation, those resulting
-   from the following: loss of use, data or profits, in connection with the
-   use, modification or distribution of this information or its derivatives.
-
-E.Trademarks & Logos.
-   1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode,
-      Inc.  “The Unicode Consortium” and “Unicode, Inc.” are trade names of
-      Unicode, Inc.  Use of the information and materials found on this
-      website indicates your acknowledgement of Unicode, Inc.’s exclusive
-      worldwide rights in the Unicode Word Mark, the Unicode Logo, and the
-      Unicode trade names.
-
-   2. The Unicode Consortium Name and Trademark Usage Policy (“Trademark
-      Policy”) are incorporated herein by reference and you agree to abide by
-      the provisions of the Trademark Policy, which may be changed from time
-      to time in the sole discretion of Unicode, Inc.
-
-   3. All third party trademarks referenced herein are the property of their
-      respective owners.
-
-Miscellaneous.
-   1. Jurisdiction and Venue. This server is operated from a location in the
-      State of California, United States of America. Unicode makes no
-      representation that the materials are appropriate for use in other
-      locations. If you access this server from other locations, you are
-      responsible for compliance with local laws. This Agreement, all use of
-      this site and any claims and damages resulting from use of this site are
-      governed solely by the laws of the State of California without regard to
-      any principles which would apply the laws of a different jurisdiction.
-      The user agrees that any disputes regarding this site shall be resolved
-      solely in the courts located in Santa Clara County, California. The user
-      agrees said courts have personal jurisdiction and agree to waive any
-      right to transfer the dispute to any other forum.
-
-   2. Modification by Unicode.  Unicode shall have the right to modify this
-      Agreement at any time by posting it to this site. The user may not
-      assign any part of this Agreement without Unicode’s prior written
-      consent.
-
-   3. Taxes. The user agrees to pay any taxes arising from access to this
-      website or use of the information herein, except for those based on
-      Unicode’s net income.
-
-   4. Severability.  If any provision of this Agreement is declared invalid or
-      unenforceable, the remaining provisions of this Agreement shall remain
-      in effect.
-
-   5. Entire Agreement. This Agreement constitutes the entire agreement
-      between the parties.
-
-EXHIBIT 1
-UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
-
-Unicode Data Files include all data files under the directories
-http://www.unicode.org/Public/, http://www.unicode.org/reports/, and
-http://www.unicode.org/cldr/data/. Unicode Data Files do not include PDF
-online code charts under the directory http://www.unicode.org/Public/.
-Software includes any source code published in the Unicode Standard or under
-the directories http://www.unicode.org/Public/,
-http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/.
-
-NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING,
-INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA
-FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO
-BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT
-AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR
-SOFTWARE.
-
-COPYRIGHT AND PERMISSION NOTICE
-
-Copyright © 1991-2012 Unicode, Inc. All rights reserved. Distributed under the
-Terms of Use in http://www.unicode.org/copyright.html.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of the Unicode data files and any associated documentation (the "Data Files")
-or Unicode software and any associated documentation (the "Software") to deal
-in the Data Files or Software without restriction, including without
-limitation the rights to use, copy, modify, merge, publish, distribute, and/or
-sell copies of the Data Files or Software, and to permit persons to whom the
-Data Files or Software are furnished to do so, provided that (a) the above
-copyright notice(s) and this permission notice appear with all copies of the
-Data Files or Software, (b) both the above copyright notice(s) and this
-permission notice appear in associated documentation, and (c) there is clear
-notice in each modified Data File or in the Software as well as in the
-documentation associated with the Data File(s) or Software that the data or
-software has been modified.
-
-THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
-KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD
-PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
-THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
-DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE
-DATA FILES OR SOFTWARE.
-
-Except as contained in this notice, the name of a copyright holder shall not
-be used in advertising or otherwise to promote the sale, use or other dealings
-in these Data Files or Software without prior written authorization of the
-copyright holder.
-
-Unicode and the Unicode logo are trademarks of Unicode, Inc. in the United
-States and other countries. All third party trademarks referenced herein are
-the property of their respective owners.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to UPX v3.01, which may be included 
-with JRE 8 on Windows.
-
---- begin of LICENSE ---
-
-Use of any of this software is governed by the terms of the license below:
-
-
-                 ooooo     ooo ooooooooo.   ooooooo  ooooo
-                 `888'     `8' `888   `Y88.  `8888    d8'
-                  888       8   888   .d88'    Y888..8P
-                  888       8   888ooo88P'      `8888'
-                  888       8   888            .8PY888.
-                  `88.    .8'   888           d8'  `888b
-                    `YbodP'    o888o        o888o  o88888o
-
-
-                    The Ultimate Packer for eXecutables
-          Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar
-               http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
-                          http://www.nexus.hu/upx
-                            http://upx.tsx.org
-
-
-PLEASE CAREFULLY READ THIS LICENSE AGREEMENT, ESPECIALLY IF YOU PLAN
-TO MODIFY THE UPX SOURCE CODE OR USE A MODIFIED UPX VERSION.
-
-
-ABSTRACT
-========
-
-   UPX and UCL are copyrighted software distributed under the terms
-   of the GNU General Public License (hereinafter the "GPL").
-
-   The stub which is imbedded in each UPX compressed program is part
-   of UPX and UCL, and contains code that is under our copyright. The
-   terms of the GNU General Public License still apply as compressing
-   a program is a special form of linking with our stub.
-
-   As a special exception we grant the free usage of UPX for all
-   executables, including commercial programs.
-   See below for details and restrictions.
-
-
-COPYRIGHT
-=========
-
-   UPX and UCL are copyrighted software. All rights remain with the authors.
-
-   UPX is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer
-   UPX is Copyright (C) 1996-2000 Laszlo Molnar
-
-   UCL is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer
-
-
-GNU GENERAL PUBLIC LICENSE
-==========================
-
-   UPX and the UCL library are free software; you can redistribute them
-   and/or modify them under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of
-   the License, or (at your option) any later version.
-
-   UPX and UCL are distributed in the hope that they 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 for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; see the file COPYING.
-
-
-SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES
-============================================
-
-   The stub which is imbedded in each UPX compressed program is part
-   of UPX and UCL, and contains code that is under our copyright. The
-   terms of the GNU General Public License still apply as compressing
-   a program is a special form of linking with our stub.
-
-   Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special
-   permission to freely use and distribute all UPX compressed programs
-   (including commercial ones), subject to the following restrictions:
-
-   1. You must compress your program with a completely unmodified UPX
-      version; either with our precompiled version, or (at your option)
-      with a self compiled version of the unmodified UPX sources as
-      distributed by us.
-   2. This also implies that the UPX stub must be completely unmodfied, i.e.
-      the stub imbedded in your compressed program must be byte-identical
-      to the stub that is produced by the official unmodified UPX version.
-   3. The decompressor and any other code from the stub must exclusively get
-      used by the unmodified UPX stub for decompressing your program at
-      program startup. No portion of the stub may get read, copied,
-      called or otherwise get used or accessed by your program.
-
-
-ANNOTATIONS
-===========
-
-  - You can use a modified UPX version or modified UPX stub only for
-    programs that are compatible with the GNU General Public License.
-
-  - We grant you special permission to freely use and distribute all UPX
-    compressed programs. But any modification of the UPX stub (such as,
-    but not limited to, removing our copyright string or making your
-    program non-decompressible) will immediately revoke your right to
-    use and distribute a UPX compressed program.
-
-  - UPX is not a software protection tool; by requiring that you use
-    the unmodified UPX version for your proprietary programs we
-    make sure that any user can decompress your program. This protects
-    both you and your users as nobody can hide malicious code -
-    any program that cannot be decompressed is highly suspicious
-    by definition.
-
-  - You can integrate all or part of UPX and UCL into projects that
-    are compatible with the GNU GPL, but obviously you cannot grant
-    any special exceptions beyond the GPL for our code in your project.
-
-  - We want to actively support manufacturers of virus scanners and
-    similar security software. Please contact us if you would like to
-    incorporate parts of UPX or UCL into such a product.
-
-
-
-Markus F.X.J. Oberhumer                   Laszlo Molnar
-markus.oberhumer@jk.uni-linz.ac.at        ml1050@cdata.tvnet.hu
-
-Linz, Austria, 25 Feb 2000
-
-Additional License(s)
-
-The UPX license file is at http://upx.sourceforge.net/upx-license.html.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to Xfree86-VidMode Extension 1.0,
-which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
-
---- begin of LICENSE ---
-
-Version 1.1 of XFree86 ProjectLicence.
-
-Copyright (C) 1994-2004 The XFree86 Project, Inc.    All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicence, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so,subject to the following conditions:
-
-   1. Redistributions of source code must retain the above copyright
-   notice,this list of conditions, and the following disclaimer.
-
-   2. Redistributions in binary form must reproduce the above copyright notice,
-   this list of conditions and the following disclaimer in the documentation
-   and/or other materials provided with the distribution, and in the same place
-   and form as other copyright, license and disclaimer information.
-
-   3. The end-user documentation included with the redistribution, if any,must
-   include the following acknowledgment: "This product includes
-   software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and
-   its contributors", in the same place and form as other third-party
-   acknowledgments. Alternately, this acknowledgment may appear in the software
-   itself, in the same form and location as other such third-party
-   acknowledgments.
-
-    4. Except as contained in this notice, the name of The XFree86 Project,Inc
-    shall not be used in advertising or otherwise to promote the sale, use
-    or other dealings in this Software without prior written authorization from
-    The XFree86 Project, Inc.
-
-    THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-    WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-    EVENT SHALL THE XFREE86 PROJECT, INC OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-    DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-    DAMAGE.  
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to X Window System 6.8.2, which may be 
-included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris.
-
---- begin of LICENSE ---
-
-          Licenses
-The X.Org Foundation March 2004
-
-1. Introduction
-
-The X.org Foundation X Window System distribution is a compilation of code and
-documentation from many sources. This document is intended primarily as a
-guide to the licenses used in the distribution: you must check each file
-and/or package for precise redistribution terms. None-the-less, this summary
-may be useful to many users. No software incorporating the XFree86 1.1 license
-has been incorporated.
-
-This document is based on the compilation from XFree86.
-
-2. XFree86 License
-
-XFree86 code without an explicit copyright is covered by the following
-copyright/license:
-
-Copyright (C) 1994-2003 The XFree86 Project, Inc. All Rights Reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
-IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of the XFree86 Project shall not
-be used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from the XFree86 Project.
-
-3. Other Licenses
-
-Portions of code are covered by the following licenses/copyrights. See
-individual files for the copyright dates.
-
-3.1. X/MIT Copyrights
-
-3.1.1. X Consortium
-
-Copyright (C) <date> X Consortium
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X
-CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of the X Consortium shall not be
-used in advertising or otherwise to promote the sale, use or other dealings in
-this Software without prior written authorization from the X Consortium.
-
-X Window System is a trademark of X Consortium, Inc.
-
-3.1.2. The Open Group
-
-Copyright <date> The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that the
-above copyright notice appear in all copies and that both that copyright
-notice and this permission notice appear in supporting documentation.
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings in
-this Software without prior written authorization from The Open Group.  3.2.
-Berkeley-based copyrights:
-
-o
-3.2.1. General
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-   1. Redistributions of source code must retain the above copyright notice,
-   this list of conditions and the following disclaimer.
-
-   2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-   3. The name of the author may not be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.  3.2.2. UCB/LBL
-
-Copyright (c) 1993 The Regents of the University of California. All rights
-reserved.
-
-This software was developed by the Computer Systems Engineering group at
-Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and contributed to
-Berkeley.
-
-All advertising materials mentioning features or use of this software must
-display the following acknowledgement: This product includes software
-developed by the University of California, Lawrence Berkeley Laboratory.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-   1. Redistributions of source code must retain the above copyright notice,
-   this list of conditions and the following disclaimer.
-
-   2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-   3. All advertising materials mentioning features or use of this software
-   must display the following acknowledgement: This product includes software
-   developed by the University of California, Berkeley and its contributors.
-
-   4. Neither the name of the University nor the names of its contributors may
-   be used to endorse or promote products derived from this software without
-   specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
-EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  3.2.3. The
-NetBSD Foundation, Inc.
-
-Copyright (c) 2003 The NetBSD Foundation, Inc. All rights reserved.
-
-This code is derived from software contributed to The NetBSD Foundation by Ben
-Collver <collver1@attbi.com>
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-   1. Redistributions of source code must retain the above copyright notice,
-   this list of conditions and the following disclaimer.
-
-   2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-   3. All advertising materials mentioning features or use of this software
-   must display the following acknowledgement: This product includes software
-   developed by the NetBSD Foundation, Inc. and its contributors.
-
-   4. Neither the name of The NetBSD Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from this
-   software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS ``AS
-IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  3.2.4. Theodore
-Ts'o.
-
-Copyright Theodore Ts'o, 1994, 1995, 1996, 1997, 1998, 1999. All rights
-reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-   1. Redistributions of source code must retain the above copyright notice,
-   and the entire permission notice in its entirety, including the disclaimer
-   of warranties.
-
-   2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-   3. he name of the author may not be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE, ALL OF WHICH ARE HEREBY DISCLAIMED. IN NO
-EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.  3.2.5. Theo de Raadt and Damien Miller
-
-Copyright (c) 1995,1999 Theo de Raadt. All rights reserved. Copyright (c)
-2001-2002 Damien Miller. All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-   1. Redistributions of source code must retain the above copyright notice,
-   this list of conditions and the following disclaimer.
-
-   2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.  3.2.6. Todd C. Miller
-
-Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
-
-Permission to use, copy, modify, and distribute this software for any purpose
-with or without fee is hereby granted, provided that the above copyright
-notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
-OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.  3.2.7. Thomas
-Winischhofer
-
-Copyright (C) 2001-2004 Thomas Winischhofer
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-   1. Redistributions of source code must retain the above copyright notice,
-   this list of conditions and the following disclaimer.
-
-   2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-   3. The name of the author may not be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
-BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
-IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.  3.3. NVIDIA Corp
-
-Copyright (c) 1996 NVIDIA, Corp. All rights reserved.
-
-NOTICE TO USER: The source code is copyrighted under U.S. and international
-laws. NVIDIA, Corp. of Sunnyvale, California owns the copyright and as design
-patents pending on the design and interface of the NV chips. Users and
-possessors of this source code are hereby granted a nonexclusive, royalty-free
-copyright and design patent license to use this code in individual and
-commercial software.
-
-Any use of this source code must include, in the user documentation and
-internal comments to the code, notices to the end user as follows:
-
-Copyright (c) 1996 NVIDIA, Corp. NVIDIA design patents pending in the U.S. and
-foreign countries.
-
-NVIDIA, CORP. MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE
-CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED
-WARRANTY OF ANY KIND. NVIDIA, CORP. DISCLAIMS ALL WARRANTIES WITH REGARD TO
-THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA, CORP. BE LIABLE
-FOR ANY SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
-DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.  3.4. GLX Public
-License
-
-GLX PUBLIC LICENSE (Version 1.0 (2/11/99)) ("License")
-
-Subject to any third party claims, Silicon Graphics, Inc. ("SGI") hereby
-grants permission to Recipient (defined below), under Recipient's copyrights
-in the Original Software (defined below), to use, copy, modify, merge,
-publish, distribute, sublicense and/or sell copies of Subject Software
-(defined below), and to permit persons to whom the Subject Software is
-furnished in accordance with this License to do the same, subject to all of
-the following terms and conditions, which Recipient accepts by engaging in any
-such use, copying, modifying, merging, publishing, distributing, sublicensing
-or selling:
-
-1. Definitions.
-
-    (a) "Original Software" means source code of computer software code which
-    is described in Exhibit A as Original Software.
-
-    (b) "Modifications" means any addition to or deletion from the substance
-    or structure of either the Original Software or any previous
-    Modifications. When Subject Software is released as a series of files, a
-    Modification means (i) any addition to or deletion from the contents of a
-    file containing Original Software or previous Modifications and (ii) any
-    new file that contains any part of the Original Code or previous
-    Modifications.
-
-    (c) "Subject Software" means the Original Software or Modifications or the
-    combination of the Original Software and Modifications, or portions of any
-    of the foregoing.
-
-    (d) "Recipient" means an individual or a legal entity exercising rights
-    under, and complying with all of the terms of, this License. For legal
-    entities, "Recipient" includes any entity which controls, is controlled
-    by, or is under common control with Recipient. For purposes of this
-    definition, "control" of an entity means (a) the power, direct or
-    indirect, to direct or manage such entity, or (b) ownership of fifty
-    percent (50%) or more of the outstanding shares or beneficial ownership of
-    such entity.
-
-2. Redistribution of Source Code Subject to These Terms. Redistributions of
-Subject Software in source code form must retain the notice set forth in
-Exhibit A, below, in every file. A copy of this License must be included in
-any documentation for such Subject Software where the recipients' rights
-relating to Subject Software are described. Recipient may distribute the
-source code version of Subject Software under a license of Recipient's choice,
-which may contain terms different from this License, provided that (i)
-Recipient is in compliance with the terms of this License, and (ii) the
-license terms include this Section 2 and Sections 3, 4, 7, 8, 10, 12 and 13 of
-this License, which terms may not be modified or superseded by any other terms
-of such license. If Recipient distributes the source code version under a
-different license Recipient must make it absolutely clear that any terms which
-differ from this License are offered by Recipient alone, not by SGI. Recipient
-hereby agrees to indemnify SGI for any liability incurred by SGI as a result
-of any such terms Recipient offers.
-
-3. Redistribution in Executable Form. The notice set forth in Exhibit A must
-be conspicuously included in any notice in an executable version of Subject
-Software, related documentation or collateral in which Recipient describes the
-user's rights relating to the Subject Software. Recipient may distribute the
-executable version of Subject Software under a license of Recipient's choice,
-which may contain terms different from this License, provided that (i)
-Recipient is in compliance with the terms of this License, and (ii) the
-license terms include this Section 3 and Sections 4, 7, 8, 10, 12 and 13 of
-this License, which terms may not be modified or superseded by any other terms
-of such license. If Recipient distributes the executable version under a
-different license Recipient must make it absolutely clear that any terms which
-differ from this License are offered by Recipient alone, not by SGI. Recipient
-hereby agrees to indemnify SGI for any liability incurred by SGI as a result
-of any such terms Recipient offers.
-
-4. Termination. This License and the rights granted hereunder will terminate
-automatically if Recipient fails to comply with terms herein and fails to cure
-such breach within 30 days of the breach. Any sublicense to the Subject
-Software which is properly granted shall survive any termination of this
-License absent termination by the terms of such sublicense. Provisions which,
-by their nature, must remain in effect beyond the termination of this License
-shall survive.
-
-5. No Trademark Rights. This License does not grant any rights to use any
-trade name, trademark or service mark whatsoever. No trade name, trademark or
-service mark of SGI may be used to endorse or promote products derived from
-the Subject Software without prior written permission of SGI.
-
-6. No Other Rights. This License does not grant any rights with respect to the
-OpenGL API or to any software or hardware implementation thereof or to any
-other software whatsoever, nor shall any other rights or licenses not
-expressly granted hereunder arise by implication, estoppel or otherwise with
-respect to the Subject Software. Title to and ownership of the Original
-Software at all times remains with SGI. All rights in the Original Software
-not expressly granted under this License are reserved.
-
-7. Compliance with Laws; Non-Infringement. Recipient shall comply with all
-applicable laws and regulations in connection with use and distribution of the
-Subject Software, including but not limited to, all export and import control
-laws and regulations of the U.S. government and other countries. Recipient may
-not distribute Subject Software that (i) in any way infringes (directly or
-contributorily) the rights (including patent, copyright, trade secret,
-trademark or other intellectual property rights of any kind) of any other
-person or entity or (ii) breaches any representation or warranty, express,
-implied or statutory, which under any applicable law it might be deemed to
-have been distributed.
-
-8. Claims of Infringement. If Recipient at any time has knowledge of any one
-or more third party claims that reproduction, modification, use, distribution,
-import or sale of Subject Software (including particular functionality or code
-incorporated in Subject Software) infringes the third party's intellectual
-property rights, Recipient must place in a well-identified web page bearing
-the title "LEGAL" a description of each such claim and a description of the
-party making each such claim in sufficient detail that a user of the Subject
-Software will know whom to contact regarding the claim. Also, upon gaining
-such knowledge of any such claim, Recipient must conspicuously include the URL
-for such web page in the Exhibit A notice required under Sections 2 and 3,
-above, and in the text of any related documentation, license agreement or
-collateral in which Recipient describes end user's rights relating to the
-Subject Software. If Recipient obtains such knowledge after it makes Subject
-Software available to any other person or entity, Recipient shall take other
-steps (such as notifying appropriate mailing lists or newsgroups) reasonably
-calculated to inform those who received the Subject Software that new
-knowledge has been obtained.
-
-9. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
-WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
-LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS,
-MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON- INFRINGING. SGI ASSUMES NO
-RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE
-PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY
-SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
-ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED
-HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-10. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY,
-WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY),
-CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY
-DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
-CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK
-STOPPAGE, LOSS OF DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF
-THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY
-TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SGI's NEGLIGENCE TO
-THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT
-ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
-THAT EXCLUSION AND LIMITATION MAY NOT APPLY TO RECIPIENT.
-
-11. Indemnity. Recipient shall be solely responsible for damages arising,
-directly or indirectly, out of its utilization of rights under this License.
-Recipient will defend, indemnify and hold harmless Silicon Graphics, Inc. from
-and against any loss, liability, damages, costs or expenses (including the
-payment of reasonable attorneys fees) arising out of Recipient's use,
-modification, reproduction and distribution of the Subject Software or out of
-any representation or warranty made by Recipient.
-
-12. U.S. Government End Users. The Subject Software is a "commercial item"
-consisting of "commercial computer software" as such terms are defined in
-title 48 of the Code of Federal Regulations and all U.S. Government End Users
-acquire only the rights set forth in this License and are subject to the terms
-of this License.
-
-13. Miscellaneous. This License represents the complete agreement concerning
-subject matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed so as to achieve as nearly as
-possible the same economic effect as the original provision and the remainder
-of this License will remain in effect. This License shall be governed by and
-construed in accordance with the laws of the United States and the State of
-California as applied to agreements entered into and to be performed entirely
-within California between California residents. Any litigation relating to
-this License shall be subject to the exclusive jurisdiction of the Federal
-Courts of the Northern District of California (or, absent subject matter
-jurisdiction in such courts, the courts of the State of California), with
-venue lying exclusively in Santa Clara County, California, with the losing
-party responsible for costs, including without limitation, court costs and
-reasonable attorneys fees and expenses. The application of the United Nations
-Convention on Contracts for the International Sale of Goods is expressly
-excluded. Any law or regulation which provides that the language of a contract
-shall be construed against the drafter shall not apply to this License.
-
-Exhibit A
-
-The contents of this file are subject to Sections 2, 3, 4, 7, 8, 10, 12 and 13
-of the GLX Public License Version 1.0 (the "License"). You may not use this
-file except in compliance with those sections of the License. You may obtain a
-copy of the License at Silicon Graphics, Inc., attn: Legal Services, 2011 N.
-Shoreline Blvd., Mountain View, CA 94043 or at
-http://www.sgi.com/software/opensource/glx/license.html.
-
-Software distributed under the License is distributed on an "AS IS" basis. ALL
-WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
-WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF NON-
-INFRINGEMENT. See the License for the specific language governing rights and
-limitations under the License.
-
-The Original Software is GLX version 1.2 source code, released February, 1999.
-The developer of the Original Software is Silicon Graphics, Inc. Those
-portions of the Subject Software created by Silicon Graphics, Inc. are
-Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.  3.5. CID
-Font Code Public License
-
-CID FONT CODE PUBLIC LICENSE (Version 1.0 (3/31/99))("License")
-
-Subject to any applicable third party claims, Silicon Graphics, Inc. ("SGI")
-hereby grants permission to Recipient (defined below), under SGI's copyrights
-in the Original Software (defined below), to use, copy, modify, merge,
-publish, distribute, sublicense and/or sell copies of Subject Software
-(defined below) in both source code and executable form, and to permit persons
-to whom the Subject Software is furnished in accordance with this License to
-do the same, subject to all of the following terms and conditions, which
-Recipient accepts by engaging in any such use, copying, modifying, merging,
-publication, distributing, sublicensing or selling:
-
-1. Definitions.
-
-    a. "Original Software" means source code of computer software code that is
-    described in Exhibit A as Original Software.
-
-    b. "Modifications" means any addition to or deletion from the substance or
-    structure of either the Original Software or any previous Modifications.
-    When Subject Software is released as a series of files, a Modification
-    means (i) any addition to or deletion from the contents of a file
-    containing Original Software or previous Modifications and (ii) any new
-    file that contains any part of the Original Code or previous
-    Modifications.
-
-    c. "Subject Software" means the Original Software or Modifications or the
-    combination of the Original Software and Modifications, or portions of any
-    of the foregoing.
-
-    d. "Recipient" means an individual or a legal entity exercising rights
-    under the terms of this License. For legal entities, "Recipient" includes
-    any entity that controls, is controlled by, or is under common control
-    with Recipient. For purposes of this definition, "control" of an entity
-    means (i) the power, direct or indirect, to direct or manage such entity,
-    or (ii) ownership of fifty percent (50%) or more of the outstanding shares
-    or beneficial ownership of such entity.
-
-    e. "Required Notice" means the notice set forth in Exhibit A to this
-    License.
-
-    f. "Accompanying Technology" means any software or other technology that
-    is not a Modification and that is distributed or made publicly available
-    by Recipient with the Subject Software. Separate software files that do
-    not contain any Original Software or any previous Modification shall not
-    be deemed a Modification, even if such software files are aggregated as
-    part of a product, or in any medium of storage, with any file that does
-    contain Original Software or any previous Modification.
-
-2. License Terms. All distribution of the Subject Software must be made
-subject to the terms of this License. A copy of this License and the Required
-Notice must be included in any documentation for Subject Software where
-Recipient's rights relating to Subject Software and/or any Accompanying
-Technology are described. Distributions of Subject Software in source code
-form must also include the Required Notice in every file distributed. In
-addition, a ReadMe file entitled "Important Legal Notice" must be distributed
-with each distribution of one or more files that incorporate Subject Software.
-That file must be included with distributions made in both source code and
-executable form. A copy of the License and the Required Notice must be
-included in that file. Recipient may distribute Accompanying Technology under
-a license of Recipient's choice, which may contain terms different from this
-License, provided that (i) Recipient is in compliance with the terms of this
-License, (ii) such other license terms do not modify or supersede the terms of
-this License as applicable to the Subject Software, (iii) Recipient hereby
-indemnifies SGI for any liability incurred by SGI as a result of the
-distribution of Accompanying Technology or the use of other license terms.
-
-3. Termination. This License and the rights granted hereunder will terminate
-automatically if Recipient fails to comply with terms herein and fails to cure
-such breach within 30 days of the breach. Any sublicense to the Subject
-Software that is properly granted shall survive any termination of this
-License absent termination by the terms of such sublicense. Provisions which,
-by their nature, must remain in effect beyond the termination of this License
-shall survive.
-
-4. Trademark Rights. This License does not grant any rights to use any trade
-name, trademark or service mark whatsoever. No trade name, trademark or
-service mark of SGI may be used to endorse or promote products derived from or
-incorporating any Subject Software without prior written permission of SGI.
-
-5. No Other Rights. No rights or licenses not expressly granted hereunder
-shall arise by implication, estoppel or otherwise. Title to and ownership of
-the Original Software at all times remains with SGI. All rights in the
-Original Software not expressly granted under this License are reserved.
-
-6. Compliance with Laws; Non-Infringement. Recipient shall comply with all
-applicable laws and regulations in connection with use and distribution of the
-Subject Software, including but not limited to, all export and import control
-laws and regulations of the U.S. government and other countries. Recipient may
-not distribute Subject Software that (i) in any way infringes (directly or
-contributorily) the rights (including patent, copyright, trade secret,
-trademark or other intellectual property rights of any kind) of any other
-person or entity, or (ii) breaches any representation or warranty, express,
-implied or statutory, which under any applicable law it might be deemed to
-have been distributed.
-
-7. Claims of Infringement. If Recipient at any time has knowledge of any one
-or more third party claims that reproduction, modification, use, distribution,
-import or sale of Subject Software (including particular functionality or code
-incorporated in Subject Software) infringes the third party's intellectual
-property rights, Recipient must place in a well-identified web page bearing
-the title "LEGAL" a description of each such claim and a description of the
-party making each such claim in sufficient detail that a user of the Subject
-Software will know whom to contact regarding the claim. Also, upon gaining
-such knowledge of any such claim, Recipient must conspicuously include the URL
-for such web page in the Required Notice, and in the text of any related
-documentation, license agreement or collateral in which Recipient describes
-end user's rights relating to the Subject Software. If Recipient obtains such
-knowledge after it makes Subject Software available to any other person or
-entity, Recipient shall take other steps (such as notifying appropriate
-mailing lists or newsgroups) reasonably calculated to provide such knowledge
-to those who received the Subject Software.
-
-8. DISCLAIMER OF WARRANTY. SUBJECT SOFTWARE IS PROVIDED ON AN "AS IS" BASIS,
-WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT
-LIMITATION, WARRANTIES THAT THE SUBJECT SOFTWARE IS FREE OF DEFECTS,
-MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. SGI ASSUMES NO
-RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. SHOULD ANY SOFTWARE
-PROVE DEFECTIVE IN ANY RESPECT, SGI ASSUMES NO COST OR LIABILITY FOR ANY
-SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN
-ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY SUBJECT SOFTWARE IS AUTHORIZED
-HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY,
-WHETHER TORT (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE OR STRICT LIABILITY),
-CONTRACT, OR OTHERWISE, SHALL SGI OR ANY SGI LICENSOR BE LIABLE FOR ANY CLAIM,
-DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SUBJECT SOFTWARE OR
-THE USE OR OTHER DEALINGS IN THE SUBJECT SOFTWARE. SOME JURISDICTIONS DO NOT
-ALLOW THE EXCLUSION OR LIMITATION OF CERTAIN DAMAGES, SO THIS EXCLUSION AND
-LIMITATION MAY NOT APPLY TO RECIPIENT TO THE EXTENT SO DISALLOWED.
-
-10. Indemnity. Recipient shall be solely responsible for damages arising,
-directly or indirectly, out of its utilization of rights under this License.
-Recipient will defend, indemnify and hold SGI and its successors and assigns
-harmless from and against any loss, liability, damages, costs or expenses
-(including the payment of reasonable attorneys fees) arising out of
-(Recipient's use, modification, reproduction and distribution of the Subject
-Software or out of any representation or warranty made by Recipient.
-
-11. U.S. Government End Users. The Subject Software is a "commercial item"
-consisting of "commercial computer software" as such terms are defined in
-title 48 of the Code of Federal Regulations and all U.S. Government End Users
-acquire only the rights set forth in this License and are subject to the terms
-of this License.
-
-12. Miscellaneous. This License represents the complete agreement concerning
-subject matter hereof. If any provision of this License is held to be
-unenforceable by any judicial or administrative authority having proper
-jurisdiction with respect thereto, such provision shall be reformed so as to
-achieve as nearly as possible the same economic effect as the original
-provision and the remainder of this License will remain in effect. This
-License shall be governed by and construed in accordance with the laws of the
-United States and the State of California as applied to agreements entered
-into and to be performed entirely within California between California
-residents. Any litigation relating to this License shall be subject to the
-exclusive jurisdiction of the Federal Courts of the Northern District of
-California (or, absent subject matter jurisdiction in such courts, the courts
-of the State of California), with venue lying exclusively in Santa Clara
-County, California, with the losing party responsible for costs, including
-without limitation, court costs and reasonable attorneys fees and expenses.
-The application of the United Nations Convention on Contracts for the
-International Sale of Goods is expressly excluded. Any law or regulation that
-provides that the language of a contract shall be construed against the
-drafter shall not apply to this License.
-
-Exhibit A
-
-Copyright (c) 1994-1999 Silicon Graphics, Inc.
-
-The contents of this file are subject to the CID Font Code Public License
-Version 1.0 (the "License"). You may not use this file except in compliance
-with the License. You may obtain a copy of the License at Silicon Graphics,
-Inc., attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
-or at http://www.sgi.com/software/opensource/cid/license.html
-
-Software distributed under the License is distributed on an "AS IS" basis. ALL
-WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
-WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE OR OF
-NON-INFRINGEMENT. See the License for the specific language governing rights
-and limitations under the License.
-
-The Original Software (as defined in the License) is CID font code that was
-developed by Silicon Graphics, Inc. Those portions of the Subject Software (as
-defined in the License) that were created by Silicon Graphics, Inc. are
-Copyright (c) 1994-1999 Silicon Graphics, Inc. All Rights Reserved.
-
-[NOTE: When using this text in connection with Subject Software delivered
-solely in object code form, Recipient may replace the words "this file" with
-"this software" in both the first and second sentences.] 3.6. Bitstream Vera
-Fonts Copyright
-
-The fonts have a generous copyright, allowing derivative works (as long as
-"Bitstream" or "Vera" are not in the names), and full redistribution (so long
-as they are not *sold* by themselves). They can be be bundled, redistributed
-and sold with any software.
-
-The fonts are distributed under the following copyright:
-
-Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a
-trademark of Bitstream, Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of the fonts accompanying this license ("Fonts") and associated documentation
-files (the "Font Software"), to reproduce and distribute the Font Software,
-including without limitation the rights to use, copy, merge, publish,
-distribute, and/or sell copies of the Font Software, and to permit persons to
-whom the Font Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright and trademark notices and this permission notice shall be
-included in all copies of one or more of the Font Software typefaces.
-
-The Font Software may be modified, altered, or added to, and in particular the
-designs of glyphs or characters in the Fonts may be modified and additional
-glyphs or characters may be added to the Fonts, only if the fonts are renamed
-to names not containing either the words "Bitstream" or the word "Vera".
-
-This License becomes null and void to the extent applicable to Fonts or Font
-Software that has been modified and is distributed under the "Bitstream Vera"
-names.
-
-The Font Software may be sold as part of a larger software package but no copy
-of one or more of the Font Software typefaces may be sold by itself.
-
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
-TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION
-BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL,
-SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO
-USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
-
-Except as contained in this notice, the names of Gnome, the Gnome Foundation,
-and Bitstream Inc., shall not be used in advertising or otherwise to promote
-the sale, use or other dealings in this Font Software without prior written
-authorization from the Gnome Foundation or Bitstream Inc., respectively. For
-further information, contact: fonts at gnome dot org.  3.7. Bigelow & Holmes
-Inc and URW++ GmbH Luxi font license
-
-Luxi fonts copyright (c) 2001 by Bigelow & Holmes Inc. Luxi font instruction
-code copyright (c) 2001 by URW++ GmbH. All Rights Reserved. Luxi is a
-registered trademark of Bigelow & Holmes Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of these Fonts and associated documentation files (the "Font Software"), to
-deal in the Font Software, including without limitation the rights to use,
-copy, merge, publish, distribute, sublicense, and/or sell copies of the Font
-Software, and to permit persons to whom the Font Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright and trademark notices and this permission notice shall be
-included in all copies of one or more of the Font Software.
-
-The Font Software may not be modified, altered, or added to, and in particular
-the designs of glyphs or characters in the Fonts may not be modified nor may
-additional glyphs or characters be added to the Fonts. This License becomes
-null and void when the Fonts or Font Software have been modified.
-
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
-TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BIGELOW & HOLMES INC. OR URW++
-GMBH. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY
-GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
-INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT
-SOFTWARE.
-
-Except as contained in this notice, the names of Bigelow & Holmes Inc. and
-URW++ GmbH. shall not be used in advertising or otherwise to promote the sale,
-use or other dealings in this Font Software without prior written
-authorization from Bigelow & Holmes Inc. and URW++ GmbH.
-
-For further information, contact:
-
-info@urwpp.de or design@bigelowandholmes.com
-
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to zlib v1.2.8, which may be included 
-with JRE 8, JDK 8, and OpenJDK 8.
-
---- begin of LICENSE ---
-
-  version 1.2.8, April 28th, 2013
-
-  Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
-
-  This software is provided 'as-is', without any express or implied
-  warranty.  In no event will the authors be held liable for any damages
-  arising from the use of this software.
-
-  Permission is granted to anyone to use this software for any purpose,
-  including commercial applications, and to alter it and redistribute it
-  freely, subject to the following restrictions:
-
-  1. The origin of this software must not be misrepresented; you must not
-     claim that you wrote the original software. If you use this software
-     in a product, an acknowledgment in the product documentation would be
-     appreciated but is not required.
-  2. Altered source versions must be plainly marked as such, and must not be
-     misrepresented as being the original software.
-  3. This notice may not be removed or altered from any source distribution.
-
-  Jean-loup Gailly        Mark Adler
-  jloup@gzip.org          madler@alumni.caltech.edu
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
-%% This notice is provided with respect to the following which may be 
-included with JRE 8, JDK 8, and OpenJDK 8.
-
-  Apache Commons Math 3.2
-  Apache Derby 10.11.1.2
-  Apache Jakarta BCEL 5.1 
-  Apache Jakarta Regexp 1.4 
-  Apache Santuario XML Security for Java 1.5.4
-  Apache Xalan-Java 2.7.1 
-  Apache Xerces Java 2.10.0 
-  Apache XML Resolver 1.1 
-  Dynalink 0.5
-
-
---- begin of LICENSE ---
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
diff --git a/bin/fixwhitespace.sh b/bin/fixwhitespace.sh
deleted file mode 100644
index d327470..0000000
--- a/bin/fixwhitespace.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2010, 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.
-# 
-# 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.
-#
-
-fix() {
-    #convert tabs to spaces
-    find . -name $1 -exec sed -i "" 's/	/    /g' {} \;
-    #remove trailing whitespace
-    find . -name $1 -exec sed -i "" 's/[ 	]*$//' \{} \;
-}
-
-if [ ! -z $1 ]; then 
-    fix $1;
-else
-    fix "*.java"
-    fix "*.js"
-fi
diff --git a/bin/runopt.sh b/bin/runopt.sh
deleted file mode 100644
index 5ec9046..0000000
--- a/bin/runopt.sh
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2010, 2014, 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.
-# 
-# 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.
-#
-
-###########################################################################################
-# This is a helper script to evaluate nashorn with optimistic types
-# it produces a flight recording for every run, and uses the best 
-# known flags for performance for the current configration
-###########################################################################################
-
-# Flags to enable assertions, we need the system assertions too, since
-# this script runs Nashorn in the BCP to override any nashorn.jar that might
-# reside in your $JAVA_HOME/jre/lib/ext/nashorn.jar
-#
-ENABLE_ASSERTIONS_FLAGS="-ea -esa"
-
-# Flags to instrument lambdaform computation, caching, interpretation and compilation
-# Default compile threshold for lambdaforms is 30
-#
-#LAMBDAFORM_FLAGS="\
-#    -Djava.lang.invoke.MethodHandle.COMPILE_THRESHOLD=3 \
-#    -Djava.lang.invoke.MethodHandle.DUMP_CLASS_FILES=true \
-#    -Djava.lang.invoke.MethodHandle.TRACE_METHOD_LINKAGE=true \
-#    -Djava.lang.invoke.MethodHandle.TRACE_INTERPRETER=true"
-
-# Flags to run trusted tests from the Nashorn test suite
-#
-#TRUSTED_TEST_FLAGS="\
-#-Djava.security.manager \
-#-Djava.security.policy=../build/nashorn.policy -Dnashorn.debug"
-
-# Testing out new code optimizations using the generic hotspot "new code" parameter
-#
-#USE_NEW_CODE_FLAGS=-XX:+UnlockDiagnosticVMOptions -XX:+UseNewCode
-
-#
-#-Dnashorn.typeInfo.disabled=false \
-# and for Nashorn options: 
-# --class-cache-size=0 --persistent-code-cache=false 
-
-# Unique timestamped file name for JFR recordings. For JFR, we also have to
-# crank up the stack cutoff depth to 1024, because of ridiculously long lambda form
-# stack traces.
-#
-# It is also recommended that you go into $JAVA_HOME/jre/lib/jfr/default.jfc and
-# set the "method-sampling-interval" Normal and Maximum sample time as low as you
-# can go (10 ms on most platforms). The default is normally higher. The increased
-# sampling overhead is usually negligible for Nashorn runs, but the data is better
-
-if [ -z $JFR_FILENAME ]; then
-    JFR_FILENAME="./nashorn_$(date|sed "s/ /_/g"|sed "s/:/_/g").jfr"
-fi
-
-# Flight recorder
-#
-# see above - already in place, copy the flags down here to disable
-ENABLE_FLIGHT_RECORDER_FLAGS="\
-    -XX:+UnlockCommercialFeatures \
-    -XX:+FlightRecorder \
-    -XX:FlightRecorderOptions=defaultrecording=true,disk=true,dumponexit=true,dumponexitpath=$JFR_FILENAME,stackdepth=1024"
-
-# Type specialization and math intrinsic replacement should be enabled by default in 8u20 and nine,
-# keeping this flag around for experimental reasons. Replace + with - to switch it off
-#
-#ENABLE_TYPE_SPECIALIZATION_FLAGS=-XX:+UseTypeSpeculation
-
-# Same with math intrinsics. They should be enabled by default in 8u20 and 9, so
-# this disables them if needed
-#
-#DISABLE_MATH_INTRINSICS_FLAGS=-XX:-UseMathExactIntrinsics
-
-# Add timing to time the compilation phases.
-#ENABLE_TIME_FLAGS=--log=time
-
-# Add ShowHiddenFrames to get lambda form internals on the stack traces
-#ENABLE_SHOW_HIDDEN_FRAMES_FLAGS=-XX:+ShowHiddenFrames
-
-# Add print optoassembly to get an asm dump. This requires 1) a debug build, not product,
-# That tired compilation is switched off, for C2 only output and that the number of
-# compiler threads is set to 1 for determinsm.
-#
-#PRINT_ASM_FLAGS=-XX:+PrintOptoAssembly -XX:-TieredCompilation -XX:CICompilerCount=1 \
-
-# Tier compile threasholds. Default value is 10. (1-100 is useful for experiments)
-#TIER_COMPILATION_THRESHOLD_FLAGS=-XX:IncreaseFirstTierCompileThresholdAt=10
-
-# Directory where to look for nashorn.jar in a dist folder. The default is "..", assuming
-# that we run the script from the make dir
-DIR=..
-NASHORN_JAR=$DIR/dist/nashorn.jar
-
-
-# The built Nashorn jar is placed first in the bootclasspath to override the JDK
-# nashorn.jar in $JAVA_HOME/jre/lib/ext. Thus, we also need -esa, as assertions in
-# nashorn count as system assertions in this configuration
-
-# Type profiling default level is 111, 222 adds some compile time, but is faster
-
-$JAVA_HOME/bin/java \
-$ENABLE_ASSERTIONS_FLAGS \
-$LAMBDAFORM_FLAGS \
-$TRUSTED_FLAGS \
-$USE_NEW_CODE_FLAGS \
-$ENABLE_SHOW_HIDDEN_FRAMES_FLAGS \
-$ENABLE_FLIGHT_RECORDER_FLAGS \
-$ENABLE_TYPE_SPECIALIZATION_FLAGS \
-$TIERED_COMPILATION_THRESOLD_FLAGS \
-$DISABLE_MATH_INTRINSICS_FLAGS \
-$PRINT_ASM_FLAGS \
--Xbootclasspath/p:$NASHORN_JAR \
--Xms2G -Xmx2G \
--XX:TypeProfileLevel=222 \
--cp $CLASSPATH:../build/test/classes/ \
-jdk.nashorn.tools.Shell $ENABLE_TIME_FLAGS ${@}
-
-
diff --git a/buildtools/nasgen/README b/buildtools/nasgen/README
deleted file mode 100644
index d450945..0000000
--- a/buildtools/nasgen/README
+++ /dev/null
@@ -1,34 +0,0 @@
-Nasgen is a tool for processing Java classes that implement native
-JavaScript objects. It does so by looking for the
-com.oracle.nashorn.objects.annotations.ScriptClass annotation and other
-annotations in that package.
-
-For each  class "C", nasgen instruments the original class and generates
-two additional classes: a "C$Prototype" class for the JavaScript
-prototype object, and a "C$Constructor" class for the JavaScript
-constructor function.
-
-Each class instrumented or generated by nasgen contains a private static
-"$nasgenmap$" field of type com.oracle.nashorn.runtime.PropertyMap and
-static initializer block to initialize the field to the object's
-JavaScript properties.
-
-Members annotated with @Function, @Property, @Getter, and @Setter are
-mapped to the $Constructor, $Prototype, or main class, depending on the
-value of the annotation's 'where' field. By default, @Property, @Getter,
-and @Setter belong to the main class while @Function methods without
-explicit 'where' field belong to the $Prototype class. The @Constructor
-annotation marks a method to be invoked as JavaScript constructor.
-
-Nasgen enforces all @Function/@Getter/@Setter/@Constructor annotated
-methods to be declared as static. Static final @Property fields remain
-in the main class while other @Property fields are moved to respective
-classes depending on the annotation's 'where' value. For functions
-mapped to the $Prototype or $Constructor class, nasgen also generates
-getters and setters prefixed by G$ and S$, respectively.
-
-Nasgen-generated classes are hidden from normal ClassLoaders by giving
-them a ".clazz" file name extension instead of the standard ".class"
-extension. This allows script classes to be loaded independently by each
-Nashorn context through the com.oracle.nashorn.runtime.StructureLoader
-class loader.
diff --git a/buildtools/nasgen/build.xml b/buildtools/nasgen/build.xml
deleted file mode 100644
index 6243bb2..0000000
--- a/buildtools/nasgen/build.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2010, 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.
- 
- 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.
--->
-<project name="nasgen" default="all" basedir=".">
-  <target name="init">
-    <loadproperties srcFile="project.properties"/>
-  </target>
-
-  <target name="prepare" depends="init">
-    <mkdir dir="${build.classes.dir}"/>
-    <mkdir dir="${dist.dir}"/>
-    <mkdir dir="${dist.dir}/lib"/>
-  </target>
-
-  <target name="clean" depends="init">
-    <delete dir="${build.dir}"/>
-    <delete dir="${dist.dir}"/>
-  </target>
-
-  <target name="compile" depends="prepare" description="Compiles the nasgen sources">
-    <javac srcdir="${src.dir}"
-           destdir="${build.classes.dir}"
-           classpath="${javac.classpath}"
-           debug="${javac.debug}"
-           includeantruntime="false" fork="true">
-      <compilerarg value="-J-Djava.ext.dirs="/>
-      <compilerarg value="-Xlint:unchecked"/>
-      <compilerarg value="-Xlint:deprecation"/>
-      <compilerarg value="-XDignore.symbol.file"/>
-    </javac>
-  </target>
-
-  <target name="jar" depends="compile" description="Creates nasgen.jar">
-    <jar jarfile="${dist.jar}" basedir="${build.classes.dir}" manifest="${meta.inf.dir}/MANIFEST.MF"/>
-  </target>
-
-  <target name="dist" depends="jar"/>
-
-  <target name="all" depends="dist" 
-    description="Builds sources and generates nasgen.jar"/>
-</project>
diff --git a/buildtools/nasgen/nasgen.iml b/buildtools/nasgen/nasgen.iml
deleted file mode 100644
index f6c890a..0000000
--- a/buildtools/nasgen/nasgen.iml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2010, 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.
- 
- 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.
--->
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/build/classes" />
-    <output-test url="file://$MODULE_DIR$/build/test/classes" />
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
-      <excludeFolder url="file://$MODULE_DIR$/build" />
-      <excludeFolder url="file://$MODULE_DIR$/dist" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="asm" />
-  </component>
-</module>
-
diff --git a/buildtools/nasgen/project.properties b/buildtools/nasgen/project.properties
deleted file mode 100644
index 5963f68..0000000
--- a/buildtools/nasgen/project.properties
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (c) 2010, 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.
-# 
-# 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.
-#
-application.title=nasgen
-
-# source and target levels
-build.compiler=modern
-javac.source=1.7
-javac.target=1.7
-
-build.classes.dir=${build.dir}/classes
-
-# This directory is removed when the project is cleaned:
-build.dir=build
-
-# This directory is removed when the project is cleaned:
-dist.dir=dist
-dist.jar=${dist.dir}/nasgen.jar
-dist.javadoc.dir=${dist.dir}/javadoc
-
-nashorn.dir=../../
-
-javac.debug=true
-
-javac.classpath=\
-    ${nashorn.dir}/build/classes
-
-meta.inf.dir=${src.dir}/META-INF
-run.classpath=\
-    ${javac.classpath}:\
-    ${build.classes.dir}
-run.jvmargs=
-src.dir=src
diff --git a/buildtools/nasgen/src/META-INF/MANIFEST.MF b/buildtools/nasgen/src/META-INF/MANIFEST.MF
deleted file mode 100644
index b709863..0000000
--- a/buildtools/nasgen/src/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0

-Class-Path: lib/ant-1.7.1.jar

-Main-Class: jdk.nashorn.internal.tools.nasgen.Main

-

diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java
deleted file mode 100644
index df740ef..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ClassGenerator.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_FINAL;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_PRIVATE;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_PUBLIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_STATIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.H_INVOKESTATIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.H_INVOKEVIRTUAL;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.ACCESSORPROPERTY_CREATE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.ACCESSORPROPERTY_CREATE_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.ACCESSORPROPERTY_TYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.ARRAYLIST_INIT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.ARRAYLIST_TYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.CLINIT;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.COLLECTIONS_EMPTY_LIST;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.COLLECTIONS_TYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.COLLECTION_ADD;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.COLLECTION_ADD_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.COLLECTION_TYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.DEFAULT_INIT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.GETTER_PREFIX;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.GET_CLASS_NAME;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.GET_CLASS_NAME_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.INIT;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.LIST_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.OBJECT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_FIELD_NAME;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_NEWMAP;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_NEWMAP_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_TYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_CREATEBUILTIN;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_CREATEBUILTIN_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_CREATEBUILTIN_SPECS_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_SETARITY;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_SETARITY_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_TYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SETTER_PREFIX;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.TYPE_OBJECT;
-
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.List;
-import jdk.internal.org.objectweb.asm.ClassReader;
-import jdk.internal.org.objectweb.asm.ClassVisitor;
-import jdk.internal.org.objectweb.asm.ClassWriter;
-import jdk.internal.org.objectweb.asm.FieldVisitor;
-import jdk.internal.org.objectweb.asm.Handle;
-import jdk.internal.org.objectweb.asm.MethodVisitor;
-import jdk.internal.org.objectweb.asm.Type;
-import jdk.nashorn.internal.tools.nasgen.MemberInfo.Kind;
-
-/**
- * Base class for class generator classes.
- *
- */
-public class ClassGenerator {
-    /** ASM class writer used to output bytecode for this class */
-    protected final ClassWriter cw;
-
-    /**
-     * Constructor
-     */
-    protected ClassGenerator() {
-        this.cw = makeClassWriter();
-    }
-
-    MethodGenerator makeStaticInitializer() {
-        return makeStaticInitializer(cw);
-    }
-
-    MethodGenerator makeConstructor() {
-        return makeConstructor(cw);
-    }
-
-    MethodGenerator makeMethod(final int access, final String name, final String desc) {
-        return makeMethod(cw, access, name, desc);
-    }
-
-    void addMapField() {
-        addMapField(cw);
-    }
-
-    void addField(final String name, final String desc) {
-        addField(cw, name, desc);
-    }
-
-    void addFunctionField(final String name) {
-        addFunctionField(cw, name);
-    }
-
-    void addGetter(final String owner, final MemberInfo memInfo) {
-        addGetter(cw, owner, memInfo);
-    }
-
-    void addSetter(final String owner, final MemberInfo memInfo) {
-        addSetter(cw, owner, memInfo);
-    }
-
-    void emitGetClassName(final String name) {
-        final MethodGenerator mi = makeMethod(ACC_PUBLIC, GET_CLASS_NAME, GET_CLASS_NAME_DESC);
-        mi.loadLiteral(name);
-        mi.returnValue();
-        mi.computeMaxs();
-        mi.visitEnd();
-    }
-
-    static ClassWriter makeClassWriter() {
-        return new ClassWriter(ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS) {
-            @Override
-            protected String getCommonSuperClass(final String type1, final String type2) {
-                try {
-                    return super.getCommonSuperClass(type1, type2);
-                } catch (final RuntimeException | LinkageError e) {
-                    return StringConstants.OBJECT_TYPE;
-                }
-            }
-        };
-    }
-
-    static MethodGenerator makeStaticInitializer(final ClassVisitor cv) {
-        return makeStaticInitializer(cv, CLINIT);
-    }
-
-    static MethodGenerator makeStaticInitializer(final ClassVisitor cv, final String name) {
-        final int access =  ACC_PUBLIC | ACC_STATIC;
-        final String desc = DEFAULT_INIT_DESC;
-        final MethodVisitor mv = cv.visitMethod(access, name, desc, null, null);
-        return new MethodGenerator(mv, access, name, desc);
-    }
-
-    static MethodGenerator makeConstructor(final ClassVisitor cv) {
-        final int access = 0;
-        final String name = INIT;
-        final String desc = DEFAULT_INIT_DESC;
-        final MethodVisitor mv = cv.visitMethod(access, name, desc, null, null);
-        return new MethodGenerator(mv, access, name, desc);
-    }
-
-    static MethodGenerator makeMethod(final ClassVisitor cv, final int access, final String name, final String desc) {
-        final MethodVisitor mv = cv.visitMethod(access, name, desc, null, null);
-        return new MethodGenerator(mv, access, name, desc);
-    }
-
-    static void emitStaticInitPrefix(final MethodGenerator mi, final String className, final int memberCount) {
-        mi.visitCode();
-        if (memberCount > 0) {
-            // new ArrayList(int)
-            mi.newObject(ARRAYLIST_TYPE);
-            mi.dup();
-            mi.push(memberCount);
-            mi.invokeSpecial(ARRAYLIST_TYPE, INIT, ARRAYLIST_INIT_DESC);
-            // stack: ArrayList
-        } else {
-            // java.util.Collections.EMPTY_LIST
-            mi.getStatic(COLLECTIONS_TYPE, COLLECTIONS_EMPTY_LIST, LIST_DESC);
-            // stack List
-        }
-    }
-
-    static void emitStaticInitSuffix(final MethodGenerator mi, final String className) {
-        // stack: Collection
-        // pmap = PropertyMap.newMap(Collection<Property>);
-        mi.invokeStatic(PROPERTYMAP_TYPE, PROPERTYMAP_NEWMAP, PROPERTYMAP_NEWMAP_DESC);
-        // $nasgenmap$ = pmap;
-        mi.putStatic(className, PROPERTYMAP_FIELD_NAME, PROPERTYMAP_DESC);
-        mi.returnVoid();
-        mi.computeMaxs();
-        mi.visitEnd();
-    }
-
-    @SuppressWarnings("fallthrough")
-    private static Type memInfoType(final MemberInfo memInfo) {
-        switch (memInfo.getJavaDesc().charAt(0)) {
-            case 'I': return Type.INT_TYPE;
-            case 'J': return Type.LONG_TYPE;
-            case 'D': return Type.DOUBLE_TYPE;
-            default:  assert false : memInfo.getJavaDesc();
-            case 'L': return TYPE_OBJECT;
-        }
-    }
-
-    private static String getterDesc(final MemberInfo memInfo) {
-        return Type.getMethodDescriptor(memInfoType(memInfo));
-    }
-
-    private static String setterDesc(final MemberInfo memInfo) {
-        return Type.getMethodDescriptor(Type.VOID_TYPE, memInfoType(memInfo));
-    }
-
-    static void addGetter(final ClassVisitor cv, final String owner, final MemberInfo memInfo) {
-        final int access = ACC_PUBLIC;
-        final String name = GETTER_PREFIX + memInfo.getJavaName();
-        final String desc = getterDesc(memInfo);
-        final MethodVisitor mv = cv.visitMethod(access, name, desc, null, null);
-        final MethodGenerator mi = new MethodGenerator(mv, access, name, desc);
-        mi.visitCode();
-        if (memInfo.isStatic() && memInfo.getKind() == Kind.PROPERTY) {
-            mi.getStatic(owner, memInfo.getJavaName(), memInfo.getJavaDesc());
-        } else {
-            mi.loadLocal(0);
-            mi.getField(owner, memInfo.getJavaName(), memInfo.getJavaDesc());
-        }
-        mi.returnValue();
-        mi.computeMaxs();
-        mi.visitEnd();
-    }
-
-    static void addSetter(final ClassVisitor cv, final String owner, final MemberInfo memInfo) {
-        final int access = ACC_PUBLIC;
-        final String name = SETTER_PREFIX + memInfo.getJavaName();
-        final String desc = setterDesc(memInfo);
-        final MethodVisitor mv = cv.visitMethod(access, name, desc, null, null);
-        final MethodGenerator mi = new MethodGenerator(mv, access, name, desc);
-        mi.visitCode();
-        if (memInfo.isStatic() && memInfo.getKind() == Kind.PROPERTY) {
-            mi.loadLocal(1);
-            mi.putStatic(owner, memInfo.getJavaName(), memInfo.getJavaDesc());
-        } else {
-            mi.loadLocal(0);
-            mi.loadLocal(1);
-            mi.putField(owner, memInfo.getJavaName(), memInfo.getJavaDesc());
-        }
-        mi.returnVoid();
-        mi.computeMaxs();
-        mi.visitEnd();
-    }
-
-    static void addMapField(final ClassVisitor cv) {
-        // add a PropertyMap static field
-        final FieldVisitor fv = cv.visitField(ACC_PRIVATE | ACC_STATIC | ACC_FINAL,
-            PROPERTYMAP_FIELD_NAME, PROPERTYMAP_DESC, null, null);
-        if (fv != null) {
-            fv.visitEnd();
-        }
-    }
-
-    static void addField(final ClassVisitor cv, final String name, final String desc) {
-        final FieldVisitor fv = cv.visitField(ACC_PRIVATE, name, desc, null, null);
-        if (fv != null) {
-            fv.visitEnd();
-        }
-    }
-
-    static void addFunctionField(final ClassVisitor cv, final String name) {
-        addField(cv, name, OBJECT_DESC);
-    }
-
-    static void newFunction(final MethodGenerator mi, final String className, final MemberInfo memInfo, final List<MemberInfo> specs) {
-        final boolean arityFound = (memInfo.getArity() != MemberInfo.DEFAULT_ARITY);
-
-        mi.loadLiteral(memInfo.getName());
-        mi.visitLdcInsn(new Handle(H_INVOKESTATIC, className, memInfo.getJavaName(), memInfo.getJavaDesc()));
-
-        assert specs != null;
-        if (!specs.isEmpty()) {
-            mi.memberInfoArray(className, specs);
-            mi.invokeStatic(SCRIPTFUNCTION_TYPE, SCRIPTFUNCTION_CREATEBUILTIN, SCRIPTFUNCTION_CREATEBUILTIN_SPECS_DESC);
-        } else {
-            mi.invokeStatic(SCRIPTFUNCTION_TYPE, SCRIPTFUNCTION_CREATEBUILTIN, SCRIPTFUNCTION_CREATEBUILTIN_DESC);
-        }
-
-        if (arityFound) {
-            mi.dup();
-            mi.push(memInfo.getArity());
-            mi.invokeVirtual(SCRIPTFUNCTION_TYPE, SCRIPTFUNCTION_SETARITY, SCRIPTFUNCTION_SETARITY_DESC);
-        }
-    }
-
-    static void linkerAddGetterSetter(final MethodGenerator mi, final String className, final MemberInfo memInfo) {
-        final String propertyName = memInfo.getName();
-        // stack: Collection
-        // dup of Collection instance
-        mi.dup();
-
-        // property = AccessorProperty.create(key, flags, getter, setter);
-        mi.loadLiteral(propertyName);
-        // setup flags
-        mi.push(memInfo.getAttributes());
-        // setup getter method handle
-        String javaName = GETTER_PREFIX + memInfo.getJavaName();
-        mi.visitLdcInsn(new Handle(H_INVOKEVIRTUAL, className, javaName, getterDesc(memInfo)));
-        // setup setter method handle
-        if (memInfo.isFinal()) {
-            mi.pushNull();
-        } else {
-            javaName = SETTER_PREFIX + memInfo.getJavaName();
-            mi.visitLdcInsn(new Handle(H_INVOKEVIRTUAL, className, javaName, setterDesc(memInfo)));
-        }
-        mi.invokeStatic(ACCESSORPROPERTY_TYPE, ACCESSORPROPERTY_CREATE, ACCESSORPROPERTY_CREATE_DESC);
-        // boolean Collection.add(property)
-        mi.invokeInterface(COLLECTION_TYPE, COLLECTION_ADD, COLLECTION_ADD_DESC);
-        // pop return value of Collection.add
-        mi.pop();
-        // stack: Collection
-    }
-
-    static void linkerAddGetterSetter(final MethodGenerator mi, final String className, final MemberInfo getter, final MemberInfo setter) {
-        final String propertyName = getter.getName();
-        // stack: Collection
-        // dup of Collection instance
-        mi.dup();
-
-        // property = AccessorProperty.create(key, flags, getter, setter);
-        mi.loadLiteral(propertyName);
-        // setup flags
-        mi.push(getter.getAttributes());
-        // setup getter method handle
-        mi.visitLdcInsn(new Handle(H_INVOKESTATIC, className,
-                getter.getJavaName(), getter.getJavaDesc()));
-        // setup setter method handle
-        if (setter == null) {
-            mi.pushNull();
-        } else {
-            mi.visitLdcInsn(new Handle(H_INVOKESTATIC, className,
-                    setter.getJavaName(), setter.getJavaDesc()));
-        }
-        mi.invokeStatic(ACCESSORPROPERTY_TYPE, ACCESSORPROPERTY_CREATE, ACCESSORPROPERTY_CREATE_DESC);
-        // boolean Collection.add(property)
-        mi.invokeInterface(COLLECTION_TYPE, COLLECTION_ADD, COLLECTION_ADD_DESC);
-        // pop return value of Collection.add
-        mi.pop();
-        // stack: Collection
-    }
-
-    static ScriptClassInfo getScriptClassInfo(final String fileName) throws IOException {
-        try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fileName))) {
-            return getScriptClassInfo(new ClassReader(bis));
-        }
-    }
-
-    static ScriptClassInfo getScriptClassInfo(final byte[] classBuf) {
-        return getScriptClassInfo(new ClassReader(classBuf));
-    }
-
-    private static ScriptClassInfo getScriptClassInfo(final ClassReader reader) {
-        final ScriptClassInfoCollector scic = new ScriptClassInfoCollector();
-        reader.accept(scic, 0);
-        return scic.getScriptClassInfo();
-    }
-}
diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java
deleted file mode 100644
index b47877d..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ConstructorGenerator.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_FINAL;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_PUBLIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.H_INVOKESTATIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.V1_7;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.CONSTRUCTOR_SUFFIX;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.DEFAULT_INIT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.INIT;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.OBJECT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_FIELD_NAME;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROTOTYPEOBJECT_SETCONSTRUCTOR;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROTOTYPEOBJECT_SETCONSTRUCTOR_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROTOTYPEOBJECT_TYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_INIT_DESC3;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_INIT_DESC4;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_SETARITY;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_SETARITY_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_SETPROTOTYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_SETPROTOTYPE_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTFUNCTION_TYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTOBJECT_INIT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTOBJECT_TYPE;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.List;
-import jdk.internal.org.objectweb.asm.Handle;
-
-/**
- * This class generates constructor class for a @ScriptClass annotated class.
- *
- */
-public class ConstructorGenerator extends ClassGenerator {
-    private final ScriptClassInfo scriptClassInfo;
-    private final String className;
-    private final MemberInfo constructor;
-    private final int memberCount;
-    private final List<MemberInfo> specs;
-
-    ConstructorGenerator(final ScriptClassInfo sci) {
-        this.scriptClassInfo = sci;
-
-        this.className = scriptClassInfo.getConstructorClassName();
-        this.constructor = scriptClassInfo.getConstructor();
-        this.memberCount = scriptClassInfo.getConstructorMemberCount();
-        this.specs = scriptClassInfo.getSpecializedConstructors();
-    }
-
-    byte[] getClassBytes() {
-        // new class extending from ScriptObject
-        final String superClass = (constructor != null)? SCRIPTFUNCTION_TYPE : SCRIPTOBJECT_TYPE;
-        cw.visit(V1_7, ACC_FINAL, className, null, superClass, null);
-        if (memberCount > 0) {
-            // add fields
-            emitFields();
-            // add <clinit>
-            emitStaticInitializer();
-        }
-        // add <init>
-        emitConstructor();
-
-        if (constructor == null) {
-            emitGetClassName(scriptClassInfo.getName());
-        }
-
-        cw.visitEnd();
-        return cw.toByteArray();
-    }
-
-    // --Internals only below this point
-    private void emitFields() {
-        // Introduce "Function" type instance fields for each
-        // constructor @Function in script class and introduce instance
-        // fields for each constructor @Property in the script class.
-        for (MemberInfo memInfo : scriptClassInfo.getMembers()) {
-            if (memInfo.isConstructorFunction()) {
-                addFunctionField(memInfo.getJavaName());
-                memInfo = (MemberInfo)memInfo.clone();
-                memInfo.setJavaDesc(OBJECT_DESC);
-                memInfo.setJavaAccess(ACC_PUBLIC);
-                addGetter(className, memInfo);
-                addSetter(className, memInfo);
-            } else if (memInfo.isConstructorProperty()) {
-                if (memInfo.isStaticFinal()) {
-                    addGetter(scriptClassInfo.getJavaName(), memInfo);
-                } else {
-                    addField(memInfo.getJavaName(), memInfo.getJavaDesc());
-                    memInfo = (MemberInfo)memInfo.clone();
-                    memInfo.setJavaAccess(ACC_PUBLIC);
-                    addGetter(className, memInfo);
-                    addSetter(className, memInfo);
-                }
-            }
-        }
-
-        addMapField();
-    }
-
-    private void emitStaticInitializer() {
-        final MethodGenerator mi = makeStaticInitializer();
-        emitStaticInitPrefix(mi, className, memberCount);
-
-        for (final MemberInfo memInfo : scriptClassInfo.getMembers()) {
-            if (memInfo.isConstructorFunction() || memInfo.isConstructorProperty()) {
-                linkerAddGetterSetter(mi, className, memInfo);
-            } else if (memInfo.isConstructorGetter()) {
-                final MemberInfo setter = scriptClassInfo.findSetter(memInfo);
-                linkerAddGetterSetter(mi, scriptClassInfo.getJavaName(), memInfo, setter);
-            }
-        }
-        emitStaticInitSuffix(mi, className);
-    }
-
-    private void emitConstructor() {
-        final MethodGenerator mi = makeConstructor();
-        mi.visitCode();
-        callSuper(mi);
-
-        if (memberCount > 0) {
-            // initialize Function type fields
-            initFunctionFields(mi);
-            // initialize data fields
-            initDataFields(mi);
-        }
-
-        if (constructor != null) {
-            initPrototype(mi);
-            final int arity = constructor.getArity();
-            if (arity != MemberInfo.DEFAULT_ARITY) {
-                mi.loadThis();
-                mi.push(arity);
-                mi.invokeVirtual(SCRIPTFUNCTION_TYPE, SCRIPTFUNCTION_SETARITY,
-                        SCRIPTFUNCTION_SETARITY_DESC);
-            }
-        }
-        mi.returnVoid();
-        mi.computeMaxs();
-        mi.visitEnd();
-    }
-
-    private void loadMap(final MethodGenerator mi) {
-        if (memberCount > 0) {
-            mi.getStatic(className, PROPERTYMAP_FIELD_NAME, PROPERTYMAP_DESC);
-        }
-    }
-
-    private void callSuper(final MethodGenerator mi) {
-        String superClass, superDesc;
-        mi.loadThis();
-        if (constructor == null) {
-            // call ScriptObject.<init>
-            superClass = SCRIPTOBJECT_TYPE;
-            superDesc = (memberCount > 0) ? SCRIPTOBJECT_INIT_DESC : DEFAULT_INIT_DESC;
-            loadMap(mi);
-        } else {
-            // call Function.<init>
-            superClass = SCRIPTFUNCTION_TYPE;
-            superDesc = (memberCount > 0) ? SCRIPTFUNCTION_INIT_DESC4 : SCRIPTFUNCTION_INIT_DESC3;
-            mi.loadLiteral(constructor.getName());
-            mi.visitLdcInsn(new Handle(H_INVOKESTATIC, scriptClassInfo.getJavaName(), constructor.getJavaName(), constructor.getJavaDesc()));
-            loadMap(mi);
-            mi.memberInfoArray(scriptClassInfo.getJavaName(), specs); //pushes null if specs empty
-        }
-
-        mi.invokeSpecial(superClass, INIT, superDesc);
-    }
-
-    private void initFunctionFields(final MethodGenerator mi) {
-        assert memberCount > 0;
-        for (final MemberInfo memInfo : scriptClassInfo.getMembers()) {
-            if (!memInfo.isConstructorFunction()) {
-                continue;
-            }
-            mi.loadThis();
-            newFunction(mi, scriptClassInfo.getJavaName(), memInfo, scriptClassInfo.findSpecializations(memInfo.getJavaName()));
-            mi.putField(className, memInfo.getJavaName(), OBJECT_DESC);
-        }
-    }
-
-    private void initDataFields(final MethodGenerator mi) {
-        assert memberCount > 0;
-        for (final MemberInfo memInfo : scriptClassInfo.getMembers()) {
-           if (!memInfo.isConstructorProperty() || memInfo.isFinal()) {
-               continue;
-           }
-           final Object value = memInfo.getValue();
-           if (value != null) {
-               mi.loadThis();
-               mi.loadLiteral(value);
-               mi.putField(className, memInfo.getJavaName(), memInfo.getJavaDesc());
-           } else if (!memInfo.getInitClass().isEmpty()) {
-               final String clazz = memInfo.getInitClass();
-               mi.loadThis();
-               mi.newObject(clazz);
-               mi.dup();
-               mi.invokeSpecial(clazz, INIT, DEFAULT_INIT_DESC);
-               mi.putField(className, memInfo.getJavaName(), memInfo.getJavaDesc());
-           }
-        }
-    }
-
-    private void initPrototype(final MethodGenerator mi) {
-        assert constructor != null;
-        mi.loadThis();
-        final String protoName = scriptClassInfo.getPrototypeClassName();
-        mi.newObject(protoName);
-        mi.dup();
-        mi.invokeSpecial(protoName, INIT, DEFAULT_INIT_DESC);
-        mi.dup();
-        mi.loadThis();
-        mi.invokeStatic(PROTOTYPEOBJECT_TYPE, PROTOTYPEOBJECT_SETCONSTRUCTOR,
-                PROTOTYPEOBJECT_SETCONSTRUCTOR_DESC);
-        mi.invokeVirtual(SCRIPTFUNCTION_TYPE, SCRIPTFUNCTION_SETPROTOTYPE, SCRIPTFUNCTION_SETPROTOTYPE_DESC);
-    }
-
-    /**
-     * Entry point for ConstructorGenerator run separately as an application. Will display
-     * usage. Takes one argument, a class name.
-     * @param args args vector
-     * @throws IOException if class can't be read
-     */
-    public static void main(final String[] args) throws IOException {
-        if (args.length != 1) {
-            System.err.println("Usage: " + ConstructorGenerator.class.getName() + " <class>");
-            System.exit(1);
-        }
-
-        final String className = args[0].replace('.', '/');
-        final ScriptClassInfo sci = getScriptClassInfo(className + ".class");
-        if (sci == null) {
-            System.err.println("No @ScriptClass in " + className);
-            System.exit(2);
-            throw new IOException(); // get rid of warning for sci.verify() below - may be null
-        }
-
-        try {
-            sci.verify();
-        } catch (final Exception e) {
-            System.err.println(e.getMessage());
-            System.exit(3);
-        }
-        final ConstructorGenerator gen = new ConstructorGenerator(sci);
-        try (FileOutputStream fos = new FileOutputStream(className + CONSTRUCTOR_SUFFIX + ".class")) {
-            fos.write(gen.getClassBytes());
-        }
-    }
-}
diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/Main.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/Main.java
deleted file mode 100644
index 554c09e..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/Main.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import jdk.internal.org.objectweb.asm.ClassReader;
-import jdk.internal.org.objectweb.asm.ClassWriter;
-import jdk.internal.org.objectweb.asm.util.CheckClassAdapter;
-
-/**
- * Main class for the "nasgen" tool.
- *
- */
-public class Main {
-    private static final boolean DEBUG = Boolean.getBoolean("nasgen.debug");
-
-    private interface ErrorReporter {
-        public void error(String msg);
-    }
-
-    /**
-     * Public entry point for Nasgen if invoked from command line. Nasgen takes three arguments
-     * in order: input directory, package list, output directory
-     *
-     * @param args argument vector
-     */
-    public static void main(final String[] args) {
-        final ErrorReporter reporter = new ErrorReporter() {
-            @Override
-            public void error(final String msg) {
-                Main.error(msg, 1);
-            }
-        };
-        if (args.length == 3) {
-            processAll(args[0], args[1], args[2], reporter);
-        } else {
-            error("Usage: nasgen <input-dir> <package-list> <output-dir>", 1);
-        }
-    }
-
-    private static void processAll(final String in, final String pkgList, final String out, final ErrorReporter reporter) {
-        final File inDir = new File(in);
-        if (!inDir.exists() || !inDir.isDirectory()) {
-            reporter.error(in + " does not exist or not a directory");
-            return;
-        }
-
-        final File outDir = new File(out);
-        if (!outDir.exists() || !outDir.isDirectory()) {
-            reporter.error(out + " does not exist or not a directory");
-            return;
-        }
-
-        final String[] packages = pkgList.split(":");
-        for (String pkg : packages) {
-            pkg = pkg.replace('.', File.separatorChar);
-            final File dir = new File(inDir, pkg);
-            final File[] classes = dir.listFiles();
-            for (final File clazz : classes) {
-                if (clazz.isFile() && clazz.getName().endsWith(".class")) {
-                    if (! process(clazz, new File(outDir, pkg), reporter)) {
-                        return;
-                    }
-                }
-            }
-        }
-    }
-
-    private static boolean process(final File inFile, final File outDir, final ErrorReporter reporter) {
-        try {
-            byte[] buf = new byte[(int)inFile.length()];
-
-            try (FileInputStream fin = new FileInputStream(inFile)) {
-                fin.read(buf);
-            }
-
-            final ScriptClassInfo sci = ClassGenerator.getScriptClassInfo(buf);
-
-            if (sci != null) {
-                try {
-                    sci.verify();
-                } catch (final Exception e) {
-                    reporter.error(e.getMessage());
-                    return false;
-                }
-
-                // create necessary output package dir
-                outDir.mkdirs();
-
-                // instrument @ScriptClass
-                final ClassWriter writer = ClassGenerator.makeClassWriter();
-                final ClassReader reader = new ClassReader(buf);
-                final ScriptClassInstrumentor inst = new ScriptClassInstrumentor(writer, sci);
-                reader.accept(inst, 0);
-                //noinspection UnusedAssignment
-
-                // write instrumented class
-                try (FileOutputStream fos = new FileOutputStream(new File(outDir, inFile.getName()))) {
-                    buf = writer.toByteArray();
-                    if (DEBUG) {
-                        verify(buf);
-                    }
-                    fos.write(buf);
-                }
-
-                // simple class name without package prefix
-                String simpleName = inFile.getName();
-                simpleName = simpleName.substring(0, simpleName.indexOf(".class"));
-
-                if (sci.isPrototypeNeeded()) {
-                    // generate prototype class
-                    final PrototypeGenerator protGen = new PrototypeGenerator(sci);
-                    buf = protGen.getClassBytes();
-                    if (DEBUG) {
-                        verify(buf);
-                    }
-                    try (FileOutputStream fos = new FileOutputStream(new File(outDir, simpleName + StringConstants.PROTOTYPE_SUFFIX + ".class"))) {
-                        fos.write(buf);
-                    }
-                }
-
-                if (sci.isConstructorNeeded()) {
-                    // generate constructor class
-                    final ConstructorGenerator consGen = new ConstructorGenerator(sci);
-                    buf = consGen.getClassBytes();
-                    if (DEBUG) {
-                        verify(buf);
-                    }
-                    try (FileOutputStream fos = new FileOutputStream(new File(outDir, simpleName + StringConstants.CONSTRUCTOR_SUFFIX + ".class"))) {
-                        fos.write(buf);
-                    }
-                }
-            }
-            return true;
-        } catch (final IOException | RuntimeException e) {
-            if (DEBUG) {
-                e.printStackTrace(System.err);
-            }
-            reporter.error(e.getMessage());
-
-            return false;
-        }
-    }
-
-    private static void verify(final byte[] buf) {
-        final ClassReader cr = new ClassReader(buf);
-        CheckClassAdapter.verify(cr, false, new PrintWriter(System.err));
-    }
-
-    private static void error(final String msg, final int exitCode) {
-        System.err.println(msg);
-        System.exit(exitCode);
-    }
-}
diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java
deleted file mode 100644
index a868ada..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MemberInfo.java
+++ /dev/null
@@ -1,547 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.OBJECT_ARRAY_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.OBJECT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTOBJECT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.STRING_DESC;
-import jdk.internal.org.objectweb.asm.Opcodes;
-import jdk.internal.org.objectweb.asm.Type;
-import jdk.nashorn.internal.objects.annotations.Where;
-import jdk.nashorn.internal.runtime.ScriptObject;
-
-/**
- * Details about a Java method or field annotated with any of the field/method
- * annotations from the jdk.nashorn.internal.objects.annotations package.
- */
-public final class MemberInfo implements Cloneable {
-    // class loader of this class
-    private static ClassLoader myLoader = MemberInfo.class.getClassLoader();
-
-    /**
-     * The different kinds of available class annotations
-     */
-    public static enum Kind {
-
-        /**
-         * This is a script class
-         */
-        SCRIPT_CLASS,
-        /**
-         * This is a constructor
-         */
-        CONSTRUCTOR,
-        /**
-         * This is a function
-         */
-        FUNCTION,
-        /**
-         * This is a getter
-         */
-        GETTER,
-        /**
-         * This is a setter
-         */
-        SETTER,
-        /**
-         * This is a property
-         */
-        PROPERTY,
-        /**
-         * This is a specialized version of a function
-         */
-        SPECIALIZED_FUNCTION,
-    }
-
-    // keep in sync with jdk.nashorn.internal.objects.annotations.Attribute
-    static final int DEFAULT_ATTRIBUTES = 0x0;
-
-    static final int DEFAULT_ARITY = -2;
-
-    // the kind of the script annotation - one of the above constants
-    private MemberInfo.Kind kind;
-    // script property name
-    private String name;
-    // script property attributes
-    private int attributes;
-    // name of the java member
-    private String javaName;
-    // type descriptor of the java member
-    private String javaDesc;
-    // access bits of the Java field or method
-    private int javaAccess;
-    // initial value for static @Property fields
-    private Object value;
-    // class whose object is created to fill property value
-    private String initClass;
-    // arity of the Function or Constructor
-    private int arity;
-
-    private Where where;
-
-    private Type linkLogicClass;
-
-    private boolean isSpecializedConstructor;
-
-    private boolean isOptimistic;
-
-    /**
-     * @return the kind
-     */
-    public Kind getKind() {
-        return kind;
-    }
-
-    /**
-     * @param kind the kind to set
-     */
-    public void setKind(final Kind kind) {
-        this.kind = kind;
-    }
-
-    /**
-     * @return the name
-     */
-    public String getName() {
-        return name;
-    }
-
-    /**
-     * @param name the name to set
-     */
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-    /**
-     * Tag something as specialized constructor or not
-     * @param isSpecializedConstructor boolean, true if specialized constructor
-     */
-    public void setIsSpecializedConstructor(final boolean isSpecializedConstructor) {
-        this.isSpecializedConstructor = isSpecializedConstructor;
-    }
-
-    /**
-     * Check if something is a specialized constructor
-     * @return true if specialized constructor
-     */
-    public boolean isSpecializedConstructor() {
-        return isSpecializedConstructor;
-    }
-
-    /**
-     * Check if this is an optimistic builtin function
-     * @return true if optimistic builtin
-     */
-    public boolean isOptimistic() {
-        return isOptimistic;
-    }
-
-    /**
-     * Tag something as optimistic builtin or not
-     * @param isOptimistic boolean, true if builtin constructor
-     */
-    public void setIsOptimistic(final boolean isOptimistic) {
-        this.isOptimistic = isOptimistic;
-    }
-
-    /**
-     * Get the SpecializedFunction guard for specializations, i.e. optimistic
-     * builtins
-     * @return specialization, null if none
-     */
-    public Type getLinkLogicClass() {
-        return linkLogicClass;
-    }
-
-    /**
-     * Set the SpecializedFunction link logic class for specializations, i.e. optimistic
-     * builtins
-     * @param linkLogicClass link logic class
-     */
-
-    public void setLinkLogicClass(final Type linkLogicClass) {
-        this.linkLogicClass = linkLogicClass;
-    }
-
-    /**
-     * @return the attributes
-     */
-    public int getAttributes() {
-        return attributes;
-    }
-
-    /**
-     * @param attributes the attributes to set
-     */
-    public void setAttributes(final int attributes) {
-        this.attributes = attributes;
-    }
-
-    /**
-     * @return the javaName
-     */
-    public String getJavaName() {
-        return javaName;
-    }
-
-    /**
-     * @param javaName the javaName to set
-     */
-    public void setJavaName(final String javaName) {
-        this.javaName = javaName;
-    }
-
-    /**
-     * @return the javaDesc
-     */
-    public String getJavaDesc() {
-        return javaDesc;
-    }
-
-    void setJavaDesc(final String javaDesc) {
-        this.javaDesc = javaDesc;
-    }
-
-    int getJavaAccess() {
-        return javaAccess;
-    }
-
-    void setJavaAccess(final int access) {
-        this.javaAccess = access;
-    }
-
-    Object getValue() {
-        return value;
-    }
-
-    void setValue(final Object value) {
-        this.value = value;
-    }
-
-    Where getWhere() {
-        return where;
-    }
-
-    void setWhere(final Where where) {
-        this.where = where;
-    }
-
-    boolean isFinal() {
-        return (javaAccess & Opcodes.ACC_FINAL) != 0;
-    }
-
-    boolean isStatic() {
-        return (javaAccess & Opcodes.ACC_STATIC) != 0;
-    }
-
-    boolean isStaticFinal() {
-        return isStatic() && isFinal();
-    }
-
-    boolean isInstanceGetter() {
-        return kind == Kind.GETTER && where == Where.INSTANCE;
-    }
-
-    /**
-     * Check whether this MemberInfo is a getter that resides in the instance
-     *
-     * @return true if instance setter
-     */
-    boolean isInstanceSetter() {
-        return kind == Kind.SETTER && where == Where.INSTANCE;
-    }
-
-    boolean isInstanceProperty() {
-        return kind == Kind.PROPERTY && where == Where.INSTANCE;
-    }
-
-    boolean isInstanceFunction() {
-        return kind == Kind.FUNCTION && where == Where.INSTANCE;
-    }
-
-    boolean isPrototypeGetter() {
-        return kind == Kind.GETTER && where == Where.PROTOTYPE;
-    }
-
-    boolean isPrototypeSetter() {
-        return kind == Kind.SETTER && where == Where.PROTOTYPE;
-    }
-
-    boolean isPrototypeProperty() {
-        return kind == Kind.PROPERTY && where == Where.PROTOTYPE;
-    }
-
-    boolean isPrototypeFunction() {
-        return kind == Kind.FUNCTION && where == Where.PROTOTYPE;
-    }
-
-    boolean isConstructorGetter() {
-        return kind == Kind.GETTER && where == Where.CONSTRUCTOR;
-    }
-
-    boolean isConstructorSetter() {
-        return kind == Kind.SETTER && where == Where.CONSTRUCTOR;
-    }
-
-    boolean isConstructorProperty() {
-        return kind == Kind.PROPERTY && where == Where.CONSTRUCTOR;
-    }
-
-    boolean isConstructorFunction() {
-        return kind == Kind.FUNCTION && where == Where.CONSTRUCTOR;
-    }
-
-    boolean isConstructor() {
-        return kind == Kind.CONSTRUCTOR;
-    }
-
-    void verify() {
-        switch (kind) {
-            case CONSTRUCTOR: {
-                final Type returnType = Type.getReturnType(javaDesc);
-                if (!isJSObjectType(returnType)) {
-                    error("return value of a @Constructor method should be of Object type, found " + returnType);
-                }
-                final Type[] argTypes = Type.getArgumentTypes(javaDesc);
-                if (argTypes.length < 2) {
-                    error("@Constructor methods should have at least 2 args");
-                }
-                if (!argTypes[0].equals(Type.BOOLEAN_TYPE)) {
-                    error("first argument of a @Constructor method should be of boolean type, found " + argTypes[0]);
-                }
-                if (!isJavaLangObject(argTypes[1])) {
-                    error("second argument of a @Constructor method should be of Object type, found " + argTypes[0]);
-                }
-
-                if (argTypes.length > 2) {
-                    for (int i = 2; i < argTypes.length - 1; i++) {
-                        if (!isJavaLangObject(argTypes[i])) {
-                            error(i + "'th argument of a @Constructor method should be of Object type, found " + argTypes[i]);
-                        }
-                    }
-
-                    final String lastArgTypeDesc = argTypes[argTypes.length - 1].getDescriptor();
-                    final boolean isVarArg = lastArgTypeDesc.equals(OBJECT_ARRAY_DESC);
-                    if (!lastArgTypeDesc.equals(OBJECT_DESC) && !isVarArg) {
-                        error("last argument of a @Constructor method is neither Object nor Object[] type: " + lastArgTypeDesc);
-                    }
-
-                    if (isVarArg && argTypes.length > 3) {
-                        error("vararg of a @Constructor method has more than 3 arguments");
-                    }
-                }
-            }
-            break;
-            case FUNCTION: {
-                final Type returnType = Type.getReturnType(javaDesc);
-                if (!(isValidJSType(returnType) || Type.VOID_TYPE == returnType)) {
-                    error("return value of a @Function method should be a valid JS type, found " + returnType);
-                }
-                final Type[] argTypes = Type.getArgumentTypes(javaDesc);
-                if (argTypes.length < 1) {
-                    error("@Function methods should have at least 1 arg");
-                }
-                if (!isJavaLangObject(argTypes[0])) {
-                    error("first argument of a @Function method should be of Object type, found " + argTypes[0]);
-                }
-
-                if (argTypes.length > 1) {
-                    for (int i = 1; i < argTypes.length - 1; i++) {
-                        if (!isJavaLangObject(argTypes[i])) {
-                            error(i + "'th argument of a @Function method should be of Object type, found " + argTypes[i]);
-                        }
-                    }
-
-                    final String lastArgTypeDesc = argTypes[argTypes.length - 1].getDescriptor();
-                    final boolean isVarArg = lastArgTypeDesc.equals(OBJECT_ARRAY_DESC);
-                    if (!lastArgTypeDesc.equals(OBJECT_DESC) && !isVarArg) {
-                        error("last argument of a @Function method is neither Object nor Object[] type: " + lastArgTypeDesc);
-                    }
-
-                    if (isVarArg && argTypes.length > 2) {
-                        error("vararg @Function method has more than 2 arguments");
-                    }
-                }
-            }
-            break;
-            case SPECIALIZED_FUNCTION: {
-                final Type returnType = Type.getReturnType(javaDesc);
-                if (!(isValidJSType(returnType) || (isSpecializedConstructor() && Type.VOID_TYPE == returnType))) {
-                    error("return value of a @SpecializedFunction method should be a valid JS type, found " + returnType);
-                }
-                final Type[] argTypes = Type.getArgumentTypes(javaDesc);
-                for (int i = 0; i < argTypes.length; i++) {
-                    if (!isValidJSType(argTypes[i])) {
-                        error(i + "'th argument of a @SpecializedFunction method is not valid JS type, found " + argTypes[i]);
-                    }
-                }
-            }
-            break;
-            case GETTER: {
-                final Type[] argTypes = Type.getArgumentTypes(javaDesc);
-                if (argTypes.length != 1) {
-                    error("@Getter methods should have one argument");
-                }
-                if (!isJavaLangObject(argTypes[0])) {
-                    error("first argument of a @Getter method should be of Object type, found: " + argTypes[0]);
-                }
-
-                if (Type.getReturnType(javaDesc).equals(Type.VOID_TYPE)) {
-                    error("return type of getter should not be void");
-                }
-            }
-            break;
-            case SETTER: {
-                final Type[] argTypes = Type.getArgumentTypes(javaDesc);
-                if (argTypes.length != 2) {
-                    error("@Setter methods should have two arguments");
-                }
-                if (!isJavaLangObject(argTypes[0])) {
-                    error("first argument of a @Setter method should be of Object type, found: " + argTypes[0]);
-                }
-                if (!Type.getReturnType(javaDesc).toString().equals("V")) {
-                    error("return type of of a @Setter method should be void, found: " + Type.getReturnType(javaDesc));
-                }
-            }
-            break;
-            case PROPERTY: {
-                if (where == Where.CONSTRUCTOR) {
-                    if (isStatic()) {
-                        if (!isFinal()) {
-                            error("static Where.CONSTRUCTOR @Property should be final");
-                        }
-
-                        if (!isJSPrimitiveType(Type.getType(javaDesc))) {
-                            error("static Where.CONSTRUCTOR @Property should be a JS primitive");
-                        }
-                    }
-                } else if (where == Where.PROTOTYPE) {
-                    if (isStatic()) {
-                        if (!isFinal()) {
-                            error("static Where.PROTOTYPE @Property should be final");
-                        }
-
-                        if (!isJSPrimitiveType(Type.getType(javaDesc))) {
-                            error("static Where.PROTOTYPE @Property should be a JS primitive");
-                        }
-                    }
-                }
-            }
-            break;
-
-            default:
-            break;
-        }
-    }
-
-    private static boolean isValidJSType(final Type type) {
-        return isJSPrimitiveType(type) || isJSObjectType(type);
-    }
-
-    private static boolean isJSPrimitiveType(final Type type) {
-        switch (type.getSort()) {
-            case Type.BOOLEAN:
-            case Type.INT:
-            case Type.LONG:
-            case Type.DOUBLE:
-                return true;
-            default:
-                return false;
-        }
-    }
-
-    private static boolean isJSObjectType(final Type type) {
-        return isJavaLangObject(type) || isJavaLangString(type) || isScriptObject(type);
-    }
-
-    private static boolean isJavaLangObject(final Type type) {
-        return type.getDescriptor().equals(OBJECT_DESC);
-    }
-
-    private static boolean isJavaLangString(final Type type) {
-        return type.getDescriptor().equals(STRING_DESC);
-    }
-
-    private static boolean isScriptObject(final Type type) {
-        if (type.getDescriptor().equals(SCRIPTOBJECT_DESC)) {
-            return true;
-        }
-
-        if (type.getSort() == Type.OBJECT) {
-            try {
-                final Class<?> clazz = Class.forName(type.getClassName(), false, myLoader);
-                return ScriptObject.class.isAssignableFrom(clazz);
-            } catch (final ClassNotFoundException cnfe) {
-                return false;
-            }
-        }
-
-        return false;
-    }
-
-    private void error(final String msg) {
-        throw new RuntimeException(javaName + " of type " + javaDesc + " : " + msg);
-    }
-
-    /**
-     * @return the initClass
-     */
-    String getInitClass() {
-        return initClass;
-    }
-
-    /**
-     * @param initClass the initClass to set
-     */
-    void setInitClass(final String initClass) {
-        this.initClass = initClass;
-    }
-
-    @Override
-    protected Object clone() {
-        try {
-            return super.clone();
-        } catch (final CloneNotSupportedException e) {
-            assert false : "clone not supported " + e;
-            return null;
-        }
-    }
-
-    /**
-     * @return the arity
-     */
-    int getArity() {
-        return arity;
-    }
-
-    /**
-     * @param arity the arity to set
-     */
-    void setArity(final int arity) {
-        this.arity = arity;
-    }
-}
diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java
deleted file mode 100644
index a8bd954..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java
+++ /dev/null
@@ -1,454 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import static jdk.internal.org.objectweb.asm.Opcodes.AALOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.AASTORE;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_STATIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACONST_NULL;
-import static jdk.internal.org.objectweb.asm.Opcodes.ALOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.ANEWARRAY;
-import static jdk.internal.org.objectweb.asm.Opcodes.ARETURN;
-import static jdk.internal.org.objectweb.asm.Opcodes.ASM4;
-import static jdk.internal.org.objectweb.asm.Opcodes.ASTORE;
-import static jdk.internal.org.objectweb.asm.Opcodes.BALOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.BASTORE;
-import static jdk.internal.org.objectweb.asm.Opcodes.BIPUSH;
-import static jdk.internal.org.objectweb.asm.Opcodes.CALOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.CASTORE;
-import static jdk.internal.org.objectweb.asm.Opcodes.CHECKCAST;
-import static jdk.internal.org.objectweb.asm.Opcodes.DALOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.DASTORE;
-import static jdk.internal.org.objectweb.asm.Opcodes.DCONST_0;
-import static jdk.internal.org.objectweb.asm.Opcodes.DRETURN;
-import static jdk.internal.org.objectweb.asm.Opcodes.DUP;
-import static jdk.internal.org.objectweb.asm.Opcodes.DUP2;
-import static jdk.internal.org.objectweb.asm.Opcodes.FALOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.FASTORE;
-import static jdk.internal.org.objectweb.asm.Opcodes.FCONST_0;
-import static jdk.internal.org.objectweb.asm.Opcodes.FRETURN;
-import static jdk.internal.org.objectweb.asm.Opcodes.GETFIELD;
-import static jdk.internal.org.objectweb.asm.Opcodes.GETSTATIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.H_INVOKESTATIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.IALOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.IASTORE;
-import static jdk.internal.org.objectweb.asm.Opcodes.ICONST_0;
-import static jdk.internal.org.objectweb.asm.Opcodes.ICONST_1;
-import static jdk.internal.org.objectweb.asm.Opcodes.ILOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.INVOKEINTERFACE;
-import static jdk.internal.org.objectweb.asm.Opcodes.INVOKESPECIAL;
-import static jdk.internal.org.objectweb.asm.Opcodes.INVOKESTATIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.INVOKEVIRTUAL;
-import static jdk.internal.org.objectweb.asm.Opcodes.IRETURN;
-import static jdk.internal.org.objectweb.asm.Opcodes.ISTORE;
-import static jdk.internal.org.objectweb.asm.Opcodes.LALOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.LASTORE;
-import static jdk.internal.org.objectweb.asm.Opcodes.LCONST_0;
-import static jdk.internal.org.objectweb.asm.Opcodes.LRETURN;
-import static jdk.internal.org.objectweb.asm.Opcodes.NEW;
-import static jdk.internal.org.objectweb.asm.Opcodes.POP;
-import static jdk.internal.org.objectweb.asm.Opcodes.PUTFIELD;
-import static jdk.internal.org.objectweb.asm.Opcodes.PUTSTATIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.RETURN;
-import static jdk.internal.org.objectweb.asm.Opcodes.SALOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.SASTORE;
-import static jdk.internal.org.objectweb.asm.Opcodes.SIPUSH;
-import static jdk.internal.org.objectweb.asm.Opcodes.SWAP;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.INIT;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SPECIALIZATION_INIT2;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SPECIALIZATION_INIT3;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SPECIALIZATION_TYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.TYPE_SPECIALIZATION;
-import java.util.List;
-import jdk.internal.org.objectweb.asm.Handle;
-import jdk.internal.org.objectweb.asm.MethodVisitor;
-import jdk.internal.org.objectweb.asm.Type;
-import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic;
-
-/**
- * Base class for all method generating classes.
- *
- */
-public class MethodGenerator extends MethodVisitor {
-    private final int access;
-    private final String name;
-    private final String descriptor;
-    private final Type returnType;
-    private final Type[] argumentTypes;
-
-    static final Type EMPTY_LINK_LOGIC_TYPE = Type.getType(LinkLogic.getEmptyLinkLogicClass());
-
-    MethodGenerator(final MethodVisitor mv, final int access, final String name, final String descriptor) {
-        super(ASM4, mv);
-        this.access        = access;
-        this.name          = name;
-        this.descriptor    = descriptor;
-        this.returnType    = Type.getReturnType(descriptor);
-        this.argumentTypes = Type.getArgumentTypes(descriptor);
-    }
-
-    int getAccess() {
-        return access;
-    }
-
-    final String getName() {
-        return name;
-    }
-
-    final String getDescriptor() {
-        return descriptor;
-    }
-
-    final Type getReturnType() {
-        return returnType;
-    }
-
-    final Type[] getArgumentTypes() {
-        return argumentTypes;
-    }
-
-    /**
-     * Check whether access for this method is static
-     * @return true if static
-     */
-    protected final boolean isStatic() {
-        return (getAccess() & ACC_STATIC) != 0;
-    }
-
-    /**
-     * Check whether this method is a constructor
-     * @return true if constructor
-     */
-    protected final boolean isConstructor() {
-        return "<init>".equals(name);
-    }
-
-    void newObject(final String type) {
-        super.visitTypeInsn(NEW, type);
-    }
-
-    void newObjectArray(final String type) {
-        super.visitTypeInsn(ANEWARRAY, type);
-    }
-
-    void loadThis() {
-        if ((access & ACC_STATIC) != 0) {
-            throw new IllegalStateException("no 'this' inside static method");
-        }
-        super.visitVarInsn(ALOAD, 0);
-    }
-
-    void returnValue() {
-        super.visitInsn(returnType.getOpcode(IRETURN));
-    }
-
-    void returnVoid() {
-        super.visitInsn(RETURN);
-    }
-
-    // load, store
-    void arrayLoad(final Type type) {
-        super.visitInsn(type.getOpcode(IALOAD));
-    }
-
-    void arrayLoad() {
-        super.visitInsn(AALOAD);
-    }
-
-    void arrayStore(final Type type) {
-        super.visitInsn(type.getOpcode(IASTORE));
-    }
-
-    void arrayStore() {
-        super.visitInsn(AASTORE);
-    }
-
-    void loadLiteral(final Object value) {
-        super.visitLdcInsn(value);
-    }
-
-    void classLiteral(final String className) {
-        super.visitLdcInsn(className);
-    }
-
-    void loadLocal(final Type type, final int index) {
-        super.visitVarInsn(type.getOpcode(ILOAD), index);
-    }
-
-    void loadLocal(final int index) {
-        super.visitVarInsn(ALOAD, index);
-    }
-
-    void storeLocal(final Type type, final int index) {
-        super.visitVarInsn(type.getOpcode(ISTORE), index);
-    }
-
-    void storeLocal(final int index) {
-        super.visitVarInsn(ASTORE, index);
-    }
-
-    void checkcast(final String type) {
-        super.visitTypeInsn(CHECKCAST, type);
-    }
-
-    // push constants/literals
-    void pushNull() {
-        super.visitInsn(ACONST_NULL);
-    }
-
-    void push(final int value) {
-        if (value >= -1 && value <= 5) {
-            super.visitInsn(ICONST_0 + value);
-        } else if (value >= Byte.MIN_VALUE && value <= Byte.MAX_VALUE) {
-            super.visitIntInsn(BIPUSH, value);
-        } else if (value >= Short.MIN_VALUE && value <= Short.MAX_VALUE) {
-            super.visitIntInsn(SIPUSH, value);
-        } else {
-            super.visitLdcInsn(value);
-        }
-    }
-
-    void loadClass(final String className) {
-        super.visitLdcInsn(Type.getObjectType(className));
-    }
-
-    void pop() {
-        super.visitInsn(POP);
-    }
-
-    // various "dups"
-    void dup() {
-        super.visitInsn(DUP);
-    }
-
-    void dup2() {
-        super.visitInsn(DUP2);
-    }
-
-    void swap() {
-        super.visitInsn(SWAP);
-    }
-
-    void dupArrayValue(final int arrayOpcode) {
-        switch (arrayOpcode) {
-            case IALOAD: case FALOAD:
-            case AALOAD: case BALOAD:
-            case CALOAD: case SALOAD:
-            case IASTORE: case FASTORE:
-            case AASTORE: case BASTORE:
-            case CASTORE: case SASTORE:
-                dup();
-            break;
-
-            case LALOAD: case DALOAD:
-            case LASTORE: case DASTORE:
-                dup2();
-            break;
-            default:
-                throw new AssertionError("invalid dup");
-        }
-    }
-
-    void dupReturnValue(final int returnOpcode) {
-        switch (returnOpcode) {
-            case IRETURN:
-            case FRETURN:
-            case ARETURN:
-                super.visitInsn(DUP);
-                return;
-            case LRETURN:
-            case DRETURN:
-                super.visitInsn(DUP2);
-                return;
-            case RETURN:
-                return;
-            default:
-                throw new IllegalArgumentException("not return");
-        }
-    }
-
-    void dupValue(final Type type) {
-        switch (type.getSize()) {
-            case 1:
-                dup();
-            break;
-            case 2:
-                dup2();
-            break;
-            default:
-                throw new AssertionError("invalid dup");
-        }
-    }
-
-    void dupValue(final String desc) {
-        final int typeCode = desc.charAt(0);
-        switch (typeCode) {
-            case '[':
-            case 'L':
-            case 'Z':
-            case 'C':
-            case 'B':
-            case 'S':
-            case 'I':
-                super.visitInsn(DUP);
-                break;
-            case 'J':
-            case 'D':
-                super.visitInsn(DUP2);
-                break;
-            default:
-                throw new RuntimeException("invalid signature");
-        }
-    }
-
-    // push default value of given type desc
-    void defaultValue(final String desc) {
-        final int typeCode = desc.charAt(0);
-        switch (typeCode) {
-            case '[':
-            case 'L':
-                super.visitInsn(ACONST_NULL);
-                break;
-            case 'Z':
-            case 'C':
-            case 'B':
-            case 'S':
-            case 'I':
-                super.visitInsn(ICONST_0);
-                break;
-            case 'J':
-                super.visitInsn(LCONST_0);
-                break;
-            case 'F':
-                super.visitInsn(FCONST_0);
-                break;
-            case 'D':
-                super.visitInsn(DCONST_0);
-                break;
-            default:
-                throw new AssertionError("invalid desc " + desc);
-        }
-    }
-
-    // invokes, field get/sets
-    void invokeInterface(final String owner, final String method, final String desc) {
-        super.visitMethodInsn(INVOKEINTERFACE, owner, method, desc, true);
-    }
-
-    void invokeVirtual(final String owner, final String method, final String desc) {
-        super.visitMethodInsn(INVOKEVIRTUAL, owner, method, desc, false);
-    }
-
-    void invokeSpecial(final String owner, final String method, final String desc) {
-        super.visitMethodInsn(INVOKESPECIAL, owner, method, desc, false);
-    }
-
-    void invokeStatic(final String owner, final String method, final String desc) {
-        super.visitMethodInsn(INVOKESTATIC, owner, method, desc, false);
-    }
-
-    void putStatic(final String owner, final String field, final String desc) {
-        super.visitFieldInsn(PUTSTATIC, owner, field, desc);
-    }
-
-    void getStatic(final String owner, final String field, final String desc) {
-        super.visitFieldInsn(GETSTATIC, owner, field, desc);
-    }
-
-    void putField(final String owner, final String field, final String desc) {
-        super.visitFieldInsn(PUTFIELD, owner, field, desc);
-    }
-
-    void getField(final String owner, final String field, final String desc) {
-        super.visitFieldInsn(GETFIELD, owner, field, desc);
-    }
-
-    private static boolean linkLogicIsEmpty(final Type type) {
-        assert EMPTY_LINK_LOGIC_TYPE != null; //type is ok for null if we are a @SpecializedFunction without any attribs
-        return EMPTY_LINK_LOGIC_TYPE.equals(type);
-    }
-
-    void memberInfoArray(final String className, final List<MemberInfo> mis) {
-        if (mis.isEmpty()) {
-            pushNull();
-            return;
-        }
-
-        int pos = 0;
-        push(mis.size());
-        newObjectArray(SPECIALIZATION_TYPE);
-        for (final MemberInfo mi : mis) {
-            dup();
-            push(pos++);
-            visitTypeInsn(NEW, SPECIALIZATION_TYPE);
-            dup();
-            visitLdcInsn(new Handle(H_INVOKESTATIC, className, mi.getJavaName(), mi.getJavaDesc()));
-            final Type    linkLogicClass = mi.getLinkLogicClass();
-            final boolean linkLogic      = !linkLogicIsEmpty(linkLogicClass);
-            final String  ctor           = linkLogic ? SPECIALIZATION_INIT3 : SPECIALIZATION_INIT2;
-            if (linkLogic) {
-                visitLdcInsn(linkLogicClass);
-            }
-            visitInsn(mi.isOptimistic() ? ICONST_1 : ICONST_0);
-            visitMethodInsn(INVOKESPECIAL, SPECIALIZATION_TYPE, INIT, ctor, false);
-            arrayStore(TYPE_SPECIALIZATION);
-        }
-    }
-
-    void computeMaxs() {
-        // These values are ignored as we create class writer
-        // with ClassWriter.COMPUTE_MAXS flag.
-        super.visitMaxs(Short.MAX_VALUE, Short.MAX_VALUE);
-    }
-
-    // debugging support - print calls
-    void println(final String msg) {
-        super.visitFieldInsn(GETSTATIC,
-                    "java/lang/System",
-                    "out",
-                    "Ljava/io/PrintStream;");
-        super.visitLdcInsn(msg);
-        super.visitMethodInsn(INVOKEVIRTUAL,
-                    "java/io/PrintStream",
-                    "println",
-                    "(Ljava/lang/String;)V",
-                    false);
-    }
-
-    // print the object on the top of the stack
-    void printObject() {
-        super.visitFieldInsn(GETSTATIC,
-                    "java/lang/System",
-                    "out",
-                    "Ljava/io/PrintStream;");
-        super.visitInsn(SWAP);
-        super.visitMethodInsn(INVOKEVIRTUAL,
-                    "java/io/PrintStream",
-                    "println",
-                    "(Ljava/lang/Object;)V",
-                    false);
-    }
-}
diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/NullVisitor.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/NullVisitor.java
deleted file mode 100644
index de2f392..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/NullVisitor.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import jdk.internal.org.objectweb.asm.AnnotationVisitor;
-import jdk.internal.org.objectweb.asm.ClassVisitor;
-import jdk.internal.org.objectweb.asm.FieldVisitor;
-import jdk.internal.org.objectweb.asm.MethodVisitor;
-import jdk.internal.org.objectweb.asm.Opcodes;
-
-/**
- * A visitor that does nothing on visitXXX calls.
- *
- */
-public class NullVisitor extends ClassVisitor {
-    NullVisitor() {
-        super(Opcodes.ASM4);
-    }
-
-    @Override
-    public MethodVisitor visitMethod(
-        final int access,
-        final String name,
-        final String desc,
-        final String signature,
-        final String[] exceptions) {
-        return new MethodVisitor(Opcodes.ASM4) {
-            @Override
-            public AnnotationVisitor visitAnnotationDefault() {
-                return new NullAnnotationVisitor();
-            }
-
-            @Override
-            public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) {
-                return new NullAnnotationVisitor();
-            }
-        };
-    }
-
-    @Override
-    public FieldVisitor visitField(
-        final int access,
-        final String name,
-        final String desc,
-        final String signature,
-        final Object value) {
-        return new FieldVisitor(Opcodes.ASM4) {
-            @Override
-            public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) {
-                return new NullAnnotationVisitor();
-            }
-        };
-    }
-
-    @Override
-    public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) {
-        return new NullAnnotationVisitor();
-    }
-
-    private static class NullAnnotationVisitor extends AnnotationVisitor {
-        NullAnnotationVisitor() {
-            super(Opcodes.ASM4);
-        }
-    }
-}
diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java
deleted file mode 100644
index 80308ac..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/PrototypeGenerator.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_FINAL;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_PUBLIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.ACC_SUPER;
-import static jdk.internal.org.objectweb.asm.Opcodes.V1_7;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.DEFAULT_INIT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.INIT;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.OBJECT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROPERTYMAP_FIELD_NAME;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROTOTYPEOBJECT_TYPE;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.PROTOTYPE_SUFFIX;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTOBJECT_INIT_DESC;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-/**
- * This class generates prototype class for a @ScriptClass annotated class.
- *
- */
-public class PrototypeGenerator extends ClassGenerator {
-    private final ScriptClassInfo scriptClassInfo;
-    private final String className;
-    private final int memberCount;
-
-    PrototypeGenerator(final ScriptClassInfo sci) {
-        this.scriptClassInfo = sci;
-        this.className = scriptClassInfo.getPrototypeClassName();
-        this.memberCount = scriptClassInfo.getPrototypeMemberCount();
-    }
-
-    byte[] getClassBytes() {
-        // new class extending from ScriptObject
-        cw.visit(V1_7, ACC_FINAL | ACC_SUPER, className, null, PROTOTYPEOBJECT_TYPE, null);
-        if (memberCount > 0) {
-            // add fields
-            emitFields();
-            // add <clinit>
-            emitStaticInitializer();
-        }
-
-        // add <init>
-        emitConstructor();
-
-        // add getClassName()
-        emitGetClassName(scriptClassInfo.getName());
-
-        cw.visitEnd();
-        return cw.toByteArray();
-    }
-
-    // --Internals only below this point
-    private void emitFields() {
-        // introduce "Function" type instance fields for each
-        // prototype @Function in script class info
-        for (MemberInfo memInfo : scriptClassInfo.getMembers()) {
-            if (memInfo.isPrototypeFunction()) {
-                addFunctionField(memInfo.getJavaName());
-                memInfo = (MemberInfo)memInfo.clone();
-                memInfo.setJavaDesc(OBJECT_DESC);
-                addGetter(className, memInfo);
-                addSetter(className, memInfo);
-            } else if (memInfo.isPrototypeProperty()) {
-                if (memInfo.isStaticFinal()) {
-                    addGetter(scriptClassInfo.getJavaName(), memInfo);
-                } else {
-                    addField(memInfo.getJavaName(), memInfo.getJavaDesc());
-                    memInfo = (MemberInfo)memInfo.clone();
-                    memInfo.setJavaAccess(ACC_PUBLIC);
-                    addGetter(className, memInfo);
-                    addSetter(className, memInfo);
-                }
-            }
-        }
-
-        addMapField();
-    }
-
-    private void emitStaticInitializer() {
-        final MethodGenerator mi = makeStaticInitializer();
-        emitStaticInitPrefix(mi, className, memberCount);
-        for (final MemberInfo memInfo : scriptClassInfo.getMembers()) {
-            if (memInfo.isPrototypeFunction() || memInfo.isPrototypeProperty()) {
-                linkerAddGetterSetter(mi, className, memInfo);
-            } else if (memInfo.isPrototypeGetter()) {
-                final MemberInfo setter = scriptClassInfo.findSetter(memInfo);
-                linkerAddGetterSetter(mi, scriptClassInfo.getJavaName(), memInfo, setter);
-            }
-        }
-        emitStaticInitSuffix(mi, className);
-    }
-
-    private void emitConstructor() {
-        final MethodGenerator mi = makeConstructor();
-        mi.visitCode();
-        mi.loadThis();
-        if (memberCount > 0) {
-            // call "super(map$)"
-            mi.getStatic(className, PROPERTYMAP_FIELD_NAME, PROPERTYMAP_DESC);
-            mi.invokeSpecial(PROTOTYPEOBJECT_TYPE, INIT, SCRIPTOBJECT_INIT_DESC);
-            // initialize Function type fields
-            initFunctionFields(mi);
-        } else {
-            // call "super()"
-            mi.invokeSpecial(PROTOTYPEOBJECT_TYPE, INIT, DEFAULT_INIT_DESC);
-        }
-        mi.returnVoid();
-        mi.computeMaxs();
-        mi.visitEnd();
-    }
-
-    private void initFunctionFields(final MethodGenerator mi) {
-        for (final MemberInfo memInfo : scriptClassInfo.getMembers()) {
-            if (! memInfo.isPrototypeFunction()) {
-                continue;
-            }
-            mi.loadThis();
-            newFunction(mi, scriptClassInfo.getJavaName(), memInfo, scriptClassInfo.findSpecializations(memInfo.getJavaName()));
-            mi.putField(className, memInfo.getJavaName(), OBJECT_DESC);
-        }
-    }
-
-    /**
-     * External entry point for PrototypeGenerator if called from the command line
-     *
-     * @param args arguments, takes 1 argument which is the class to process
-     * @throws IOException if class cannot be read
-     */
-    public static void main(final String[] args) throws IOException {
-        if (args.length != 1) {
-            System.err.println("Usage: " + PrototypeGenerator.class.getName() + " <class>");
-            System.exit(1);
-        }
-
-        final String className = args[0].replace('.', '/');
-        final ScriptClassInfo sci = getScriptClassInfo(className + ".class");
-        if (sci == null) {
-            System.err.println("No @ScriptClass in " + className);
-            System.exit(2);
-            throw new AssertionError(); //guard against warning that sci is null below
-        }
-        try {
-            sci.verify();
-        } catch (final Exception e) {
-            System.err.println(e.getMessage());
-            System.exit(3);
-        }
-        final PrototypeGenerator gen = new PrototypeGenerator(sci);
-        try (FileOutputStream fos = new FileOutputStream(className + PROTOTYPE_SUFFIX + ".class")) {
-            fos.write(gen.getClassBytes());
-        }
-    }
-}
diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java
deleted file mode 100644
index ca9a325..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import jdk.internal.org.objectweb.asm.Type;
-import jdk.nashorn.internal.objects.annotations.Constructor;
-import jdk.nashorn.internal.objects.annotations.Function;
-import jdk.nashorn.internal.objects.annotations.Getter;
-import jdk.nashorn.internal.objects.annotations.Property;
-import jdk.nashorn.internal.objects.annotations.ScriptClass;
-import jdk.nashorn.internal.objects.annotations.Setter;
-import jdk.nashorn.internal.objects.annotations.SpecializedFunction;
-import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic;
-import jdk.nashorn.internal.objects.annotations.Where;
-import jdk.nashorn.internal.tools.nasgen.MemberInfo.Kind;
-
-/**
- * All annotation information from a class that is annotated with
- * the annotation com.sun.oracle.objects.annotations.ScriptClass.
- *
- */
-public final class ScriptClassInfo {
-    // descriptors for various annotations
-    static final String SCRIPT_CLASS_ANNO_DESC  = Type.getDescriptor(ScriptClass.class);
-    static final String CONSTRUCTOR_ANNO_DESC   = Type.getDescriptor(Constructor.class);
-    static final String FUNCTION_ANNO_DESC      = Type.getDescriptor(Function.class);
-    static final String GETTER_ANNO_DESC        = Type.getDescriptor(Getter.class);
-    static final String SETTER_ANNO_DESC        = Type.getDescriptor(Setter.class);
-    static final String PROPERTY_ANNO_DESC      = Type.getDescriptor(Property.class);
-    static final String WHERE_ENUM_DESC         = Type.getDescriptor(Where.class);
-    static final String LINK_LOGIC_DESC         = Type.getDescriptor(LinkLogic.class);
-    static final String SPECIALIZED_FUNCTION    = Type.getDescriptor(SpecializedFunction.class);
-
-    static final Map<String, Kind> annotations = new HashMap<>();
-
-    static {
-        annotations.put(SCRIPT_CLASS_ANNO_DESC, Kind.SCRIPT_CLASS);
-        annotations.put(FUNCTION_ANNO_DESC, Kind.FUNCTION);
-        annotations.put(CONSTRUCTOR_ANNO_DESC, Kind.CONSTRUCTOR);
-        annotations.put(GETTER_ANNO_DESC, Kind.GETTER);
-        annotations.put(SETTER_ANNO_DESC, Kind.SETTER);
-        annotations.put(PROPERTY_ANNO_DESC, Kind.PROPERTY);
-        annotations.put(SPECIALIZED_FUNCTION, Kind.SPECIALIZED_FUNCTION);
-    }
-
-    // name of the script class
-    private String name;
-    // member info for script properties
-    private List<MemberInfo> members = Collections.emptyList();
-    // java class name that is annotated with @ScriptClass
-    private String javaName;
-
-    /**
-     * @return the name
-     */
-    public String getName() {
-        return name;
-    }
-
-    /**
-     * @param name the name to set
-     */
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-    /**
-     * @return the members
-     */
-    public List<MemberInfo> getMembers() {
-        return Collections.unmodifiableList(members);
-    }
-
-    /**
-     * @param members the members to set
-     */
-    public void setMembers(final List<MemberInfo> members) {
-        this.members = members;
-    }
-
-    MemberInfo getConstructor() {
-        for (final MemberInfo memInfo : members) {
-            if (memInfo.getKind() == Kind.CONSTRUCTOR) {
-                return memInfo;
-            }
-        }
-        return null;
-    }
-
-    List<MemberInfo> getSpecializedConstructors() {
-        final List<MemberInfo> res = new LinkedList<>();
-        for (final MemberInfo memInfo : members) {
-            if (memInfo.isSpecializedConstructor()) {
-                assert memInfo.getKind() == Kind.SPECIALIZED_FUNCTION;
-                res.add(memInfo);
-            }
-        }
-        return Collections.unmodifiableList(res);
-    }
-
-    boolean isConstructorNeeded() {
-        // Constructor class generation is needed if we one or
-        // more constructor properties are defined or @Constructor
-        // is defined in the class.
-        for (final MemberInfo memInfo : members) {
-            if (memInfo.getKind() == Kind.CONSTRUCTOR ||
-                memInfo.getWhere() == Where.CONSTRUCTOR) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    boolean isPrototypeNeeded() {
-        // Prototype class generation is needed if we have at least one
-        // prototype property or @Constructor defined in the class.
-        for (final MemberInfo memInfo : members) {
-            if (memInfo.getWhere() == Where.PROTOTYPE || memInfo.isConstructor()) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    int getPrototypeMemberCount() {
-        int count = 0;
-        for (final MemberInfo memInfo : members) {
-            switch (memInfo.getKind()) {
-                case SETTER:
-                case SPECIALIZED_FUNCTION:
-                    // SETTER was counted when GETTER was encountered.
-                    // SPECIALIZED_FUNCTION was counted as FUNCTION already.
-                    continue;
-            }
-
-            if (memInfo.getWhere() == Where.PROTOTYPE) {
-                count++;
-            }
-        }
-        return count;
-    }
-
-    int getConstructorMemberCount() {
-        int count = 0;
-        for (final MemberInfo memInfo : members) {
-            switch (memInfo.getKind()) {
-                case CONSTRUCTOR:
-                case SETTER:
-                case SPECIALIZED_FUNCTION:
-                    // SETTER was counted when GETTER was encountered.
-                    // Constructor and constructor SpecializedFunctions
-                    // are not added as members and so not counted.
-                    continue;
-            }
-
-            if (memInfo.getWhere() == Where.CONSTRUCTOR) {
-                count++;
-            }
-        }
-        return count;
-    }
-
-    int getInstancePropertyCount() {
-        int count = 0;
-        for (final MemberInfo memInfo : members) {
-            switch (memInfo.getKind()) {
-                case SETTER:
-                case SPECIALIZED_FUNCTION:
-                    // SETTER was counted when GETTER was encountered.
-                    // SPECIALIZED_FUNCTION was counted as FUNCTION already.
-                    continue;
-            }
-
-            if (memInfo.getWhere() == Where.INSTANCE) {
-                count++;
-            }
-        }
-        return count;
-    }
-
-    MemberInfo find(final String findJavaName, final String findJavaDesc, final int findAccess) {
-        for (final MemberInfo memInfo : members) {
-            if (memInfo.getJavaName().equals(findJavaName) &&
-                memInfo.getJavaDesc().equals(findJavaDesc) &&
-                memInfo.getJavaAccess() == findAccess) {
-                return memInfo;
-            }
-        }
-        return null;
-    }
-
-    List<MemberInfo> findSpecializations(final String methodName) {
-        final List<MemberInfo> res = new LinkedList<>();
-        for (final MemberInfo memInfo : members) {
-            if (memInfo.getName().equals(methodName) &&
-                memInfo.getKind() == Kind.SPECIALIZED_FUNCTION) {
-                res.add(memInfo);
-            }
-        }
-        return Collections.unmodifiableList(res);
-    }
-
-    MemberInfo findSetter(final MemberInfo getter) {
-        assert getter.getKind() == Kind.GETTER : "getter expected";
-        final String getterName = getter.getName();
-        final Where getterWhere = getter.getWhere();
-        for (final MemberInfo memInfo : members) {
-            if (memInfo.getKind() == Kind.SETTER &&
-                getterName.equals(memInfo.getName()) &&
-                getterWhere == memInfo.getWhere()) {
-                return memInfo;
-            }
-        }
-        return null;
-    }
-
-    /**
-     * @return the javaName
-     */
-    public String getJavaName() {
-        return javaName;
-    }
-
-    /**
-     * @param javaName the javaName to set
-     */
-    void setJavaName(final String javaName) {
-        this.javaName = javaName;
-    }
-
-    String getConstructorClassName() {
-        return getJavaName() + StringConstants.CONSTRUCTOR_SUFFIX;
-    }
-
-    String getPrototypeClassName() {
-        return getJavaName() + StringConstants.PROTOTYPE_SUFFIX;
-    }
-
-    void verify() {
-        boolean constructorSeen = false;
-        for (final MemberInfo memInfo : getMembers()) {
-            if (memInfo.isConstructor()) {
-                if (constructorSeen) {
-                    error("more than @Constructor method");
-                }
-                constructorSeen = true;
-            }
-            try {
-                memInfo.verify();
-            } catch (final Exception e) {
-                error(e.getMessage());
-            }
-        }
-    }
-
-    private void error(final String msg) throws RuntimeException {
-        throw new RuntimeException(javaName + " : " + msg);
-    }
-}
diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfoCollector.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfoCollector.java
deleted file mode 100644
index 62fa339..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfoCollector.java
+++ /dev/null
@@ -1,359 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import static jdk.nashorn.internal.tools.nasgen.ScriptClassInfo.SCRIPT_CLASS_ANNO_DESC;
-import static jdk.nashorn.internal.tools.nasgen.ScriptClassInfo.WHERE_ENUM_DESC;
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import jdk.internal.org.objectweb.asm.AnnotationVisitor;
-import jdk.internal.org.objectweb.asm.ClassReader;
-import jdk.internal.org.objectweb.asm.ClassVisitor;
-import jdk.internal.org.objectweb.asm.FieldVisitor;
-import jdk.internal.org.objectweb.asm.MethodVisitor;
-import jdk.internal.org.objectweb.asm.Opcodes;
-import jdk.internal.org.objectweb.asm.Type;
-import jdk.nashorn.internal.objects.annotations.Where;
-import jdk.nashorn.internal.tools.nasgen.MemberInfo.Kind;
-
-/**
- * This class collects all @ScriptClass and other annotation information from a
- * compiled .class file. Enforces that @Function/@Getter/@Setter/@Constructor
- * methods are declared to be 'static'.
- */
-public class ScriptClassInfoCollector extends ClassVisitor {
-    private String scriptClassName;
-    private List<MemberInfo> scriptMembers;
-    private String javaClassName;
-
-    ScriptClassInfoCollector(final ClassVisitor visitor) {
-        super(Opcodes.ASM4, visitor);
-    }
-
-    ScriptClassInfoCollector() {
-        this(new NullVisitor());
-    }
-
-    private void addScriptMember(final MemberInfo memInfo) {
-        if (scriptMembers == null) {
-            scriptMembers = new ArrayList<>();
-        }
-        scriptMembers.add(memInfo);
-    }
-
-    @Override
-    public void visit(final int version, final int access, final String name, final String signature,
-           final String superName, final String[] interfaces) {
-        super.visit(version, access, name, signature, superName, interfaces);
-        javaClassName = name;
-    }
-
-    @Override
-    public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) {
-        final AnnotationVisitor delegateAV = super.visitAnnotation(desc, visible);
-        if (SCRIPT_CLASS_ANNO_DESC.equals(desc)) {
-            return new AnnotationVisitor(Opcodes.ASM4, delegateAV) {
-                @Override
-                public void visit(final String name, final Object value) {
-                    if ("value".equals(name)) {
-                        scriptClassName = (String) value;
-                    }
-                    super.visit(name, value);
-                }
-            };
-        }
-
-        return delegateAV;
-    }
-
-    @Override
-    public FieldVisitor visitField(final int fieldAccess, final String fieldName, final String fieldDesc, final String signature, final Object value) {
-        final FieldVisitor delegateFV = super.visitField(fieldAccess, fieldName, fieldDesc, signature, value);
-
-        return new FieldVisitor(Opcodes.ASM4, delegateFV) {
-            @Override
-            public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) {
-                final AnnotationVisitor delegateAV = super.visitAnnotation(descriptor, visible);
-
-                if (ScriptClassInfo.PROPERTY_ANNO_DESC.equals(descriptor)) {
-                    final MemberInfo memInfo = new MemberInfo();
-
-                    memInfo.setKind(Kind.PROPERTY);
-                    memInfo.setJavaName(fieldName);
-                    memInfo.setJavaDesc(fieldDesc);
-                    memInfo.setJavaAccess(fieldAccess);
-
-                    if ((fieldAccess & Opcodes.ACC_STATIC) != 0) {
-                        memInfo.setValue(value);
-                    }
-
-                    addScriptMember(memInfo);
-
-                    return new AnnotationVisitor(Opcodes.ASM4, delegateAV) {
-                        // These could be "null" if values are not supplied,
-                        // in which case we have to use the default values.
-                        private String  name;
-                        private Integer attributes;
-                        private String  clazz = "";
-                        private Where   where;
-
-                        @Override
-                        public void visit(final String annotationName, final Object annotationValue) {
-                            switch (annotationName) {
-                            case "name":
-                                this.name = (String) annotationValue;
-                                break;
-                            case "attributes":
-                                this.attributes = (Integer) annotationValue;
-                                break;
-                            case "clazz":
-                                this.clazz = (annotationValue == null) ? "" : annotationValue.toString();
-                                break;
-                            default:
-                                break;
-                            }
-                            super.visit(annotationName, annotationValue);
-                        }
-
-                        @Override
-                        public void visitEnum(final String enumName, final String desc, final String enumValue) {
-                            if ("where".equals(enumName) && WHERE_ENUM_DESC.equals(desc)) {
-                                this.where = Where.valueOf(enumValue);
-                            }
-                            super.visitEnum(enumName, desc, enumValue);
-                        }
-
-                        @Override
-                        public void visitEnd() {
-                            super.visitEnd();
-                            memInfo.setName(name == null ? fieldName : name);
-                            memInfo.setAttributes(attributes == null
-                                    ? MemberInfo.DEFAULT_ATTRIBUTES : attributes);
-                            clazz = clazz.replace('.', '/');
-                            memInfo.setInitClass(clazz);
-                            memInfo.setWhere(where == null? Where.INSTANCE : where);
-                        }
-                    };
-                }
-
-                return delegateAV;
-            }
-        };
-    }
-
-    private void error(final String javaName, final String javaDesc, final String msg) {
-        throw new RuntimeException(scriptClassName + "." + javaName + javaDesc + " : " + msg);
-    }
-
-    @Override
-    public MethodVisitor visitMethod(final int methodAccess, final String methodName,
-            final String methodDesc, final String signature, final String[] exceptions) {
-
-        final MethodVisitor delegateMV = super.visitMethod(methodAccess, methodName, methodDesc,
-                signature, exceptions);
-
-        return new MethodVisitor(Opcodes.ASM4, delegateMV) {
-
-            @Override
-            public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) {
-                final AnnotationVisitor delegateAV = super.visitAnnotation(descriptor, visible);
-                final Kind annoKind = ScriptClassInfo.annotations.get(descriptor);
-
-                if (annoKind != null) {
-                    if ((methodAccess & Opcodes.ACC_STATIC) == 0) {
-                        error(methodName, methodDesc, "nasgen method annotations cannot be on instance methods");
-                    }
-
-                    final MemberInfo memInfo = new MemberInfo();
-
-                    // annoKind == GETTER or SPECIALIZED_FUNCTION
-                    memInfo.setKind(annoKind);
-                    memInfo.setJavaName(methodName);
-                    memInfo.setJavaDesc(methodDesc);
-                    memInfo.setJavaAccess(methodAccess);
-
-                    addScriptMember(memInfo);
-
-                    return new AnnotationVisitor(Opcodes.ASM4, delegateAV) {
-                        // These could be "null" if values are not supplied,
-                        // in which case we have to use the default values.
-                        private String  name;
-                        private Integer attributes;
-                        private Integer arity;
-                        private Where   where;
-                        private boolean isSpecializedConstructor;
-                        private boolean isOptimistic;
-                        private Type    linkLogicClass = MethodGenerator.EMPTY_LINK_LOGIC_TYPE;
-
-                        @Override
-                        public void visit(final String annotationName, final Object annotationValue) {
-                            switch (annotationName) {
-                            case "name":
-                                this.name = (String)annotationValue;
-                                if (name.isEmpty()) {
-                                    name = null;
-                                }
-                                break;
-                            case "attributes":
-                                this.attributes = (Integer)annotationValue;
-                                break;
-                            case "arity":
-                                this.arity = (Integer)annotationValue;
-                                break;
-                            case "isConstructor":
-                                assert annoKind == Kind.SPECIALIZED_FUNCTION;
-                                this.isSpecializedConstructor = (Boolean)annotationValue;
-                                break;
-                            case "isOptimistic":
-                                assert annoKind == Kind.SPECIALIZED_FUNCTION;
-                                this.isOptimistic = (Boolean)annotationValue;
-                                break;
-                            case "linkLogic":
-                                this.linkLogicClass = (Type)annotationValue;
-                                break;
-                            default:
-                                break;
-                            }
-
-                            super.visit(annotationName, annotationValue);
-                        }
-
-                        @Override
-                        public void visitEnum(final String enumName, final String desc, final String enumValue) {
-                            switch (enumName) {
-                            case "where":
-                                if (WHERE_ENUM_DESC.equals(desc)) {
-                                    this.where = Where.valueOf(enumValue);
-                                }
-                                break;
-                            default:
-                                break;
-                            }
-                            super.visitEnum(enumName, desc, enumValue);
-                        }
-
-                        @SuppressWarnings("fallthrough")
-                        @Override
-                        public void visitEnd() {
-                            super.visitEnd();
-
-                            if (memInfo.getKind() == Kind.CONSTRUCTOR) {
-                                memInfo.setName(name == null ? scriptClassName : name);
-                            } else {
-                                memInfo.setName(name == null ? methodName : name);
-                            }
-                            memInfo.setAttributes(attributes == null ? MemberInfo.DEFAULT_ATTRIBUTES : attributes);
-
-                            memInfo.setArity((arity == null)? MemberInfo.DEFAULT_ARITY : arity);
-                            if (where == null) {
-                                // by default @Getter/@Setter belongs to INSTANCE
-                                // @Function belong to PROTOTYPE.
-                                switch (memInfo.getKind()) {
-                                    case GETTER:
-                                    case SETTER:
-                                        where = Where.INSTANCE;
-                                        break;
-                                    case CONSTRUCTOR:
-                                        where = Where.CONSTRUCTOR;
-                                        break;
-                                    case FUNCTION:
-                                        where = Where.PROTOTYPE;
-                                        break;
-                                    case SPECIALIZED_FUNCTION:
-                                        where = isSpecializedConstructor? Where.CONSTRUCTOR : Where.PROTOTYPE;
-                                        //fallthru
-                                    default:
-                                        break;
-                                }
-                            }
-                            memInfo.setWhere(where);
-                            memInfo.setLinkLogicClass(linkLogicClass);
-                            memInfo.setIsSpecializedConstructor(isSpecializedConstructor);
-                            memInfo.setIsOptimistic(isOptimistic);
-                        }
-                    };
-                }
-
-                return delegateAV;
-            }
-        };
-    }
-
-    ScriptClassInfo getScriptClassInfo() {
-        ScriptClassInfo sci = null;
-        if (scriptClassName != null) {
-            sci = new ScriptClassInfo();
-            sci.setName(scriptClassName);
-            if (scriptMembers == null) {
-                scriptMembers = Collections.emptyList();
-            }
-            sci.setMembers(scriptMembers);
-            sci.setJavaName(javaClassName);
-        }
-        return sci;
-    }
-
-    /**
-     * External entry point for ScriptClassInfoCollector if invoked from the command line
-     * @param args argument vector, args contains a class for which to collect info
-     * @throws IOException if there were problems parsing args or class
-     */
-    public static void main(final String[] args) throws IOException {
-        if (args.length != 1) {
-            System.err.println("Usage: " + ScriptClassInfoCollector.class.getName() + " <class>");
-            System.exit(1);
-        }
-
-        args[0] = args[0].replace('.', '/');
-        final ScriptClassInfoCollector scic = new ScriptClassInfoCollector();
-        try (final BufferedInputStream bis = new BufferedInputStream(new FileInputStream(args[0] + ".class"))) {
-            final ClassReader reader = new ClassReader(bis);
-            reader.accept(scic, 0);
-        }
-        final ScriptClassInfo sci = scic.getScriptClassInfo();
-        final PrintStream out = System.out;
-        if (sci != null) {
-            out.println("script class: " + sci.getName());
-            out.println("===================================");
-            for (final MemberInfo memInfo : sci.getMembers()) {
-                out.println("kind : " + memInfo.getKind());
-                out.println("name : " + memInfo.getName());
-                out.println("attributes: " + memInfo.getAttributes());
-                out.println("javaName: " + memInfo.getJavaName());
-                out.println("javaDesc: " + memInfo.getJavaDesc());
-                out.println("where: " + memInfo.getWhere());
-                out.println("=====================================");
-            }
-        } else {
-            out.println(args[0] + " is not a @ScriptClass");
-        }
-    }
-}
diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java
deleted file mode 100644
index 354289c..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInstrumentor.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import static jdk.internal.org.objectweb.asm.Opcodes.ALOAD;
-import static jdk.internal.org.objectweb.asm.Opcodes.DUP;
-import static jdk.internal.org.objectweb.asm.Opcodes.INVOKESPECIAL;
-import static jdk.internal.org.objectweb.asm.Opcodes.INVOKESTATIC;
-import static jdk.internal.org.objectweb.asm.Opcodes.NEW;
-import static jdk.internal.org.objectweb.asm.Opcodes.PUTFIELD;
-import static jdk.internal.org.objectweb.asm.Opcodes.RETURN;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.$CLINIT$;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.CLINIT;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.DEFAULT_INIT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.INIT;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.OBJECT_DESC;
-import static jdk.nashorn.internal.tools.nasgen.StringConstants.SCRIPTOBJECT_TYPE;
-import java.io.BufferedInputStream;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import jdk.internal.org.objectweb.asm.AnnotationVisitor;
-import jdk.internal.org.objectweb.asm.Attribute;
-import jdk.internal.org.objectweb.asm.ClassReader;
-import jdk.internal.org.objectweb.asm.ClassVisitor;
-import jdk.internal.org.objectweb.asm.ClassWriter;
-import jdk.internal.org.objectweb.asm.FieldVisitor;
-import jdk.internal.org.objectweb.asm.MethodVisitor;
-import jdk.internal.org.objectweb.asm.Opcodes;
-import jdk.internal.org.objectweb.asm.util.CheckClassAdapter;
-import jdk.nashorn.internal.objects.annotations.Where;
-import jdk.nashorn.internal.tools.nasgen.MemberInfo.Kind;
-
-/**
- * This class instruments the java class annotated with @ScriptClass.
- *
- * Changes done are:
- *
- * 1) remove all jdk.nashorn.internal.objects.annotations.* annotations.
- * 2) static final @Property fields stay here. Other @Property fields moved to
- *    respective classes depending on 'where' value of annotation.
- * 2) add "Map" type static field named "$map".
- * 3) add static initializer block to initialize map.
- */
-public class ScriptClassInstrumentor extends ClassVisitor {
-    private final ScriptClassInfo scriptClassInfo;
-    private final int memberCount;
-    private boolean staticInitFound;
-
-    ScriptClassInstrumentor(final ClassVisitor visitor, final ScriptClassInfo sci) {
-        super(Opcodes.ASM4, visitor);
-        if (sci == null) {
-            throw new IllegalArgumentException("Null ScriptClassInfo, is the class annotated?");
-        }
-        this.scriptClassInfo = sci;
-        this.memberCount = scriptClassInfo.getInstancePropertyCount();
-    }
-
-    @Override
-    public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) {
-        if (ScriptClassInfo.annotations.containsKey(desc)) {
-            // ignore @ScriptClass
-            return null;
-        }
-
-        return super.visitAnnotation(desc, visible);
-    }
-
-    @Override
-    public FieldVisitor visitField(final int fieldAccess, final String fieldName,
-            final String fieldDesc, final String signature, final Object value) {
-        final MemberInfo memInfo = scriptClassInfo.find(fieldName, fieldDesc, fieldAccess);
-        if (memInfo != null && memInfo.getKind() == Kind.PROPERTY &&
-                memInfo.getWhere() != Where.INSTANCE && !memInfo.isStaticFinal()) {
-            // non-instance @Property fields - these have to go elsewhere unless 'static final'
-            return null;
-        }
-
-        final FieldVisitor delegateFV = super.visitField(fieldAccess, fieldName, fieldDesc,
-                signature, value);
-        return new FieldVisitor(Opcodes.ASM4, delegateFV) {
-            @Override
-            public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) {
-                if (ScriptClassInfo.annotations.containsKey(desc)) {
-                    // ignore script field annotations
-                    return null;
-                }
-
-                return fv.visitAnnotation(desc, visible);
-            }
-
-            @Override
-            public void visitAttribute(final Attribute attr) {
-                fv.visitAttribute(attr);
-            }
-
-            @Override
-            public void visitEnd() {
-                fv.visitEnd();
-            }
-        };
-    }
-
-    @Override
-    public MethodVisitor visitMethod(final int methodAccess, final String methodName,
-            final String methodDesc, final String signature, final String[] exceptions) {
-
-        final boolean isConstructor = INIT.equals(methodName);
-        final boolean isStaticInit  = CLINIT.equals(methodName);
-
-        if (isStaticInit) {
-            staticInitFound = true;
-        }
-
-        final MethodGenerator delegateMV = new MethodGenerator(super.visitMethod(methodAccess, methodName, methodDesc,
-                signature, exceptions), methodAccess, methodName, methodDesc);
-
-        return new MethodVisitor(Opcodes.ASM4, delegateMV) {
-            @Override
-            public void visitInsn(final int opcode) {
-                // call $clinit$ just before return from <clinit>
-                if (isStaticInit && opcode == RETURN) {
-                    super.visitMethodInsn(INVOKESTATIC, scriptClassInfo.getJavaName(),
-                            $CLINIT$, DEFAULT_INIT_DESC, false);
-                }
-                super.visitInsn(opcode);
-            }
-
-            @Override
-            public void visitMethodInsn(final int opcode, final String owner, final String name, final String desc, final boolean itf) {
-                if (isConstructor && opcode == INVOKESPECIAL &&
-                        INIT.equals(name) && SCRIPTOBJECT_TYPE.equals(owner)) {
-                    super.visitMethodInsn(opcode, owner, name, desc, false);
-
-                    if (memberCount > 0) {
-                        // initialize @Property fields if needed
-                        for (final MemberInfo memInfo : scriptClassInfo.getMembers()) {
-                            if (memInfo.isInstanceProperty() && !memInfo.getInitClass().isEmpty()) {
-                                final String clazz = memInfo.getInitClass();
-                                super.visitVarInsn(ALOAD, 0);
-                                super.visitTypeInsn(NEW, clazz);
-                                super.visitInsn(DUP);
-                                super.visitMethodInsn(INVOKESPECIAL, clazz,
-                                    INIT, DEFAULT_INIT_DESC, false);
-                                super.visitFieldInsn(PUTFIELD, scriptClassInfo.getJavaName(),
-                                    memInfo.getJavaName(), memInfo.getJavaDesc());
-                            }
-
-                            if (memInfo.isInstanceFunction()) {
-                                super.visitVarInsn(ALOAD, 0);
-                                ClassGenerator.newFunction(delegateMV, scriptClassInfo.getJavaName(), memInfo, scriptClassInfo.findSpecializations(memInfo.getJavaName()));
-                                super.visitFieldInsn(PUTFIELD, scriptClassInfo.getJavaName(),
-                                    memInfo.getJavaName(), OBJECT_DESC);
-                            }
-                        }
-                    }
-                } else {
-                    super.visitMethodInsn(opcode, owner, name, desc, itf);
-                }
-            }
-
-            @Override
-            public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) {
-                if (ScriptClassInfo.annotations.containsKey(desc)) {
-                    // ignore script method annotations
-                    return null;
-                }
-                return super.visitAnnotation(desc, visible);
-            }
-        };
-    }
-
-    @Override
-    public void visitEnd() {
-        emitFields();
-        emitStaticInitializer();
-        emitGettersSetters();
-        super.visitEnd();
-    }
-
-    private void emitFields() {
-        // introduce "Function" type instance fields for each
-        // instance @Function in script class info
-        final String className = scriptClassInfo.getJavaName();
-        for (MemberInfo memInfo : scriptClassInfo.getMembers()) {
-            if (memInfo.isInstanceFunction()) {
-                ClassGenerator.addFunctionField(cv, memInfo.getJavaName());
-                memInfo = (MemberInfo)memInfo.clone();
-                memInfo.setJavaDesc(OBJECT_DESC);
-                ClassGenerator.addGetter(cv, className, memInfo);
-                ClassGenerator.addSetter(cv, className, memInfo);
-            }
-        }
-        // omit addMapField() since instance classes already define a static PropertyMap field
-    }
-
-    void emitGettersSetters() {
-        if (memberCount > 0) {
-            for (final MemberInfo memInfo : scriptClassInfo.getMembers()) {
-                final String className = scriptClassInfo.getJavaName();
-                if (memInfo.isInstanceProperty()) {
-                    ClassGenerator.addGetter(cv, className, memInfo);
-                    if (! memInfo.isFinal()) {
-                        ClassGenerator.addSetter(cv, className, memInfo);
-                    }
-                }
-            }
-        }
-    }
-
-    private void emitStaticInitializer() {
-        final String className = scriptClassInfo.getJavaName();
-        if (! staticInitFound) {
-            // no user written <clinit> and so create one
-            final MethodVisitor mv = ClassGenerator.makeStaticInitializer(this);
-            mv.visitCode();
-            mv.visitInsn(RETURN);
-            mv.visitMaxs(Short.MAX_VALUE, 0);
-            mv.visitEnd();
-        }
-        // Now generate $clinit$
-        final MethodGenerator mi = ClassGenerator.makeStaticInitializer(this, $CLINIT$);
-        ClassGenerator.emitStaticInitPrefix(mi, className, memberCount);
-        if (memberCount > 0) {
-            for (final MemberInfo memInfo : scriptClassInfo.getMembers()) {
-                if (memInfo.isInstanceProperty() || memInfo.isInstanceFunction()) {
-                    ClassGenerator.linkerAddGetterSetter(mi, className, memInfo);
-                } else if (memInfo.isInstanceGetter()) {
-                    final MemberInfo setter = scriptClassInfo.findSetter(memInfo);
-                    ClassGenerator.linkerAddGetterSetter(mi, className, memInfo, setter);
-                }
-            }
-        }
-        ClassGenerator.emitStaticInitSuffix(mi, className);
-    }
-
-    /**
-     * External entry point for ScriptClassInfoCollector if run from the command line
-     *
-     * @param args arguments - one argument is needed, the name of the class to collect info from
-     *
-     * @throws IOException if there are problems reading class
-     */
-    public static void main(final String[] args) throws IOException {
-        if (args.length != 1) {
-            System.err.println("Usage: " + ScriptClassInstrumentor.class.getName() + " <class>");
-            System.exit(1);
-        }
-
-        final String fileName = args[0].replace('.', '/') + ".class";
-        final ScriptClassInfo sci = ClassGenerator.getScriptClassInfo(fileName);
-        if (sci == null) {
-            System.err.println("No @ScriptClass in " + fileName);
-            System.exit(2);
-            throw new AssertionError(); //guard against warning that sci is null below
-        }
-
-        try {
-            sci.verify();
-        } catch (final Exception e) {
-            System.err.println(e.getMessage());
-            System.exit(3);
-        }
-
-        final ClassWriter writer = ClassGenerator.makeClassWriter();
-        try (final BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fileName))) {
-            final ClassReader reader = new ClassReader(bis);
-            final CheckClassAdapter checker = new CheckClassAdapter(writer);
-            final ScriptClassInstrumentor instr = new ScriptClassInstrumentor(checker, sci);
-            reader.accept(instr, 0);
-        }
-
-        try (FileOutputStream fos = new FileOutputStream(fileName)) {
-            fos.write(writer.toByteArray());
-        }
-    }
-}
diff --git a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java b/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java
deleted file mode 100644
index 6669514..0000000
--- a/buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/StringConstants.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 2010, 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 jdk.nashorn.internal.tools.nasgen;
-
-import java.lang.invoke.MethodHandle;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import jdk.internal.org.objectweb.asm.Type;
-import jdk.nashorn.internal.runtime.AccessorProperty;
-import jdk.nashorn.internal.runtime.PropertyMap;
-import jdk.nashorn.internal.runtime.PrototypeObject;
-import jdk.nashorn.internal.runtime.ScriptFunction;
-import jdk.nashorn.internal.runtime.ScriptObject;
-import jdk.nashorn.internal.runtime.Specialization;
-
-/**
- * String constants used for code generation/instrumentation.
- */
-@SuppressWarnings("javadoc")
-public interface StringConstants {
-    // standard jdk types, methods
-    static final Type TYPE_METHODHANDLE         = Type.getType(MethodHandle.class);
-    static final Type TYPE_METHODHANDLE_ARRAY   = Type.getType(MethodHandle[].class);
-    static final Type TYPE_SPECIALIZATION       = Type.getType(Specialization.class);
-    static final Type TYPE_SPECIALIZATION_ARRAY = Type.getType(Specialization[].class);
-    static final Type TYPE_OBJECT               = Type.getType(Object.class);
-    static final Type TYPE_STRING               = Type.getType(String.class);
-    static final Type TYPE_CLASS                = Type.getType(Class.class);
-    static final Type TYPE_COLLECTION           = Type.getType(Collection.class);
-    static final Type TYPE_COLLECTIONS          = Type.getType(Collections.class);
-    static final Type TYPE_ARRAYLIST            = Type.getType(ArrayList.class);
-    static final Type TYPE_LIST                 = Type.getType(List.class);
-
-    static final String CLINIT = "<clinit>";
-    static final String INIT = "<init>";
-    static final String DEFAULT_INIT_DESC = Type.getMethodDescriptor(Type.VOID_TYPE);
-
-    static final String METHODHANDLE_TYPE = TYPE_METHODHANDLE.getInternalName();
-    static final String SPECIALIZATION_TYPE = TYPE_SPECIALIZATION.getInternalName();
-    static final String SPECIALIZATION_INIT2 = Type.getMethodDescriptor(Type.VOID_TYPE, TYPE_METHODHANDLE, Type.getType(boolean.class));
-    static final String SPECIALIZATION_INIT3 = Type.getMethodDescriptor(Type.VOID_TYPE, TYPE_METHODHANDLE, TYPE_CLASS, Type.getType(boolean.class));
-    static final String OBJECT_TYPE = TYPE_OBJECT.getInternalName();
-    static final String OBJECT_DESC = TYPE_OBJECT.getDescriptor();
-    static final String STRING_TYPE = TYPE_STRING.getInternalName();
-    static final String STRING_DESC = TYPE_STRING.getDescriptor();
-    static final String OBJECT_ARRAY_DESC = Type.getDescriptor(Object[].class);
-    static final String ARRAYLIST_TYPE = TYPE_ARRAYLIST.getInternalName();
-    static final String COLLECTION_TYPE = TYPE_COLLECTION.getInternalName();
-    static final String COLLECTIONS_TYPE = TYPE_COLLECTIONS.getInternalName();
-
-    // java.util.Collection.add(Object)
-    static final String COLLECTION_ADD = "add";
-    static final String COLLECTION_ADD_DESC = Type.getMethodDescriptor(Type.BOOLEAN_TYPE, TYPE_OBJECT);
-    // java.util.ArrayList.<init>(int)
-    static final String ARRAYLIST_INIT_DESC = Type.getMethodDescriptor(Type.VOID_TYPE, Type.INT_TYPE);
-    // java.util.Collections.EMPTY_LIST
-    static final String COLLECTIONS_EMPTY_LIST = "EMPTY_LIST";
-    static final String LIST_DESC = TYPE_LIST.getDescriptor();
-
-    // Nashorn types, methods
-    static final Type TYPE_ACCESSORPROPERTY   = Type.getType(AccessorProperty.class);
-    static final Type TYPE_PROPERTYMAP        = Type.getType(PropertyMap.class);
-    static final Type TYPE_PROTOTYPEOBJECT    = Type.getType(PrototypeObject.class);
-    static final Type TYPE_SCRIPTFUNCTION     = Type.getType(ScriptFunction.class);
-    static final Type TYPE_SCRIPTOBJECT       = Type.getType(ScriptObject.class);
-
-    static final String PROTOTYPE_SUFFIX = "$Prototype";
-    static final String CONSTRUCTOR_SUFFIX = "$Constructor";
-
-    // This field name is known to Nashorn runtime (Context).
-    // Synchronize the name change, if needed at all.
-    static final String PROPERTYMAP_FIELD_NAME = "$nasgenmap$";
-    static final String $CLINIT$ = "$clinit$";
-
-    // AccessorProperty
-    static final String ACCESSORPROPERTY_TYPE = TYPE_ACCESSORPROPERTY.getInternalName();
-    static final String ACCESSORPROPERTY_CREATE = "create";
-    static final String ACCESSORPROPERTY_CREATE_DESC =
-        Type.getMethodDescriptor(TYPE_ACCESSORPROPERTY, TYPE_STRING, Type.INT_TYPE, TYPE_METHODHANDLE, TYPE_METHODHANDLE);
-
-    // PropertyMap
-    static final String PROPERTYMAP_TYPE = TYPE_PROPERTYMAP.getInternalName();
-    static final String PROPERTYMAP_DESC = TYPE_PROPERTYMAP.getDescriptor();
-    static final String PROPERTYMAP_NEWMAP = "newMap";
-    static final String PROPERTYMAP_NEWMAP_DESC = Type.getMethodDescriptor(TYPE_PROPERTYMAP, TYPE_COLLECTION);
-
-    // PrototypeObject
-    static final String PROTOTYPEOBJECT_TYPE = TYPE_PROTOTYPEOBJECT.getInternalName();
-    static final String PROTOTYPEOBJECT_SETCONSTRUCTOR = "setConstructor";
-    static final String PROTOTYPEOBJECT_SETCONSTRUCTOR_DESC = Type.getMethodDescriptor(Type.VOID_TYPE, TYPE_OBJECT, TYPE_OBJECT);
-
-    // ScriptFunction
-    static final String SCRIPTFUNCTION_TYPE = TYPE_SCRIPTFUNCTION.getInternalName();
-    static final String SCRIPTFUNCTION_SETARITY = "setArity";
-    static final String SCRIPTFUNCTION_SETARITY_DESC = Type.getMethodDescriptor(Type.VOID_TYPE, Type.INT_TYPE);
-    static final String SCRIPTFUNCTION_SETPROTOTYPE = "setPrototype";
-    static final String SCRIPTFUNCTION_SETPROTOTYPE_DESC = Type.getMethodDescriptor(Type.VOID_TYPE, TYPE_OBJECT);
-    static final String SCRIPTFUNCTION_CREATEBUILTIN = "createBuiltin";
-    static final String SCRIPTFUNCTION_CREATEBUILTIN_DESC =
-        Type.getMethodDescriptor(TYPE_SCRIPTFUNCTION, TYPE_STRING, TYPE_METHODHANDLE);
-    static final String SCRIPTFUNCTION_CREATEBUILTIN_SPECS_DESC =
-        Type.getMethodDescriptor(TYPE_SCRIPTFUNCTION, TYPE_STRING, TYPE_METHODHANDLE, TYPE_SPECIALIZATION_ARRAY);
-    static final String SCRIPTFUNCTION_INIT_DESC3 =
-        Type.getMethodDescriptor(Type.VOID_TYPE, TYPE_STRING, TYPE_METHODHANDLE, TYPE_SPECIALIZATION_ARRAY);
-    static final String SCRIPTFUNCTION_INIT_DESC4 =
-        Type.getMethodDescriptor(Type.VOID_TYPE, TYPE_STRING, TYPE_METHODHANDLE, TYPE_PROPERTYMAP, TYPE_SPECIALIZATION_ARRAY);
-
-    // ScriptObject
-    static final String SCRIPTOBJECT_TYPE = TYPE_SCRIPTOBJECT.getInternalName();
-    static final String SCRIPTOBJECT_DESC = TYPE_SCRIPTOBJECT.getDescriptor();
-    static final String SCRIPTOBJECT_INIT_DESC = Type.getMethodDescriptor(Type.VOID_TYPE, TYPE_PROPERTYMAP);
-
-    static final String GETTER_PREFIX = "G$";
-    static final String SETTER_PREFIX = "S$";
-
-    // ScriptObject.getClassName() method.
-    static final String GET_CLASS_NAME = "getClassName";
-    static final String GET_CLASS_NAME_DESC = Type.getMethodDescriptor(TYPE_STRING);
-}
diff --git a/docs/DEVELOPER_README b/docs/DEVELOPER_README
deleted file mode 100644
index faff28c..0000000
--- a/docs/DEVELOPER_README
+++ /dev/null
@@ -1,618 +0,0 @@
-This document describes system properties that are used for internal
-debugging and instrumentation purposes, along with the system loggers,
-which are used for the same thing.
-
-This document is intended as a developer resource, and it is not
-needed as Nashorn documentation for normal usage. Flags and system
-properties described herein are subject to change without notice.
-
-=====================================
-1. System properties used internally
-=====================================
-
-This documentation of the system property flags assume that the
-default value of the flag is false, unless otherwise specified.
-
-SYSTEM PROPERTY: -Dnashorn.args=<string>
-
-This property takes as its value a space separated list of Nashorn
-command line options that should be passed to Nashorn. This might be
-useful in environments where it is hard to tell how a nashorn.jar is
-launched.
-
-Example:
-
-> java -Dnashorn.args="--lazy-complation --log=compiler" large-java-app-with-nashorn.jar 
-> ant -Dnashorn.args="--log=codegen" antjob
-
-SYSTEM PROPERTY: -Dnashorn.args.prepend=<string>
-
-This property behaves like nashorn.args, but adds the given arguments
-before the existing ones instead of after them. Later arguments will
-overwrite earlier ones, so this is useful for setting default arguments
-that can be overwritten.
-
-
-SYSTEM PROPERTY: -Dnashorn.unstable.relink.threshold=x
-
-This property controls how many call site misses are allowed before a 
-callsite is relinked with "apply" semantics to never change again. 
-In the case of megamorphic callsites, this is necessary, or the 
-program would spend all its time swapping out callsite targets. Dynalink 
-has a default value (currently 8 relinks) for this property if it 
-is not explicitly set.
-
-
-SYSTEM PROPERTY: -Dnashorn.compiler.splitter.threshold=x
-
-This will change the node weight that requires a subgraph of the IR to
-be split into several classes in order not to run out of bytecode space.
-The default value is 0x8000 (32768).
-
-
-SYSTEM PROPERTY: -Dnashorn.serialize.compression=<x>
-
-This property sets the compression level used when deflating serialized
-AST structures of anonymous split functions. Valid values range from 0 to 9,
-the default value is 4. Higher values will reduce memory size of serialized
-AST but increase CPU usage required for compression.
-
-
-SYSTEM PROPERTY: -Dnashorn.codegen.debug.trace=<x>
-
-See the description of the codegen logger below.
-
-
-SYSTEM PROPERTY: -Dnashorn.fields.objects, -Dnashorn.fields.dual
-
-When the nashorn.fields.objects property is true, Nashorn will always
-use object fields for AccessorProperties, requiring boxing for all
-primitive property values. When nashorn.fields.dual is set, Nashorn
-will always use dual long/object fields, which allows primitives to be
-stored without boxing. When neither system property is set, Nashorn
-chooses a setting depending on the optimistic types setting (dual
-fields when optimistic types are enabled, object-only fields otherwise).
-
-With dual fields, Nashorn uses long fields to store primitive values.
-Ints are represented as the 32 low bits of the long fields. Doubles
-are represented as the doubleToLongBits of their value. This way a
-single field can be used for all primitive types. Packing and
-unpacking doubles to their bit representation is intrinsified by
-the JVM and extremely fast.
-
-In the future, this might complement or be replaced by experimental
-feature sun.misc.TaggedArray, which has been discussed on the mlvm
-mailing list. TaggedArrays are basically a way to share data space
-between primitives and references, and have the GC understand this.
-
-
-SYSTEM PROPERTY: -Dnashorn.compiler.symbol.trace=[<x>[,*]], 
-  -Dnashorn.compiler.symbol.stacktrace=[<x>[,*]]
-
-When this property is set, creation and manipulation of any symbol
-named "x" will show information about when the compiler changes its
-type assumption, bytecode local variable slot assignment and other
-data. This is useful if, for example, a symbol shows up as an Object,
-when you believe it should be a primitive. Usually there is an
-explanation for this, for example that it exists in the global scope
-and type analysis has to be more conservative. 
-
-Several symbols names to watch can be specified by comma separation.
-
-If no variable name is specified (and no equals sign), all symbols
-will be watched
-
-By using "stacktrace" instead of or together with "trace", stack
-traces will be displayed upon symbol changes according to the same
-semantics.
-
-
-SYSTEM PROPERTY: -Dnashorn.lexer.xmlliterals
-
-If this property it set, it means that the Lexer should attempt to
-parse XML literals, which would otherwise generate syntax
-errors. Warning: there are currently no unit tests for this
-functionality.
-
-XML literals, when this is enabled, end up as standard LiteralNodes in
-the IR.
-
-
-SYSTEM_PROPERTY: -Dnashorn.debug
-
-If this property is set to true, Nashorn runs in Debug mode. Debug
-mode is slightly slower, as for example statistics counters are enabled
-during the run. Debug mode makes available a NativeDebug instance
-called "Debug" in the global space that can be used to print property
-maps and layout for script objects, as well as a "dumpCounters" method
-that will print the current values of the previously mentioned stats
-counters.
-
-These functions currently exists for Debug:
-
-"map" - print(Debug.map(x)) will dump the PropertyMap for object x to
-stdout (currently there also exist functions called "embedX", where X
-is a value from 0 to 3, that will dump the contents of the embed pool
-for the first spill properties in any script object and "spill", that
-will dump the contents of the growing spill pool of spill properties
-in any script object. This is of course subject to change without
-notice, should we change the script object layout.
-
-"methodHandle" - this method returns the method handle that is used
-for invoking a particular script function.
-
-"identical" - this method compares two script objects for reference
-equality. It is a == Java comparison
-
-"equals" - Returns true if two objects are either referentially
-identical or equal as defined by java.lang.Object.equals.
-
-"dumpCounters" - will dump the debug counters' current values to
-stdout.
-
-Currently we count number of ScriptObjects in the system, number of
-Scope objects in the system, number of ScriptObject listeners added,
-removed and dead (without references).
-
-We also count number of ScriptFunctions, ScriptFunction invocations
-and ScriptFunction allocations.
-
-Furthermore we count PropertyMap statistics: how many property maps
-exist, how many times were property maps cloned, how many times did
-the property map history cache hit, prevent new allocations, how many
-prototype invalidations were done, how many time the property map
-proto cache hit.
-
-Finally we count callsite misses on a per callsite bases, which occur
-when a callsite has to be relinked, due to a previous assumption of
-object layout being invalidated.
-
-"getContext" - return the current Nashorn context.
-
-"equalWithoutType" - Returns true if if the two objects are both
-property maps, and they have identical properties in the same order,
-but allows the properties to differ in their types.
-
-"diffPropertyMaps" Returns a diagnostic string representing the difference
-of two property maps.
-
-"getClass" - Returns the Java class of an object, or undefined if null.
-
-"toJavaString" - Returns the Java toString representation of an object.
-
-"toIdentString" - Returns a string representation of an object consisting
-of its java class name and hash code.
-
-"getListenerCount" - Return the number of property listeners for a
-script object.
-
-"getEventQueueCapacity" - Get the capacity of the event queue.
-
-"setEventQueueCapacity" - Set the event queue capacity.
-
-"addRuntimeEvent" - Add a runtime event to the runtime event queue.
-The queue has a fixed size (see -Dnashorn.runtime.event.queue.size)
-and the oldest entry will be thrown out of the queue is about to overflow.
-
-"expandEventQueueCapacity" - Expands the event queue capacity,
-or truncates if capacity is lower than current capacity. Then only
-the newest entries are kept.
-
-"clearRuntimeEvents" - Clear the runtime event queue.
-
-"removeRuntimeEvent" - Remove a specific runtime event from the event queue.
-
-"getRuntimeEvents" - Return all runtime events in the queue as an array.
-
-"getLastRuntimeEvent" - Return the last runtime event in the queue.
-
-
-SYSTEM PROPERTY: -Dnashorn.methodhandles.debug.stacktrace
-
-This enhances methodhandles logging (see below) to also dump the
-stack trace for every instrumented method handle operation.
-Warning: This is enormously verbose, but provides a pretty
-decent "grep:able" picture of where the calls are coming from.
-
-
-SYSTEM PROPERTY: -Dnashorn.cce
-
-Setting this system property causes the Nashorn linker to rely on
-ClassCastExceptions for triggering a callsite relink. If not set, the linker
-will add an explicit instanceof guard.
-
-
-SYSTEM PROPERTY: -Dnashorn.spill.threshold=<x>
-
-This property sets the number of fields in an object from which to use
-generic array based spill storage instead of Java fields. The default value
-is 256.
-
-
-SYSTEM PROPERTY: -Dnashorn.tcs.miss.samplePercent=<x>
-
-When running with the trace callsite option (-tcs), Nashorn will count
-and instrument any callsite misses that require relinking. As the
-number of relinks is large and usually produces a lot of output, this
-system property can be used to constrain the percentage of misses that
-should be logged. Typically this is set to 1 or 5 (percent). 1% is the
-default value.
-
-SYSTEM PROPERTY: -Dnashorn.persistent.code.cache
-
-This property can be used to set the directory where Nashorn stores
-serialized script classes generated with the -pcc/--persistent-code-cache
-option. The default directory name is "nashorn_code_cache".
-
-
-SYSTEM PROPERTY: -Dnashorn.typeInfo.maxFiles
-
-Maximum number of files to store in the type info cache. The type info cache
-is used to cache type data of JavaScript functions when running with
-optimistic types (-ot/--optimistic-types). There is one file per JavaScript
-function in the cache.
-
-The default value is 0 which means the feature is disabled. Setting this
-to something like 20000 is probably good enough for most applications and
-will usually cap the cache directory to about 80MB presuming a 4kB
-filesystem allocation unit. Set this to "unlimited" to run without limit.
-
-If the value is not 0 or "unlimited", Nashorn will spawn a cleanup thread
-that makes sure the number of files in the cache does not exceed the given
-value by deleting the least recently modified files.
-
-
-SYSTEM PROPERTY: -Dnashorn.typeInfo.cacheDir
-
-This property can be used to set the directory where Nashorn stores the
-type info cache when -Dnashorn.typeInfo.maxFiles is set to a nonzero
-value. The default location is platform specific. On Windows, it is
-"${java.io.tmpdir}\com.oracle.java.NashornTypeInfo". On Linux and
-Solaris it is "~/.cache/com.oracle.java.NashornTypeInfo". On Mac OS X,
-it is "~/Library/Caches/com.oracle.java.NashornTypeInfo".
-
-
-SYSTEM PROPERTY: -Dnashorn.typeInfo.cleanupDelaySeconds=<value>
-
-This sets the delay between cleanups of the typeInfo cache, in seconds.
-The default delay is 20 seconds.
-
-
-SYSTEM PROPERTY: -Dnashorn.profilefile=<filename>
-
-When running with the profile callsite options (-pcs), Nashorn will
-dump profiling data for all callsites to stderr as a shutdown hook. To
-instead redirect this to a file, specify the path to the file using
-this system property.
-
-
-SYSTEM_PROPERTY: -Dnashorn.regexp.impl=[jdk|joni]
-
-This property defines the regular expression engine to be used by
-Nashorn. Set this flag to "jdk" to get an implementation based on the
-JDK's java.util.regex package. Set this property to "joni" to install
-an implementation based on Joni, the regular expression engine used by
-the JRuby project. The default value for this flag is "joni"
-
-SYSTEM PROPERTY: -Dnashorn.runtime.event.queue.size=<value>
-
-Nashorn provides a fixed sized runtime event queue for debugging purposes.
-See -Dnashorn.debug for methods to access the event queue.
-The default value is 1024.
-
-===============
-2. The loggers.
-===============
-
-It is very simple to create your own logger. Use the DebugLogger class
-and give the subsystem name as a constructor argument.
-
-The Nashorn loggers can be used to print per-module or per-subsystem
-debug information with different levels of verbosity. The loggers for
-a given subsystem are available are enabled by using
-
---log=<systemname>[:<level>]
-
-on the command line.
-
-Here <systemname> identifies the name of the subsystem to be logged
-and the optional colon and level argument is a standard
-java.util.logging.Level name (severe, warning, info, config, fine,
-finer, finest). If the level is left out for a particular subsystem,
-it defaults to "info". Any log message logged as the level or a level
-that is more important will be output to stderr by the logger.
-
-Several loggers can be enabled by a single command line option, by
-putting a comma after each subsystem/level tuple (or each subsystem if
-level is unspecified). The --log option can also be given multiple
-times on the same command line, with the same effect.
-
-For example: --log=codegen,fields:finest is equivalent to
---log=codegen:info --log=fields:finest
-
-The following is an incomplete list of subsystems that currently
-support logging. Look for classes implementing
-jdk.nashorn.internal.runtime.logging.Loggable for more loggers.
-
-
-* compiler
-
-The compiler is in charge of turning source code and function nodes
-into byte code, and installs the classes into a class loader
-controlled from the Context. Log messages are, for example, about
-things like new compile units being allocated. The compiler has global
-settings that all the tiers of codegen (e.g. Lower and CodeGenerator)
-use.s
-
-
-* recompile
-
-This logger shows information about recompilation of scripts and
-functions at runtime. Recompilation may happen because a function
-was called with different parameter types, or because an optimistic
-assumption failed while executing a function with -ot/--optimistic-types.
-
-
-* codegen
-
-The code generator is the emitter stage of the code pipeline, and
-turns the lowest tier of a FunctionNode into bytecode. Codegen logging
-shows byte codes as they are being emitted, line number information
-and jumps. It also shows the contents of the bytecode stack prior to
-each instruction being emitted. This is a good debugging aid. For
-example:
-
-[codegen] #41                       line:2 (f)_afc824e 
-[codegen] #42                           load symbol x slot=2 
-[codegen] #43  {1:O}                    load int 0 
-[codegen] #44  {2:I O}                  dynamic_runtime_call GT:ZOI_I args=2 returnType=boolean 
-[codegen] #45                              signature (Ljava/lang/Object;I)Z 
-[codegen] #46  {1:Z}                    ifeq  ternary_false_5402fe28 
-[codegen] #47                           load symbol x slot=2 
-[codegen] #48  {1:O}                    goto ternary_exit_107c1f2f 
-[codegen] #49                       ternary_false_5402fe28 
-[codegen] #50                           load symbol x slot=2 
-[codegen] #51  {1:O}                    convert object -> double 
-[codegen] #52  {1:D}                    neg 
-[codegen] #53  {1:D}                    convert double -> object 
-[codegen] #54  {1:O}                ternary_exit_107c1f2f 
-[codegen] #55  {1:O}                    return object 
-
-shows a ternary node being generated for the sequence "return x > 0 ?
-x : -x"
-
-The first number on the log line is a unique monotonically increasing
-emission id per bytecode. There is no guarantee this is the same id
-between runs.  depending on non deterministic code
-execution/compilation, but for small applications it usually is. If
-the system variable -Dnashorn.codegen.debug.trace=<x> is set, where x
-is a bytecode emission id, a stack trace will be shown as the
-particular bytecode is about to be emitted. This can be a quick way to
-determine where it comes from without attaching the debugger. "Who
-generated that neg?"
-
-The --log=codegen option is equivalent to setting the system variable
-"nashorn.codegen.debug" to true.
-
-* fold
-
-Shows constant folding taking place before lowering
-
-* lower
-
-This is the first lowering pass.
-
-Lower is a code generation pass that turns high level IR nodes into
-lower level one, for example substituting comparisons to RuntimeNodes
-and inlining finally blocks.
-
-Lower is also responsible for determining control flow information
-like end points.
-
-* symbols
-
-The symbols logger tracks the assignment os symbols to identifiers.
-
-* scopedepths
-
-This logs the calculation of scope depths for non-local symbols.
-
-* fields
-
-The --log=fields option (at info level) is equivalent to setting the
-system variable "nashorn.fields.debug" to true. At the info level it
-will only show info about type assumptions that were invalidated. If
-the level is set to finest, it will also trace every AccessorProperty
-getter and setter in the program, show arguments, return values
-etc. It will also show the internal representation of respective field
-(Object in the normal case, unless running with the dual field
-representation)
-
-* time
-
-This enables timers for various phases of script compilation. The timers
-will be dumped when the Nashorn process exits. We see a percentage value
-of how much time was spent not executing bytecode (i.e. compilation and
-internal tasks) at the end of the report. 
-
-A finer level than "info" will show individual compilation timings as they
-happen.
-
-Here is an example:
-
-[time] Accumulated complation phase Timings:
-[time] 
-[time] 'JavaScript Parsing'              1076 ms
-[time] 'Constant Folding'                 159 ms
-[time] 'Control Flow Lowering'            303 ms
-[time] 'Program Point Calculation'        282 ms
-[time] 'Builtin Replacement'               71 ms
-[time] 'Code Splitting'                   670 ms
-[time] 'Symbol Assignment'                474 ms
-[time] 'Scope Depth Computation'          249 ms
-[time] 'Optimistic Type Assignment'       186 ms
-[time] 'Local Variable Type Calculation'  526 ms
-[time] 'Bytecode Generation'             5177 ms
-[time] 'Class Installation'              1854 ms
-[time] 
-[time] Total runtime: 11994 ms (Non-runtime: 11027 ms [91%])
-
-* methodhandles
-
-If this logger is enabled, each MethodHandle related call that uses
-the java.lang.invoke package gets its MethodHandle intercepted and an
-instrumentation printout of arguments and return value appended to
-it. This shows exactly which method handles are executed and from
-where. (Also MethodTypes and SwitchPoints).
-
-* classcache
-
-This logger shows information about reusing code classes using the
-in-memory class cache. Nashorn will try to avoid compilation of
-scripts by using existing classes. This can significantly improve
-performance when repeatedly evaluating the same script.
-
-=======================
-3. Undocumented options
-=======================
-
-Here follows a short description of undocumented options for Nashorn.
-To see a list of all undocumented options, use the (undocumented) flag
-"-xhelp".
-
-i.e. jjs -xhelp or java -jar nashorn.jar -xhelp
-
-Undocumented options are not guaranteed to work, run correctly or be
-bug free. They are experimental and for internal or debugging use.
-They are also subject to change without notice.
-
-In practice, though, all options below not explicitly documented as
-EXPERIMENTAL can be relied upon, for example --dump-on-error is useful
-for any JavaScript/Nashorn developer, but there is no guarantee.
-
-A short summary follows:
-
-	-D (-Dname=value. Set a system property. This option can be repeated.)
-
-	-ccs, --class-cache-size (Size of the Class cache size per global scope.)
-
-	-cp, -classpath (-cp path. Specify where to find user class files.)
-
-	-co, --compile-only (Compile without running.)
-		param: [true|false]   default: false
-
-	-d, --dump-debug-dir (specify a destination directory to dump class files.)
-		param: <path>   
-
-	--debug-lines (Generate line number table in .class files.)
-		param: [true|false]   default: true
-
-	--debug-locals (Generate local variable table in .class files.)
-		param: [true|false]   default: false
-
-	-doe, -dump-on-error (Dump a stack trace on errors.)
-		param: [true|false]   default: false
-
-	--early-lvalue-error (invalid lvalue expressions should be reported as early errors.)
-		param: [true|false]   default: true
-
-	--empty-statements (Preserve empty statements in AST.)
-		param: [true|false]   default: false
-
-	-fv, -fullversion (Print full version info of Nashorn.)
-		param: [true|false]   default: false
-
-	--function-statement-error (Report an error when function declaration is used as a statement.)
-		param: [true|false]   default: false
-
-	--function-statement-warning (Warn when function declaration is used as a statement.)
-		param: [true|false]   default: false
-
-	-fx (Launch script as an fx application.)
-		param: [true|false]   default: false
-
-	--global-per-engine (Use single Global instance per script engine instance.)
-		param: [true|false]   default: false
-
-	-h, -help (Print help for command line flags.)
-		param: [true|false]   default: false
-
-	--loader-per-compile (Create a new class loader per compile.)
-		param: [true|false]   default: true
-
-	-l, --locale (Set Locale for script execution.)
-		param: <locale>   default: en-US
-
-	--log (Enable logging of a given level for a given number of sub systems. 
-	      [for example: --log=fields:finest,codegen:info].)
-		param: <module:level>,*   
-
-	-nj, --no-java (Disable Java support.)
-		param: [true|false]   default: false
-
-	-nse, --no-syntax-extensions (Disallow non-standard syntax extensions.)
-		param: [true|false]   default: false
-
-	-nta, --no-typed-arrays (Disable typed arrays support.)
-		param: [true|false]   default: false
-
-	--parse-only (Parse without compiling.)
-		param: [true|false]   default: false
-
-	--print-ast (Print abstract syntax tree.)
-		param: [true|false]   default: false
-
-	-pc, --print-code (Print generated bytecode. If a directory is specified, nothing will 
-	                  be dumped to stderr. Also, in that case, .dot files will be generated 
-	                  for all functions or for the function with the specified name only.)
-		param: [dir:<output-dir>,function:<name>]   
-
-	--print-lower-ast (Print lowered abstract syntax tree.)
-		param: [true|false]   default: false
-
-	-plp, --print-lower-parse (Print the parse tree after lowering.)
-		param: [true|false]   default: false
-
-	--print-mem-usage (Print memory usage of IR after each compile stage.)
-		param: [true|false]   default: false
-
-	--print-no-newline (Print function will not print new line char.)
-		param: [true|false]   default: false
-
-	-pp, --print-parse (Print the parse tree.)
-		param: [true|false]   default: false
-
-	--print-symbols (Print the symbol table.)
-		param: [true|false]   default: false
-
-	-pcs, --profile-callsites (Dump callsite profile data.)
-		param: [true|false]   default: false
-
-	-scripting (Enable scripting features.)
-		param: [true|false]   default: false
-
-	--stderr (Redirect stderr to a filename or to another tty, e.g. stdout.)
-		param: <output console>   
-
-	--stdout (Redirect stdout to a filename or to another tty, e.g. stderr.)
-		param: <output console>   
-
-	-strict (Run scripts in strict mode.)
-		param: [true|false]   default: false
-
-	-t, -timezone (Set timezone for script execution.)
-		param: <timezone>   default: Europe/Stockholm
-
-	-tcs, --trace-callsites (Enable callsite trace mode. Options are: miss [trace callsite misses] 
-	                         enterexit [trace callsite enter/exit], objects [print object properties].)
-		param: [=[option,]*]   
-
-	--verify-code (Verify byte code before running.)
-		param: [true|false]   default: false
-
-	-v, -version (Print version info of Nashorn.)
-		param: [true|false]   default: false
-
-	-xhelp (Print extended help for command line flags.)
-		param: [true|false]   default: false
-
diff --git a/docs/JavaScriptingProgrammersGuide.html b/docs/JavaScriptingProgrammersGuide.html
deleted file mode 100644
index dd74d74..0000000
--- a/docs/JavaScriptingProgrammersGuide.html
+++ /dev/null
@@ -1,988 +0,0 @@
-<!--
- Copyright (c) 2010, 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.
--->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html class=" regenabled  gecko radius jsenabled regloaded" xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
-<title>Java Scripting Programmer's Guide</title>
-
-<!-- ============ -->
-<!-- MAIN CONTENT -->
-<!-- ============ -->
-<table summary="layout" border="0" width="100%">
-<tbody><tr>
-<td>
-
-<div id="sharepage" class="smallpagetitle"><h1>Java Scripting Programmer's Guide</h1><div class="sharepage">		<div class="sharepagew1 share-mailto">		<table summary="" cellpadding="0" cellspacing="0"><tbody><tr>		<td id="share-mailto"><a href="mailto:?subject=Java%20Documentation%20Page:%20Java%20Scripting%20Programmer%27s%20Guide&amp;body=Check%20out%20this%20page:%20%0A%0Ahttp%3A%2F%2Fdocs.oracle.com%2Fjavase%2F6%2Fdocs%2Ftechnotes%2Fguides%2Fscripting%2Fprogrammer_guide%2Findex.html" class="sharelink mailto" title="Email this page to a friend"></a></td>		<td id="share-technorati"><a href="http://technorati.com/search/http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F6%2Fdocs%2Ftechnotes%2Fguides%2Fscripting%2Fprogrammer_guide%2Findex.html" class="sharelink technorati" title="See who links to this page on Technorati"></a></td>		<td id="share-delicious"><a href="http://del.icio.us/post?v=4;url=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F6%2Fdocs%2Ftechnotes%2Fguides%2Fscripting%2Fprogrammer_guide%2Findex.html;title=Java%20Scripting%20Programmer%27s%20Guide" class="sharelink delicious" title="Bookmark this page in del.icio.us"></a></td>		<td id="share-digg"><a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F6%2Fdocs%2Ftechnotes%2Fguides%2Fscripting%2Fprogrammer_guide%2Findex.html&amp;title=Java%20Scripting%20Programmer%27s%20Guide" class="sharelink digg" title="Submit this page to Digg"></a></td>		<td id="share-slashdot"><a href="http://slashdot.org/bookmark.pl?title=Java%20Scripting%20Programmer%27s%20Guide&amp;url=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F6%2Fdocs%2Ftechnotes%2Fguides%2Fscripting%2Fprogrammer_guide%2Findex.html" class="sharelink slashdot" title="Submit this page to Slashdot"></a></td>		<td id="share-blank"> </td></tr></tbody></table></div></div></div>
-
-</td>
-</tr>
-</tbody></table>
-<!-- Body text begins here -->
-<ul>
-<li><span><a href="#who">Who is the Java Scripting API
-For?</a></span></li>
-<li><span><a href="#package">Scripting Package</a></span></li>
-<li><span><a href="#examples">Examples</a></span>
-<ul>
-<li><span><a href="#helloworld">"Hello, World"</a></span></li>
-<li><span><a href="#evalfile">Evaluating a Script
-File</a></span></li>
-<li><span><a href="#scriptvars">Script Variables</a></span></li>
-<li><span><a href="#invoke">Invoking Script Functions and
-Methods</a></span></li>
-<li><span><a href="#interfaces">Implementing Java Interfaces by
-Scripts</a></span></li>
-<li><span><a href="#scopes">Multiple Scopes for
-Scripts</a></span></li>
-</ul>
-</li>
-<li><span><a href="#jsengine">JavaScript Script
-Engine</a></span></li>
-<li><span><a href="#jstojava">JavaScript to Java
-Communication</a></span>
-<ul>
-<li><span><a href="#jsjavaclass">Accessing Java
-Classes</a></span></li>
-<li><span><a href="#jsimport">Importing Java Packages,
-Classes</a></span></li>
-<li><span><a href="#jsarrays">Creating, Converting and Using Java
-Arrays</a></span></li>
-<li><span><a href="#jsimplement">Implementing Java
-Interfaces</a></span></li>
-<li><span><a href="#jsextendabstract">Extending Abstract Java Classes
-</a></span></li>
-<li><span><a href="#jsextendconcrete">Extending Concrete Java Classes
-</a></span></li>
-<li><span><a href="#jsimplementmultiple">Implementing Multiple Java Interfaces
-</a></span></li>
-<li><span><a href="#classBoundImplementations">Class-Bound Implementations
-</a></span></li>
-<li><span><a href="#jsoverload">Overload Resolution</a></span></li>
-<li><span><a href="#dataTypeMapping">Mapping of Data Types Between Java
-and JavaScript</a></span></li>
-
-
-
-</ul>
-</li>
-<li><span><a href="#engineimpl">Implementing Your Own Script
-Engine</a></span></li>
-<li><span><a href="#refs">References</a></span></li>
-</ul>
-<span><a name="who" id="who"></a></span>
-<h2><span>Who is the Java Scripting API For?</span></h2>
-<span>Some useful characteristics of scripting languages
-are:</span>
-<ul>
-<li><span><b>Convenience</b>: Most scripting languages are
-dynamically typed. You can usually create new variables without
-declaring the variable type, and you can reuse variables to store
-objects of different types. Also, scripting languages tend to
-perform many type conversions automatically, for example,
-converting the number 10 to the text "10" as necessary.</span></li>
-<li><span><b>Developing rapid prototypes</b>: You can avoid the
-edit-compile-run cycle and just use edit-run!</span></li>
-<li><span><b>Application extension/customization</b>: You can
-"externalize" parts of your application - like configuration
-scripts, business logic/rules and math expressions for financial
-applications.</span></li>
-<li><span><b>"Command line" shells for applications</b> -for
-debugging, runtime/deploy time configuration etc. Most applications
-have a web-based GUI configuaration tool these days. But
-sysadmins/deployers frequently prefer command line tools. Instead
-of inventing ad-hoc scripting language for that purpose, a
-"standard" scripting language can be used.</span></li>
-</ul>
-<p><span>The Java<font size="-1"><sup>TM</sup></font> Scripting API
-is a scripting language indepedent framework for using script
-engines from Java code. With the Java Scripting API, it is possible
-to write customizable/extendable applications in the Java language
-and leave the customization scripting language choice to the end
-user. The Java application developer need not choose the extension
-language during development. If you write your application with
-JSR-223 API, then your users can use any JSR-223 compliant
-scripting language.</span></p>
-<hr>
-<span><a name="package" id="package"></a></span>
-<h2><span>Scripting Package</span></h2>
-<p><span>The Java Scripting functionality is in the <code><a href="http://docs.oracle.com/javase/6/docs/api/javax/script/package-summary.html">javax.script</a></code>
-package. This is a relatively small, simple API. The starting point
-of the scripting API is the <code>ScriptEngineManager</code> class.
-A ScriptEngineManager object can discover script engines through
-the jar file service discovery mechanism. It can also instantiate
-ScriptEngine objects that interpret scripts written in a specific
-scripting language. The simplest way to use the scripting API is as
-follows:</span></p>
-<ol>
-<li><span>Create a <code>ScriptEngineManager</code>
-object.</span></li>
-<li><span>Get a <code>ScriptEngine</code> object from the
-manager.</span></li>
-<li><span>Evaluate script using the <code>ScriptEngine</code>'s
-<code>eval</code> methods.</span></li>
-</ol>
-<p><span>Now, it is time to look at some sample code. While it is
-not mandatory, it may be useful to know a bit of JavaScript to read
-these examples.</span></p>
-<hr>
-<span><a name="examples" id="examples"></a></span>
-<h2><span>Examples</span></h2>
-<span><a name="helloworld" id="helloworld"></a></span>
-<h3><span>"Hello, World"</span></h3>
-<p><span>From the <code>ScriptEngineManager</code> instance, we
-request a JavaScript engine instance using
-<code>getEngineByName</code> method. On the script engine, the
-<code>eval</code> method is called to execute a given String as
-JavaScript code! For brevity, in this as well as in subsequent
-examples, we have not shown exception handling. There are checked
-and runtime exceptions thrown from <code>javax.script</code> API.
-Needless to say, you have to handle the exceptions
-appropriately.</span></p>
-<pre>
-<span><code>
-// <a href="source/EvalScript.java">EvalScript.java</a>
-
-import javax.script.*;
-public class EvalScript {
-    public static void main(String[] args) throws Exception {
-        // create a script engine manager
-        <span class="classref">ScriptEngineManager</span> factory = new ScriptEngineManager();
-        // create a JavaScript engine
-        <span class="classref">ScriptEngine</span> engine = factory.<span class="methodref">getEngineByName</span>("nashorn");
-        // evaluate JavaScript code from String
-        engine.<span class="methodref">eval</span>("print('Hello, World')");
-    }
-}
-</code></span>
-</pre>
-<hr>
-<a name="evalfile" id="evalfile"></a>
-<h3>Evaluating a Script File</h3>
-<p>In this example, we call the <code>eval</code> method that
-accepts <code>java.io.Reader</code> for the input source. The
-script read by the given reader is executed. This way it is
-possible to execute scripts from files, URLs and resources by
-wrapping the relevant input stream objects as readers.</p>
-<pre>
-<code>
-// <a href="source/EvalFile.java">EvalFile.java</a>
-
-import javax.script.*;
-
-public class EvalFile {
-    public static void main(String[] args) throws Exception {
-        // create a script engine manager
-        <span class="classref">ScriptEngineManager</span> factory = new ScriptEngineManager();
-        // create JavaScript engine
-        <span class="classref">ScriptEngine</span> engine = factory.<span class="methodref">getEngineByName</span>("nashorn");
-        // evaluate JavaScript code from given file - specified by first argument
-        engine.<span class="methodref">eval</span>(new java.io.FileReader(args[0]));
-    }
-}
-</code>
-</pre>
-Let us assume that we have the file named <a href="source/test.js">test.js</a> with the
-following text:
-<pre><code>
-print("This is hello from test.js");
-</code>
-</pre>
-We can run the above Java as
-<pre><code>
-java EvalFile test.js
-</code>
-</pre>
-<hr>
-<a name="scriptvars" id="scriptvars"></a>
-<h3>Script Variables</h3>
-<p>When you embed script engines and scripts with your Java
-application, you may want to expose your application objects as
-global variables to scripts. This example demonstrates how you can
-expose your application objects as global variables to a script. We
-create a <code>java.io.File</code> in the application and expose
-the same as a global variable with the name "file". The script can
-access the variable - for example, it can call public methods on
-it. Note that the syntax to access Java objects, methods and fields
-is dependent on the scripting language. JavaScript supports the
-most "natural" Java-like syntax.</p>
-<p>
-Nashorn script engine pre-defines two global variables named "context"
-and "engine". The "context" variable is of type javax.script.ScriptContext
-and refers to the current ScriptContext instance passed to script engine's
-eval method. The "engine" variable is of type javax.script.ScriptEngine and
-refers to the current nashorn script engine instance evaluating the script.
-Both of these variables are non-writable, non-enumerable and non-configurable
-- which implies script code can not write overwrite the value, for..loop iteration
-on global object will not iterate these variables and these variables can not be
-deleted by script.
-<pre><code>
-// <a href="source/ScriptVars.java">ScriptVars.java</a>
-
-import javax.script.*;
-import java.io.*;
-
-public class ScriptVars { 
-    public static void main(String[] args) throws Exception {
-        ScriptEngineManager manager = new ScriptEngineManager();
-        ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        File f = new File("test.txt");
-        // expose File object as variable to script
-        engine.<span class="methodref">put</span>("file", f);
-
-        // evaluate a script string. The script accesses "file" 
-        // variable and calls method on it
-        engine.eval("print(file.getAbsolutePath())");
-    }
-}
-
-</code>
-</pre>
-<hr>
-<a name="invoke" id="invoke"></a>
-<h3>Invoking Script Functions and Methods</h3>
-<p>Sometimes you may want to call a specific scripting function
-repeatedly - for example, your application menu functionality might
-be implemented by a script. In your menu's action event handler you
-may want to call a specific script function. The following example
-demonstrates invoking a specific script function from Java
-code.</p>
-<pre><code>
-// <a href="source/InvokeScriptFunction.java">InvokeScriptFunction.java</a>
-
-import javax.script.*;
-
-public class InvokeScriptFunction {
-    public static void main(String[] args) throws Exception {
-        ScriptEngineManager manager = new ScriptEngineManager();
-        ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        // JavaScript code in a String
-        String script = "function hello(name) { print('Hello, ' + name); }";
-        // evaluate script
-        engine.eval(script);
-
-        // <code>javax.script.Invocable</code> is an optional interface.
-        // Check whether your script engine implements it or not!
-        // Note that the JavaScript engine implements Invocable interface.
-        <span class="classref">Invocable</span> inv = (Invocable) engine;
-
-        // invoke the global function named "hello"
-        inv.<span class="methodref">invokeFunction</span>("hello", "Scripting!!" );
-    }
-}
-
-</code>
-</pre>
-<p>If your scripting language is object based (like JavaScript) or
-object-oriented, then you can invoke a script method on a script
-object.</p>
-<pre><code>
-// <a href="source/InvokeScriptMethod.java">InvokeScriptMethod.java</a>
-
-import javax.script.*;
-
-public class InvokeScriptMethod {
-    public static void main(String[] args) throws Exception {
-        ScriptEngineManager manager = new ScriptEngineManager();
-        ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        // JavaScript code in a String. This code defines a script object 'obj'
-        // with one method called 'hello'.        
-        String script = "var obj = new Object(); obj.hello = function(name) { print('Hello, ' + name); }";
-        // evaluate script
-        engine.eval(script);
-
-        // <code>javax.script.Invocable</code> is an optional interface.
-        // Check whether your script engine implements or not!
-        // Note that the JavaScript engine implements Invocable interface.
-        <span class="classref">Invocable</span> inv = (Invocable) engine;
-
-        // get script object on which we want to call the method
-        Object obj = engine.<span class="methodref">get</span>("obj");
-
-        // invoke the method named "hello" on the script object "obj"
-        inv.<span class="methodref">invokeMethod</span>(obj, "hello", "Script Method !!" );
-    }
-}
-
-</code>
-</pre>
-<hr>
-<a name="interfaces" id="interfaces"></a>
-<h3>Implementing Java Interfaces by Scripts</h3>
-<p>Instead of calling specific script functions from Java,
-sometimes it is convenient to implement a Java interface by script
-functions or methods. Also, by using interfaces we can avoid having
-to use the <code>javax.script</code> API in many places. We can get
-an interface implementor object and pass it to various Java APIs.
-The following example demonstrates implementing the
-<code>java.lang.Runnable</code> interface with a script.</p>
-<pre><code>
-// <a href="source/RunnableImpl.java">RunnableImpl.java</a>
-
-import javax.script.*;
-
-public class RunnableImpl {
-    public static void main(String[] args) throws Exception {
-        ScriptEngineManager manager = new ScriptEngineManager();
-        ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        // JavaScript code in a String
-        String script = "function run() { print('run called'); }";
-
-        // evaluate script
-        engine.eval(script);
-
-        <span class="classref">Invocable</span> inv = (Invocable) engine;
-
-        // get Runnable interface object from engine. This interface methods
-        // are implemented by script functions with the matching name.
-        Runnable r = inv.<span class="methodref">getInterface</span>(Runnable.class);
-
-        // start a new thread that runs the script implemented
-        // runnable interface
-        Thread th = new Thread(r);
-        th.start();
-        th.join();
-    }
-}
-</code>
-</pre>
-<p>If your scripting language is object-based or object-oriented,
-it is possible to implement a Java interface by script methods on
-script objects. This avoids having to call script global functions
-for interface methods. The script object can store the "state"
-associated with the interface implementor.</p>
-<pre><code>
-// <a href="source/RunnableImplObject.java">RunnableImplObject.java</a>
-
-import javax.script.*;
-
-public class RunnableImplObject {
-    public static void main(String[] args) throws Exception {
-        ScriptEngineManager manager = new ScriptEngineManager();
-        ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        // JavaScript code in a String
-        String script = "var obj = new Object(); obj.run = function() { print('run method called'); }";
-
-        // evaluate script
-        engine.eval(script);
-
-        // get script object on which we want to implement the interface with
-        Object obj = engine.<span class="methodref">get</span>("obj");
-
-        <span class="classref">Invocable</span> inv = (Invocable) engine;
-
-        // get Runnable interface object from engine. This interface methods
-        // are implemented by script methods of object 'obj'
-        Runnable r = inv.<span class="methodref">getInterface</span>(obj, Runnable.class);
-
-        // start a new thread that runs the script implemented
-        // runnable interface
-        Thread th = new Thread(r);
-        th.start();
-        th.join();
-    }
-}
-</code>
-</pre>
-<hr>
-<a name="scopes" id="scopes"></a>
-<h3>Multiple Scopes for Scripts</h3>
-<p>In the <a href="#scriptvars">script variables</a> example, we
-saw how to expose application objects as script global variables.
-It is possible to expose multiple global "scopes" for scripts. A
-single scope is an instance of <code>javax.script.Bindings</code>.
-This interface is derived from <code>java.util.Map&lt;String,
-Object&gt;</code>. A scope a set of name-value pairs where name is
-any non-empty, non-null String.
-<code>javax.script.ScriptContext</code> interface supports multiple
-scopes with associated Bindings for each
-scope. By default, every script engine has a default script
-context. The default script context has atleast one scope called
-"ENGINE_SCOPE". Various scopes supported by a script context are
-available through <code>getScopes</code> method.</p>
-<pre><code>
-// <a href="source/MultiScopes.java">MultiScopes.java</a>
-
-import javax.script.*;
-
-public class MultiScopes {
-    public static void main(String[] args) throws Exception {
-        ScriptEngineManager manager = new ScriptEngineManager();
-        ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        engine.put("x", "hello");
-        // print global variable "x"
-        engine.eval("print(x);");
-        // the above line prints "hello"
-
-        // Now, pass a different script context
-        <span class="classref">ScriptContext</span> newContext = new <span class="classref">SimpleScriptContext</span>();
-        newContext.setBindings(engine.createBindings(), ScriptContext.ENGINE_SCOPE);
-        <span class="classref">Bindings</span> engineScope = newContext.<span class="methodref">getBindings</span>(ScriptContext.ENGINE_SCOPE);
-
-        // add new variable "x" to the new engineScope        
-        engineScope.<span class="methodref">put</span>("x", "world");
-
-        // execute the same script - but this time pass a different script context
-        engine.eval("print(x);", newContext);
-        // the above line prints "world"
-    }
-}
-
-</code>
-</pre>
-<hr>
-<a name="jsengine" id="jsengine"></a>
-<h2>JavaScript Script Engine</h2>
-<p>Oracle's implementation of JDK 8 is co-bundled with the Nashorn ECMAScript
-script engine.
-<hr>
-<a name="jstojava" id="jstojava"></a>
-<h2>JavaScript to Java Communication</h2>
-<p>For the most part, accessing Java classes, objects and methods
-is straightforward. In particular field and method access from
-JavaScript is the same as it is from Java. We highlight important
-aspects of JavaScript Java access here. 
-The following examples are JavaScript snippets accessing Java. This
-section requires knowledge of JavaScript. This section can be
-skipped if you are planning to use some other JSR-223 scripting
-language rather than JavaScript.</p>
-<hr>
-<a name="jsjavaclass" id=jsjavalass"></a>
-<h3>Accessing Java Classes</h3>
-<pre>
-<code>
-// <a href="source/javatypes.js">javatypes.js</a>
-
- var arrayListType = Java.type("java.util.ArrayList")
- var intType = Java.type("int")
- var stringArrayType = Java.type("java.lang.String[]")
- var int2DArrayType = Java.type("int[][]")
-</code>
-</pre> 
-
-Note that the name of the type is always a string for a fully qualified name. You can use any of these expressions to create new instances, e.g.:
-
-<pre><code>
- var anArrayList = new (Java.type("java.util.ArrayList"))
-</code></pre> 
-
-or
-
-<pre><code>
- var ArrayList = Java.type("java.util.ArrayList")
- var anArrayList = new ArrayList
- var anArrayListWithSize = new ArrayList(16)
-</code></pre> 
-
-In the special case of inner classes, you can either use the JVM fully qualified name, meaning using the dollar sign in the class name, or you can use the dot:
-
-<pre><code>
- var ftype = Java.type("java.awt.geom.Arc2D$Float")
-</code></pre> 
- 
-and
- 
-<pre><code>
- var ftype = Java.type("java.awt.geom.Arc2D.Float")
-</code></pre> 
-
-both work. Note however that using the dollar sign is faster, as Java.type first tries to resolve the class name as it is originally specified, and the internal JVM names for inner classes use the dollar sign. If you use the dot, Java.type will internally get a ClassNotFoundException and subsequently retry by changing the last dot to dollar sign. As a matter of fact, it'll keep replacing dots with dollar signs until it either successfully loads the class or runs out of all dots in the name. This way it can correctly resolve and load even multiply nested inner classes with the dot notation. Again, this will be slower than using the dollar signs in the name. An alternative way to access the inner class is as a property of the outer class:
-
-<pre><code>
- var arctype = Java.type("java.awt.geom.Arc2D")
- var ftype = arctype.Float
-</code></pre> 
-<p>
-You can access both static and non-static inner classes. If you want to create an instance of a non-static inner class, remember to pass an instance of its outer class as the first argument to the constructor.
-</p>
-<p>
-In addition to creating new instances, the type objects returned from <code>Java.type</code> calls can also be used to access the
-static fields and methods of the classes:
-<pre><code>
- var File = Java.type("java.io.File")
- File.createTempFile("nashorn", ".tmp")
-</code></pre> 
-<p>
-Methods with names of the form <code>isXxx()</code>, <code>getXxx()</code>, and <code>setXxx()</code> can also be used as properties, for both instances and statics.
-</p>
-<p>
-A type object returned from <code>Java.type</code> is distinct from a <code>java.lang.Class</code> object. You can obtain one from the other using properties <code>class</code> and <code>static</code> on them.
-<pre><code>
- var ArrayList = Java.type("java.util.ArrayList")
- var a = new ArrayList
-
- // All of the following print true:
- print("Type acts as target of instanceof: " + (a instanceof ArrayList))
- print("Class doesn't act as target of instanceof: " + !(a instanceof a.getClass()))
- print("Type is not same as instance's getClass(): " + (a.getClass() !== ArrayList))
- print("Type's `class` property is same as instance getClass(): " + (a.getClass() === ArrayList.class))
- print("Type is same as instance getClass()'s `static` property: " + (a.getClass().static === ArrayList))
-</code></pre> 
-<p>
-You can think of the type object as similar to the class names as used in Java source code: you use them as the
-arguments to the <code>new</code> and <code>instanceof</code> operators and as the namespace for the static fields
-and methods, but they are different than the runtime <code>Class</code> objects returned by <code>getClass()</code> calls.
-Syntactically and semantically, this separation produces code that is most similar to Java code, where a distinction
-between compile-time class expressions and runtime class objects also exists. (Also, Java can't have the equivalent of <code>static</code>
-property on a <code>Class</code> object since compile-time class expressions are never reified as objects).
-</p>
-<hr>
-<a name="jsimport" id="jsimport"></a>
-<h3>Importing Java Packages, Classes</h3>
-<p>The built-in functions <code>importPackage</code> (in compatibility script) and
-<code>importClass</code> can be used to import Java packages and
-classes.</p>
-<pre><code>
-
-// <a href="source/importpackageclass.js">importpackageclass.js</a>
-
-// load compatibility script
-load("nashorn:mozilla_compat.js");
-// Import Java packages and classes 
-// like import package.*; in Java
-<span class="functionref">importPackage</span>(java.awt);
-// like import java.awt.Frame in Java
-<span class="functionref">importClass</span>(java.awt.Frame);
-// Create Java Objects by "new ClassName"
-var frame = new java.awt.Frame("hello");
-// Call Java public methods from script
-frame.setVisible(true);
-// Access "JavaBean" properties like "fields"
-print(frame.title);
-</code>
-</pre>
-<p>The <span class="objectref">Packages</span> global variable can
-be used to access Java packages. Examples:
-<code>Packages.java.util.Vector</code>,
-<code>Packages.javax.swing.JFrame</code>. Please note that "java"
-is a shortcut for "Packages.java". There are equivalent shortcuts
-for javax, org, edu, com, net prefixes, so pratically all JDK
-platform classes can be accessed without the "Packages" prefix.</p>
-<p>Note that java.lang is not imported by default (unlike Java)
-because that would result in conflicts with JavaScript's built-in
-Object, Boolean, Math and so on.</p>
-<p><code>importPackage</code> and <code>importClass</code>
-functions "pollute" the global variable scope of JavaScript. To
-avoid that, you may use <span class="functionref">JavaImporter</span>.</p>
-<pre><code>
-
-// <a href="source/javaimporter.js">javaimporter.js</a>
-
-// create JavaImporter with specific packages and classes to import
-
-var SwingGui = new <span class="functionref">JavaImporter</span>(javax.swing,
-                            javax.swing.event,
-                            javax.swing.border,
-                            java.awt.event);
-with (SwingGui) {
-    // within this 'with' statement, we can access Swing and AWT
-    // classes by unqualified (simple) names.
-
-    var mybutton = new JButton("test");
-    var myframe = new JFrame("test");
-}
-
-</code>
-</pre>
-<hr>
-<a name="jsarrays" id="jsarrays"></a>
-<h3>Creating, Converting and Using Java Arrays</h3>
-<p>
-Array element access or length access is the same as in Java.</p>
-<pre><code>
-// <a href="source/javaarray.js">javaarray.js</a>
-
-// create Java String array of 5 elements
-var StringArray = Java.type("java.lang.String[]");
-var a = new StringArray(5);
-
-// Accessing elements and length access is by usual Java syntax
-a[0] = "scripting is great!";
-print(a.length);
-print(a[0]);
-</code>
-</pre>
-<p>
-It is also possible to convert between JavaScript and Java arrays.
-Given a JavaScript array and a Java type, <code>Java.to</code> returns a Java array with the same initial contents, and with the specified array type. 
-</p>
-<pre><code>
- var anArray = [1, "13", false]
- var javaIntArray = Java.to(anArray, "int[]")
- print(javaIntArray[0]) // prints 1
- print(javaIntArray[1]) // prints 13, as string "13" was converted to number 13 as per ECMAScript ToNumber conversion
- print(javaIntArray[2]) // prints 0, as boolean false was converted to number 0 as per ECMAScript ToNumber conversion
-</code></pre>
-<p>
-You can use either a string or a type object returned from <code>Java.type()</code> to specify the type of the array. 
-You can also omit the array type, in which case a <code>Object[]</code> will be created.
-</p>
-<p>
-Given a Java array or Collection, <code>Java.from</code> returns a JavaScript array with a shallow copy of its contents. Note that in most cases, you can use Java arrays and lists natively in Nashorn; in cases where for some reason you need to have an actual JavaScript native array (e.g. to work with the array comprehensions functions), you will want to use this method.
-</p>
-<pre><code>
-var File = Java.type("java.io.File");
-var listCurDir = new File(".").listFiles();
-var jsList = Java.from(listCurDir);
-print(jsList);
-</code></pre>
-<hr>
-<a name="jsimplement" id="jsimplement"></a>
-<h3>Implementing Java interfaces</h3>
-<p>A Java interface can be implemented in JavaScript by using a
-Java anonymous class-like syntax:</p>
-<pre><code>
-// <a href="source/runnable.js">runnable.js</a>
-
-var r  = new java.lang.Runnable() {
-    run: function() {
-        print("running...\n");
-    }
-};
-
-// "r" can be passed to Java methods that expect java.lang.Runnable
-var th = new java.lang.Thread(r);
-th.start();
-th.join();
-</code>
-</pre>
-<p>When an interface with a single method is expected, you can pass
-a script function directly.(auto conversion)</p>
-<pre><code>
-// <a href="source/samfunc.js">samfunc.js</a>
-
-function func() {
-     print("I am func!");
-}
-
-// pass script function for java.lang.Runnable argument
-var th = new java.lang.Thread(func);
-th.start();
-th.join();
-</code>
-</pre>
-<hr>
-<a name="jsextendabstract" id="jsextendabstract"></a>
-<h3>Extending Abstract Java Classes</h3>
-<p>
-If a Java class is abstract, you can instantiate an anonymous subclass of it using an argument list that is applicable to any of its public or protected constructors, but inserting a JavaScript object with functions properties that provide JavaScript implementations of the abstract methods. If method names are overloaded, the JavaScript function will provide implementation for all overloads. E.g.:
-</p>
-
-<pre><code>
- var TimerTask =  Java.type("java.util.TimerTask")
- var task = new TimerTask({ run: function() { print("Hello World!") } })
-</code></pre>
-
-Nashorn supports a syntactic extension where a "new" expression followed by an argument is identical to invoking the constructor and passing the argument to it, so you can write the above example also as:
-
-<pre><code>
- var task = new TimerTask {
-     run: function() {
-       print("Hello World!")
-     }
- }
-</code></pre>
-
-which is very similar to Java anonymous inner class definition. On the other hand, if the type is an abstract type with a single abstract method (commonly referred to as a "SAM type") or all abstract methods it has share the same overloaded name), then instead of an object, you can just pass a function, so the above example can become even more simplified to:
-
-<pre><code>
- var task = new TimerTask(function() { print("Hello World!") })
-</code></pre>
-
-<p>
-Note that in every one of these cases if you are trying to instantiate an abstract class that has constructors that take some arguments, you can invoke those simply by specifying the arguments after the initial implementation object or function.
-</p>
-<p>
-The use of functions can be taken even further; if you are invoking a Java method that takes a SAM type, you can just pass in a function object, and Nashorn will know what you meant:
-</p>
-<code><pre>
- Java.type("java.util.Timer")
- timer.schedule(function() { print("Hello World!") })
-</code></pre>
-
-Here, <code>Timer.schedule()</code> expects a <code>TimerTask</code> as its argument, so Nashorn creates an instance of a TimerTask subclass and uses the passed function to implement its only abstract method, run(). In this usage though, you can't use non-default constructors; the type must be either an interface, or must have a protected or public no-arg constructor.
-
-<hr>
-<a name="jsextendconcrete" id="jsextendconcrete"></a>
-<h3>Extending Concrete Java Classes</h3>
-<p>
-To extend a concrete Java class, you have to use <code>Java.extend</code> function.
-<code>Java.extend</code> returns a type object for a subclass of the specified Java class (or implementation of the specified interface) that acts as a script-to-Java adapter for it.  
-</p>
-<pre><code>
-// <a href="source/javaextend.js">javaextend.js</a>
-
-var ArrayList = Java.type("java.util.ArrayList")
-var ArrayListExtender = Java.extend(ArrayList)
-var printSizeInvokedArrayList = new ArrayListExtender() {
-    size: function() { print("size invoked!"); }
-}
-var printAddInvokedArrayList = new ArrayListExtender() {
-    add: function(x, y) {
-        if(typeof(y) === "undefined") {
-            print("add(e) invoked!");
-        } else {
-            print("add(i, e) invoked!");
-        }
-    }
-};
-printSizeInvokedArrayList.size();
-printAddInvokedArrayList.add(33, 33);
-</code></pre>
-<p>
-The reason you must use <code>Java.extend()</code> with concrete classes is that with concrete classes, there can be a 
-syntactic ambiguity if you just invoke their constructor. Consider this example:
-</p>
-<pre><code>
-var t = new java.lang.Thread({ run: function() { print("Hello!") } })
-</code></pre>
-<p>
-If we allowed subclassing of concrete classes with constructor syntax, Nashorn couldn't tell if you're creating a new 
-<code>Thread</code> and passing it a <code>Runnable</code> at this point, or you are subclassing <code>Thread</code> and
-passing it a new implementation for its own <code>run()</code> method.
-</p>
-<hr>
-<a name="jsimplementmultiple" id="jsimplementmultiple"></a>
-<h3>Implementing Multiple Interfaces</h3>
-<p>
-<code>Java.extend</code> can in fact take a list of multiple types. At most one of the types can be a class, and the rest must
-be interfaces (the class doesn't have to be the first in the list). You will get back an object that extends the class and 
-implements all the interfaces. (Obviously, if you only specify interfaces and no class, the object will extend <code>java.lang.Object</code>).
-<hr>
-<a name="classBoundImplementations" id="classBoundImplementations"></a>
-<h3>Class-Bound Implementations</h3>
-<p>
-The methods shown so far for extending Java classes and implementing interfaces &ndash; passing an implementation JavaScript object 
-or function to a constructor, or using <code>Java.extend</code> with <code>new</code> &ndash; all produce classes that take an
-extra JavaScript object parameter in their constructors that specifies the implementation. The implementation is therefore always bound
-to the actual instance being created with <code>new</code>, and not to the whole class. This has some advantages, for example in the
-memory footprint of the runtime, as Nashorn can just create a single "universal adapter" for every combination of types being implemented.
-In reality, the below code shows that different instantiations of, say, <code>Runnable</code> have the same class regardless of them having
-different JavaScript implementation objects:
-</p>
-<pre><code>
-var Runnable = java.lang.Runnable;
-var r1 = new Runnable(function() { print("I'm runnable 1!") })
-var r2 = new Runnable(function() { print("I'm runnable 2!") })
-r1.run()
-r2.run()
-print("We share the same class: " + (r1.class === r2.class))
-</code></pre>
-<p>
-prints:
-</p>
-<pre><code>
-I'm runnable 1!
-I'm runnable 2!
-We share the same class: true
-</code></pre>
-<p>
-Sometimes, however, you'll want to extend a Java class or implement an interface with implementation bound to the class, not to
-its instances. Such a need arises, for example, when you need to pass the class for instantiation to an external API; prime example
-of this is the JavaFX framework where you need to pass an Application class to the FX API and let it instantiate it.
-</p>
-<p>
-Fortunately, there's a solution for that: <code>Java.extend()</code> &ndash; aside from being able to take any number of type parameters
-denoting a class to extend and interfaces to implement &ndash; can also take one last argument that has to be a JavaScript object
-that serves as the implementation for the methods. In this case, <code>Java.extend()</code> will create a class that has the same
-constructors as the original class had, as they don't need to take an an extra implementation object parameter. The example below
-shows how you can create class-bound implementations, and shows that in this case, the implementation classes for different invocations
-are indeed different:
-</p>
-<pre><code>
-var RunnableImpl1 = Java.extend(java.lang.Runnable, function() { print("I'm runnable 1!") })
-var RunnableImpl2 = Java.extend(java.lang.Runnable, function() { print("I'm runnable 2!") })
-var r1 = new RunnableImpl1()
-var r2 = new RunnableImpl2()
-r1.run()
-r2.run()
-print("We share the same class: " + (r1.class === r2.class))
-</code></pre>
-<p>
-prints:
-</p>
-<pre><code>
-I'm runnable 1!
-I'm runnable 2!
-We share the same class: false
-</code></pre>
-<p>
-As you can see, the major difference here is that we moved the implementation object into the invocation of <code>Java.extend</code>
-from the constructor invocations &ndash; indeed the constructor invocations now don't even need to take an extra parameter! Since
-the implementations are bound to a class, the two classes obviously can't be the same, and we indeed see that the two runnables no
-longer share the same class &ndash; every invocation of <code>Java.extend()</code> with a class-specific implementation object triggers
-the creation of a new Java adapter class.
-</p>
-<p>
-Finally, the adapter classes with class-bound implementations can <i>still</i> take an additional constructor parameter to further
-override the behavior on a per-instance basis. Thus, you can even combine the two approaches: you can provide part of the implementation
-in a class-based JavaScript implementation object passed to <code>Java.extend</code>, and part in another object passed to the constructor.
-Whatever functions are provided by the constructor-passed object will override the functions in the class-bound object.
-</p>
-<pre><code>
-var RunnableImpl = Java.extend(java.lang.Runnable, function() { print("I'm runnable 1!") })
-var r1 = new RunnableImpl()
-var r2 = new RunnableImpl(function() { print("I'm runnable 2!") })
-r1.run()
-r2.run()
-print("We share the same class: " + (r1.class === r2.class))
-</code></pre>
-<p>
-prints:
-</p>
-<pre><code>
-I'm runnable 1!
-I'm runnable 2!
-We share the same class: true
-</code></pre>
-<hr>
-<a name="jsoverload" id="jsoverload"></a>
-<h3>Overload Resolution</h3>
-<p>Java methods can be overloaded by argument types. In Java,
-overload resolution occurs at compile time (performed by javac).
-When calling Java methods from Nashorn, the appropriate method will be
-selected based on the argument types at invocation time. You do not need
-to do anything special &ndash; the correct Java method overload variant 
-is selected based automatically. You still have the option of explicitly
-specifying a particular overload variant. Reasons for this include 
-either running into a genuine ambiguity with actual argument types, or 
-rarely reasons of performance &ndash; if you specify the actual overload
-then the engine doesn't have to perform resolution during invocation.
-Individual overloads of a Java methods are exposed as special properties
-with the name of the method followed with its signature in parentheses. 
-You can invoke them like this:</p>
-<pre><code>
-// <a href="source/overload.js">overload.js</a>
-
-var out = java.lang.System.out;
-
-// select a particular print function 
-out["println(Object)"]("hello");
-</code>
-</pre>
-<p>
-Note that you normally don't even have to use qualified class names in 
-the signatures as long as the unqualified name of the type is sufficient
-for uniquely identifying the signature. In practice this means that only
-in the extremely unlikely case that two overloads only differ in 
-parameter types that have identical unqualified names but come from 
-different packages would you need to use the fully qualified name of the
-class.
-</p>
-<hr>
-<a name="dataTypeMapping" id="dataTypeMapping"></a>
-<h3>Mapping of Data Types Between Java and JavaScript</h3>
-<p>
-We have previously shown some of the data type mappings between Java and JavaScript.
-We saw that arrays need to be explicitly converted. We have also shown that JavaScript functions
-are automatically converted to SAM types when passed as parameters to Java methods. Most other
-conversions work as you would expect.
-</p>
-<p>
-Every JavaScript object is also a <code>java.util.Map</code> so APIs receiving maps will receive them directly.
-</p>
-<p>
-When numbers are passed to a Java API, they will be converted to the expected target numeric type, either boxed or
-primitive, but if the target type is less specific, say <code>Number</code> or <code>Object</code>, you can only
-count on them being a <code>Number</code>, and have to test specifically for whether it's a boxed <code>Double</code>,
-<code>Integer</code>, <code>Long</code>, etc. &ndash; it can be any of these due to internal optimizations. Also, you 
-can pass any JavaScript value to a Java API expecting either a boxed or primitive number; the JavaScript specification's
-<code>ToNumber</code> conversion algorithm will be applied to the value.
-</p>
-<p>
-In a similar vein, if a Java method expects a <code>String</code> or a <code>Boolean</code>, the values will be
-converted using all conversions allowed by the JavaScript specification's <code>ToString</code> and <code>ToBoolean</code>
-conversions.
-</p>
-<p>
-Finally, a word of caution about strings. Due to internal performance optimizations of string operations, JavaScript strings are
-not always necessarily of type <code>java.lang.String</code>, but they will always be of type <code>java.lang.CharSequence</code>.
-If you pass them to a Java method that expects a <code>java.lang.String</code> parameter, then you will naturally receive a Java
-String, but if the signature of your method is more generic, i.e. it receives a <code>java.lang.Object</code> parameter, you can 
-end up with an object of private engine implementation class that implements <code>CharSequence</code> but is not a Java String.
-</p>
-<hr>
-<a name="engineimpl" id="engineimpl"></a>
-<h2>Implementing Your Own Script Engine</h2>
-<p>We will not cover implementation of JSR-223 compliant script
-engines in detail. Minimally, you need to implement the
-<code>javax.script.ScriptEngine</code> and
-<code>javax.script.ScriptEngineFactory</code> interfaces. The
-abstract class <code>javax.script.AbstractScriptEngine</code>
-provides useful defaults for a few methods of the
-<code>ScriptEngine</code> interface.</p>
-<p>Before starting to implement a JSR-223 engine, you may want to
-check <a href="http://java.net/projects/Scripting">http://java.net/projects/Scripting</a>
-project. This project maintains JSR-223 implementations for many
-popular open source scripting languages.</p>
-<hr>
-<a name="refs" id="refs"></a>
-<h2>References</h2>
-<ul>
-<li><a href="http://jcp.org/en/jsr/detail?id=223">JSR-223 Scripting
-for the Java Platform</a></li>
-<li><a href="http://java.net/projects/Scripting">http://java.net/projects/Scripting
-</a></li>
-</ul>
-
-
-
-<div class="hr"><hr></div>
-<table summary="layout" border="0" width="100%">
-<tbody><tr valign="TOP">
-<td width="30%"> <img src="Java%20Scripting%20Programmer%27s%20Guide_files/logo_oracle_footer.gif" alt="Oracle and/or its affiliates" border="0" height="29" width="100"><br>
-<font size="+1"> <i>Java Technology</i></font> </td>
-
-<td width="30%">
-<p><font size="-2">
-<a href="http://docs.oracle.com/javase/6/docs/legal/cpyr.html">Copyright ©</a> 2013, Oracle and/or its affiliates. All rights reserved.
-</font></p> 
-</td>
-<td width="30%">
-<p align="right"><font size="-2"><a href="http://download.oracle.com/javase/feedback.html">Contact Us</a></font></p><font size="-2">
-</font></td>
-</tr>
-</tbody></table> 
-<div class="hr"><hr></div>
-</div>
-
-<!-- Start SiteCatalyst code   -->
-<script language="JavaScript" src="Java%20Scripting%20Programmer%27s%20Guide_files/s_code_download.js"></script>
-<script language="JavaScript" src="Java%20Scripting%20Programmer%27s%20Guide_files/s_code.js"></script>
- 
-<!-- ********** DO NOT ALTER ANYTHING BELOW THIS LINE ! *********** -->
-<!--  Below code will send the info to Omniture server -->
-<script language="javascript">var s_code=s.t();if(s_code)document.write(s_code)</script>
- 
-<!-- End SiteCatalyst code -->
-
-
-
-</body></html>
diff --git a/docs/genshelldoc.js b/docs/genshelldoc.js
deleted file mode 100644
index 9647351..0000000
--- a/docs/genshelldoc.js
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2010, 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.
- *
- * 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.
- */
-
-/**
- * Generate HTML documentation for shell tool. Re-run this tool to regenerate
- * html doc when you change options.
- *
- * Usage:
- *
- *     jjs -scripting genshelldoc.js > shell.html
- */
-
-var Options = Packages.jdk.nashorn.internal.runtime.options.Options;
-var title = "Nashorn command line shell tool";
-
-print(<<PREFIX
-<html>
-<head>
-<title>
-${title}
-</title>
-</head>
-<body>
-<h1>Usage</h1>
-<p>
-<code>
-<b>jjs &lt;options&gt; &lt;script-files&gt; [ -- &lt;script-arguments&gt; ]</b>
-</code>
-</p>
-
-<h1>${title} options</h1>
-
-<table border="0">
-<tr>
-<th>name</th>
-<th>type</th>
-<th>default</th>
-<th>description</th>
-</tr>
-PREFIX);
-
-for each (opt in Options.validOptions) {
-
-var isTimezone = (opt.type == "timezone");
-var defValue = opt.defaultValue;
-if (defValue == null) {
-    defValue = "&lt;none&gt;";
-}
-
-if (isTimezone) {
-    // don't output current user's timezone
-    defValue = "&lt;default-timezone&gt;"
-}
-
-print(<<ROW
-  <tr>
-  <td><b>${opt.name} ${opt.shortName == null? "" : opt.shortName}</b></td>
-  <td>${opt.type}</td>
-  <td>${defValue}</td>
-  <td>${opt.description}</td>
-  </tr>
-ROW);
-
-}
-
-print(<<SUFFIX
-</table>
-</body>
-</html>
-SUFFIX);
diff --git a/docs/source/EvalFile.java b/docs/source/EvalFile.java
deleted file mode 100644
index b12e91b..0000000
--- a/docs/source/EvalFile.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-
-@SuppressWarnings("javadoc")
-public class EvalFile {
-    public static void main(final String[] args) throws Exception {
-        // create a script engine manager
-        final ScriptEngineManager factory = new ScriptEngineManager();
-        // create JavaScript engine
-        final ScriptEngine engine = factory.getEngineByName("nashorn");
-        // evaluate JavaScript code from given file - specified by first argument
-        engine.eval(new java.io.FileReader(args[0]));
-    }
-}
-
diff --git a/docs/source/EvalScript.java b/docs/source/EvalScript.java
deleted file mode 100644
index 49f581d..0000000
--- a/docs/source/EvalScript.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-
-@SuppressWarnings("javadoc")
-public class EvalScript {
-    public static void main(final String[] args) throws Exception {
-        // create a script engine manager
-        final ScriptEngineManager factory = new ScriptEngineManager();
-        // create a JavaScript engine
-        final ScriptEngine engine = factory.getEngineByName("nashorn");
-        // evaluate JavaScript code from String
-        engine.eval("print('Hello, World')");
-    }
-}
-
diff --git a/docs/source/InvokeScriptFunction.java b/docs/source/InvokeScriptFunction.java
deleted file mode 100644
index 5ce1cae..0000000
--- a/docs/source/InvokeScriptFunction.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import javax.script.Invocable;
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-
-@SuppressWarnings("javadoc")
-public class InvokeScriptFunction {
-    public static void main(final String[] args) throws Exception {
-        final ScriptEngineManager manager = new ScriptEngineManager();
-        final ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        // JavaScript code in a String
-        final String script = "function hello(name) { print('Hello, ' + name); }";
-        // evaluate script
-        engine.eval(script);
-
-        // javax.script.Invocable is an optional interface.
-        // Check whether your script engine implements or not!
-        // Note that the JavaScript engine implements Invocable interface.
-        final Invocable inv = (Invocable) engine;
-
-        // invoke the global function named "hello"
-        inv.invokeFunction("hello", "Scripting!!" );
-    }
-}
-
-
-
diff --git a/docs/source/InvokeScriptMethod.java b/docs/source/InvokeScriptMethod.java
deleted file mode 100644
index d3cc788..0000000
--- a/docs/source/InvokeScriptMethod.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import javax.script.Invocable;
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-
-@SuppressWarnings("javadoc")
-public class InvokeScriptMethod {
-    public static void main(final String[] args) throws Exception {
-        final ScriptEngineManager manager = new ScriptEngineManager();
-        final ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        // JavaScript code in a String. This code defines a script object 'obj'
-        // with one method called 'hello'.
-        final String script = "var obj = new Object(); obj.hello = function(name) { print('Hello, ' + name); }";
-        // evaluate script
-        engine.eval(script);
-
-        // javax.script.Invocable is an optional interface.
-        // Check whether your script engine implements or not!
-        // Note that the JavaScript engine implements Invocable interface.
-        final Invocable inv = (Invocable) engine;
-
-        // get script object on which we want to call the method
-        final Object obj = engine.get("obj");
-
-        // invoke the method named "hello" on the script object "obj"
-        inv.invokeMethod(obj, "hello", "Script Method !!" );
-    }
-}
diff --git a/docs/source/MultiScopes.java b/docs/source/MultiScopes.java
deleted file mode 100644
index ff4f65b..0000000
--- a/docs/source/MultiScopes.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import javax.script.Bindings;
-import javax.script.ScriptContext;
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-import javax.script.SimpleScriptContext;
-
-@SuppressWarnings("javadoc")
-public class MultiScopes {
-    public static void main(final String[] args) throws Exception {
-        final ScriptEngineManager manager = new ScriptEngineManager();
-        final ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        engine.put("x", "hello");
-        // print global variable "x"
-        engine.eval("print(x);");
-        // the above line prints "hello"
-
-        // Now, pass a different script context
-        final ScriptContext newContext = new SimpleScriptContext();
-        newContext.setBindings(engine.createBindings(), ScriptContext.ENGINE_SCOPE);
-        final Bindings engineScope = newContext.getBindings(ScriptContext.ENGINE_SCOPE);
-
-        // add new variable "x" to the new engineScope
-        engineScope.put("x", "world");
-
-        // execute the same script - but this time pass a different script context
-        engine.eval("print(x);", newContext);
-        // the above line prints "world"
-    }
-}
-
-
diff --git a/docs/source/RunnableImpl.java b/docs/source/RunnableImpl.java
deleted file mode 100644
index 2b5113b..0000000
--- a/docs/source/RunnableImpl.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import javax.script.Invocable;
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-
-@SuppressWarnings("javadoc")
-public class RunnableImpl {
-    public static void main(final String[] args) throws Exception {
-        final ScriptEngineManager manager = new ScriptEngineManager();
-        final ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        // JavaScript code in a String
-        final String script = "function run() { print('run called'); }";
-
-        // evaluate script
-        engine.eval(script);
-
-        final Invocable inv = (Invocable) engine;
-
-        // get Runnable interface object from engine. This interface methods
-        // are implemented by script functions with the matching name.
-        final Runnable r = inv.getInterface(Runnable.class);
-
-        // start a new thread that runs the script implemented
-        // runnable interface
-        final Thread th = new Thread(r);
-        th.start();
-        th.join();
-    }
-}
diff --git a/docs/source/RunnableImplObject.java b/docs/source/RunnableImplObject.java
deleted file mode 100644
index 0d5f503..0000000
--- a/docs/source/RunnableImplObject.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import javax.script.Invocable;
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-
-@SuppressWarnings("javadoc")
-public class RunnableImplObject {
-    public static void main(final String[] args) throws Exception {
-        final ScriptEngineManager manager = new ScriptEngineManager();
-        final ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        // JavaScript code in a String
-        final String script = "var obj = new Object(); obj.run = function() { print('run method called'); }";
-
-        // evaluate script
-        engine.eval(script);
-
-        // get script object on which we want to implement the interface with
-        final Object obj = engine.get("obj");
-
-        final Invocable inv = (Invocable) engine;
-
-        // get Runnable interface object from engine. This interface methods
-        // are implemented by script methods of object 'obj'
-        final Runnable r = inv.getInterface(obj, Runnable.class);
-
-        // start a new thread that runs the script implemented
-        // runnable interface
-        final Thread th = new Thread(r);
-        th.start();
-        th.join();
-    }
-}
diff --git a/docs/source/ScriptVars.java b/docs/source/ScriptVars.java
deleted file mode 100644
index c697431..0000000
--- a/docs/source/ScriptVars.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import java.io.File;
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-
-@SuppressWarnings("javadoc")
-public class ScriptVars {
-    public static void main(final String[] args) throws Exception {
-        final ScriptEngineManager manager = new ScriptEngineManager();
-        final ScriptEngine engine = manager.getEngineByName("nashorn");
-
-        final File f = new File("test.txt");
-        // expose File object as variable to script
-        engine.put("file", f);
-
-        // evaluate a script string. The script accesses "file"
-        // variable and calls method on it
-        engine.eval("print(file.getAbsolutePath())");
-    }
-}
-
-
-
diff --git a/docs/source/importpackageclass.js b/docs/source/importpackageclass.js
deleted file mode 100644
index 224debd..0000000
--- a/docs/source/importpackageclass.js
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// load compatibility script
-load("nashorn:mozilla_compat.js");
-
-// Import Java packages and classes
-// like import package.*; in Java
-importPackage(java.awt);
-// like import java.awt.Frame in Java
-importClass(java.awt.Frame);
-// Create Java Objects by "new ClassName"
-var frame = new java.awt.Frame("hello");
-// Call Java public methods from script
-frame.setVisible(true);
-// Access "JavaBean" properties like "fields"
-print(frame.title);
diff --git a/docs/source/javaarray.js b/docs/source/javaarray.js
deleted file mode 100644
index 6596191..0000000
--- a/docs/source/javaarray.js
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// create Java String array of 5 elements
-var StringArray = Java.type("java.lang.String[]");
-var a = new StringArray(5);
-
-// Accessing elements and length access is by usual Java syntax
-a[0] = "scripting is great!";
-print(a.length);
-print(a[0]);
-
-// convert a script array to Java array
-var anArray = [1, "13", false];
-var javaIntArray = Java.to(anArray, "int[]");
-print(javaIntArray[0]);// prints 1
-print(javaIntArray[1]); // prints 13, as string "13" was converted to number 13 as per ECMAScript ToNumber conversion
-print(javaIntArray[2]);// prints 0, as boolean false was converted to number 0 as per ECMAScript ToNumber conversion
-
-// convert a Java array to a JavaScript array
-var File = Java.type("java.io.File");
-var listCurDir = new File(".").listFiles();
-var jsList = Java.from(listCurDir);
-print(jsList);
diff --git a/docs/source/javaextend.js b/docs/source/javaextend.js
deleted file mode 100644
index f1c6256..0000000
--- a/docs/source/javaextend.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-var ArrayList = Java.type("java.util.ArrayList")
-var ArrayListExtender = Java.extend(ArrayList)
-var printSizeInvokedArrayList = new ArrayListExtender() {
-    size: function() { print("size invoked!"); }
-}
-var printAddInvokedArrayList = new ArrayListExtender() {
-    add: function(x, y) {
-        if(typeof(y) === "undefined") {
-            print("add(e) invoked!");
-        } else {
-            print("add(i, e) invoked!");
-        }
-    }
-};
-printSizeInvokedArrayList.size();
-printAddInvokedArrayList.add(33, 33);
diff --git a/docs/source/javaimporter.js b/docs/source/javaimporter.js
deleted file mode 100644
index 5004ce8..0000000
--- a/docs/source/javaimporter.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-// create JavaImporter with specific packages and classes to import
-
-var SwingGui = new JavaImporter(javax.swing,
-                            javax.swing.event,
-                            javax.swing.border,
-                            java.awt.event);
-with (SwingGui) {
-    // within this 'with' statement, we can access Swing and AWT
-    // classes by unqualified (simple) names.
-
-    var mybutton = new JButton("test");
-    print(mybutton);
-    var myframe = new JFrame("test");
-    print(myframe);
-}
-
-
diff --git a/docs/source/javatypes.js b/docs/source/javatypes.js
deleted file mode 100644
index 82392ec..0000000
--- a/docs/source/javatypes.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-
-// accessing java types
-var arrayListType = Java.type("java.util.ArrayList")
-var intType = Java.type("int")
-var stringArrayType = Java.type("java.lang.String[]")
-var int2DArrayType = Java.type("int[][]")
-
-// Using java types
-var ArrayList = Java.type("java.util.ArrayList")
-var anArrayList = new ArrayList
-var anArrayListWithSize = new ArrayList(16)
-
-// fully qualified name
-var ftype = Java.type("java.awt.geom.Arc2D$Float")
-
-// inner class property
-var arctype = Java.type("java.awt.geom.Arc2D")
-var ftype = arctype.Float
-
diff --git a/docs/source/overload.js b/docs/source/overload.js
deleted file mode 100644
index a2905f9..0000000
--- a/docs/source/overload.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-var out = java.lang.System.out;
-
-// select a particular print function
-out["println(java.lang.Object)"]("hello");
-
diff --git a/docs/source/runnable.js b/docs/source/runnable.js
deleted file mode 100644
index 346c252..0000000
--- a/docs/source/runnable.js
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-var r  = new java.lang.Runnable() {
-    run: function() {
-        print("running...\n");
-    }
-};
-
-// "r" can be passed to Java methods that expect java.lang.Runnable
-var th = new java.lang.Thread(r);
-th.start();
-th.join();
diff --git a/docs/source/samfunc.js b/docs/source/samfunc.js
deleted file mode 100644
index dbb321d..0000000
--- a/docs/source/samfunc.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-function func() {
-     print("I am func!");
-}
-
-// pass script function for java.lang.Runnable argument
-var th = new java.lang.Thread(func);
-th.start();
-th.join();
diff --git a/docs/source/test.js b/docs/source/test.js
deleted file mode 100644
index 56e96ef..0000000
--- a/docs/source/test.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- *   - Redistributions of source code must retain the above copyright
- *     notice, this list of conditions and the following disclaimer.
- *
- *   - Redistributions in binary form must reproduce the above copyright
- *     notice, this list of conditions and the following disclaimer in the
- *     documentation and/or other materials provided with the distribution.
- *
- *   - Neither the name of Oracle nor the names of its
- *     contributors may be used to endorse or promote products derived
- *     from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
- * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-print("This is hello from test.js");
diff --git a/exclude/exclude_list.txt b/exclude/exclude_list.txt
deleted file mode 100644
index 8961893..0000000
--- a/exclude/exclude_list.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<excludeList>
-</excludeList>
diff --git a/exclude/exclude_list_cc.txt b/exclude/exclude_list_cc.txt
deleted file mode 100644
index 79b6303..0000000
--- a/exclude/exclude_list_cc.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<excludeList>
-  <test id="JDK-8014647.js" />
-  <test id="javaclassoverrides.js" />
-  <test id="JDK-8020809.js" />
-</excludeList>
diff --git a/make/BuildNashorn.gmk b/make/BuildNashorn.gmk
deleted file mode 100644
index 683d462..0000000
--- a/make/BuildNashorn.gmk
+++ /dev/null
@@ -1,112 +0,0 @@
-#
-# Copyright (c) 2010, 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.
-#
-
-# This must be the first rule
-default: all
-
--include $(SPEC)
-include MakeBase.gmk
-include JavaCompilation.gmk
-
-JDK_CLASSES := $(JDK_OUTPUTDIR)/classes
-
-NASHORN_JAR := $(NASHORN_DIST)/nashorn.jar
-NASHORN_VERSION := $(JDK_VERSION)
-NASHORN_FULL_VERSION := $(FULL_VERSION)
-
-ifdef MILESTONE
-  ifeq ($(MILESTONE), internal)
-    NASHORN_VERSION = $(FULL_VERSION)
-  endif
-endif
-
-# Need to use source and target 7 for nasgen to work.
-$(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG, \
-    JVM := $(JAVA), \
-    JAVAC := $(NEW_JAVAC), \
-    FLAGS := -g -source 7 -target 7 -bootclasspath $(JDK_CLASSES), \
-    SERVER_DIR := $(SJAVAC_SERVER_DIR), \
-    SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
-
-# Build nashorn into intermediate directory
-$(eval $(call SetupJavaCompilation,BUILD_NASHORN, \
-    SETUP := GENERATE_NEWBYTECODE_DEBUG, \
-    SRC := $(NASHORN_TOPDIR)/src, \
-    COPY := .properties .js, \
-    BIN := $(NASHORN_OUTPUTDIR)/nashorn_classes))
-
-NASGEN_SRC := $(NASHORN_TOPDIR)/buildtools/nasgen/src
-ASM_SRC := $(JDK_TOPDIR)/src/share/classes/jdk/internal/org/objectweb/asm
-
-# Build nasgen
-$(eval $(call SetupJavaCompilation,BUILD_NASGEN, \
-    SETUP := GENERATE_NEWBYTECODE_DEBUG, \
-    SRC := $(NASGEN_SRC) $(ASM_SRC), \
-    BIN := $(NASHORN_OUTPUTDIR)/nasgen_classes, \
-    ADD_JAVAC_FLAGS := -bootclasspath "$(BOOT_RTJAR)$(PATH_SEP)$(NASHORN_OUTPUTDIR)/nashorn_classes"))
-
-# Nasgen needs nashorn classes
-$(BUILD_NASGEN): $(BUILD_NASHORN)
-
-# Copy classes to final classes dir and run nasgen to modify classes in jdk.nashorn.internal.objects package
-$(NASHORN_OUTPUTDIR)/classes/_the.nasgen.run: $(BUILD_NASGEN)
-	$(ECHO) Running nasgen
-	$(MKDIR) -p $(@D)
-	$(RM) -rf $(@D)/jdk $(@D)/netscape
-	$(CP) -R -p $(NASHORN_OUTPUTDIR)/nashorn_classes/* $(@D)/
-	$(FIXPATH) $(JAVA) \
-	    -Xbootclasspath/p:"$(NASHORN_OUTPUTDIR)/nasgen_classes$(PATH_SEP)$(NASHORN_OUTPUTDIR)/nashorn_classes" \
-	    jdk.nashorn.internal.tools.nasgen.Main $(@D) jdk.nashorn.internal.objects $(@D)
-	$(TOUCH) $@
-
-# Version file needs to be processed with version numbers
-VERSION_FILE := $(NASHORN_OUTPUTDIR)/classes/jdk/nashorn/internal/runtime/resources/version.properties
-
-# Needs to happen after nasgen run since nasgen run deletes it
-$(VERSION_FILE): $(NASHORN_OUTPUTDIR)/classes/_the.nasgen.run
-$(VERSION_FILE): $(NASHORN_TOPDIR)/src/jdk/nashorn/internal/runtime/resources/version.properties-template
-	$(ECHO) Creating version.properties
-	$(MKDIR) -p $(@D)
-	$(CAT) $< | $(SED) -e 's/$$(FULL_VERSION)/$(NASHORN_FULL_VERSION)/g' \
-	    -e 's/$$(RELEASE)/$(NASHORN_VERSION)/g' \
-	    -e '/^#.*$$/d' -e '/^$$/d'  > $@
-
-
-MANIFEST_ATTRIBUTES := Name: jdk/nashorn/\nImplementation-Title: Oracle Nashorn\nImplementation-Version: $(NASHORN_FULL_VERSION)
-
-# Create nashorn.jar from the final classes dir
-$(eval $(call SetupArchive,BUILD_NASHORN_JAR, \
-    $(NASHORN_OUTPUTDIR)/classes/_the.nasgen.run \
-    $(VERSION_FILE), \
-    SRCS := $(NASHORN_OUTPUTDIR)/classes, \
-    SUFFIXES := .class .js .properties Factory, \
-    MANIFEST := $(NASHORN_TOPDIR)/src/META-INF/MANIFEST.MF, \
-    EXTRA_MANIFEST_ATTR := $(MANIFEST_ATTRIBUTES), \
-    SKIP_METAINF := true, \
-    JAR := $(NASHORN_JAR)))
-
-all: $(NASHORN_JAR)
-
-.PHONY: all
diff --git a/make/Makefile b/make/Makefile
deleted file mode 100644
index 4570070..0000000
--- a/make/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# Copyright (c) 2012, 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.
-#
-
-# Locate this Makefile
-ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))), )
-  makefile_path := $(CURDIR)/$(lastword $(MAKEFILE_LIST))
-else
-  makefile_path := $(lastword $(MAKEFILE_LIST))
-endif
-repo_dir := $(patsubst %/make/Makefile, %, $(makefile_path))
-
-# What is the name of this subsystem (langtools, corba, etc)?
-subsystem_name := $(notdir $(repo_dir))
-
-# Try to locate top-level makefile
-top_level_makefile := $(repo_dir)/../Makefile
-ifneq ($(wildcard $(top_level_makefile)), )
-  $(info Will run $(subsystem_name) target on top-level Makefile)
-  $(info WARNING: This is a non-recommended way of building!)
-  $(info ===================================================)
-else
-  $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?)
-  $(error Build from top-level Makefile instead)
-endif
-
-all:
-	@$(MAKE) -f $(top_level_makefile) $(subsystem_name)
diff --git a/make/build-benchmark.xml b/make/build-benchmark.xml
deleted file mode 100644
index ae76718..0000000
--- a/make/build-benchmark.xml
+++ /dev/null
@@ -1,432 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-    Copyright (c) 2010, 2014, 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.
-
-    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.
--->
-
-
-<project
-    name="nashorn-benchmarks"
-    default="all"
-    basedir=".."
-    xmlns:if="ant:if">
-
-  <!--
-       Below are the octane benchmarks that should be run.
-       The ones that are excluded, as Nashorn currently has
-       some issues with them (functionality or performance)
-       are commented out
-  -->
-
-  <!-- box2d -->
-  <target name="octane-box2d" depends="octane-box2d-nashorn"/>
-  <target name="octane-box2d-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.box2d" runtime="nashorn"/>
-  </target>
-  <target name="octane-box2d-v8" depends="jar">
-    <run-one cond="octane.benchmark.box2d" runtime="v8"/>
-  </target>
-  <target name="octane-box2d-rhino" depends="jar">
-    <run-one cond="octane.benchmark.box2d" runtime="rhino"/>
-  </target>
-
-  <!-- code-load -->
-  <target name="octane-code-load" depends="octane-code-load-nashorn"/>
-  <target name="octane-code-load-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.code-load" runtime="nashorn"/>
-  </target>
-  <target name="octane-code-load-v8" depends="jar">
-    <run-one cond="octane.benchmark.code-load" runtime="v8"/>
-  </target>
-  <target name="octane-code-load-rhino" depends="jar">
-    <run-one cond="octane.benchmark.code-load" runtime="rhino"/>
-  </target>
-
-  <!-- crypto -->
-  <target name="octane-crypto" depends="octane-crypto-nashorn"/>
-  <target name="octane-crypto-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.crypto" runtime="nashorn"/>
-  </target>
-  <target name="octane-crypto-v8" depends="jar">
-    <run-one cond="octane.benchmark.crypto" runtime="v8"/>
-  </target>
-  <target name="octane-crypto-rhino" depends="jar">
-    <run-one cond="octane.benchmark.crypto" runtime="rhino"/>
-  </target>
-
-  <!-- deltablue -->
-  <target name="octane-deltablue" depends="octane-deltablue-nashorn"/>
-  <target name="octane-deltablue-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.deltablue" runtime="nashorn"/>
-  </target>
-  <target name="octane-deltablue-v8" depends="jar">
-    <run-one cond="octane.benchmark.deltablue" runtime="v8"/>
-  </target>
-  <target name="octane-deltablue-rhino" depends="jar">
-    <run-one cond="octane.benchmark.deltablue" runtime="rhino"/>
-  </target>
-
-  <!-- earley-boyer -->
-  <target name="octane-earley-boyer" depends="octane-earley-boyer-nashorn"/>
-  <target name="octane-earley-boyer-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.earley-boyer" runtime="nashorn"/>
-  </target>
-  <target name="octane-earley-boyer-v8" depends="jar">
-    <run-one cond="octane.benchmark.earley-boyer" runtime="v8"/>
-  </target>
-  <target name="octane-earley-boyer-rhino" depends="jar">
-    <run-one cond="octane.benchmark.earley-boyer" runtime="rhino"/>
-  </target>
-  
-  <!-- gbemu -->
-  <target name="octane-gbemu" depends="octane-gbemu-nashorn"/>
-  <target name="octane-gbemu-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.gbemu" runtime="nashorn"/>
-  </target>
-  <target name="octane-gbemu-v8" depends="jar">
-    <run-one cond="octane.benchmark.gbemu" runtime="v8"/>
-  </target>
-  <target name="octane-gbemu-rhino" depends="jar">
-    <run-one cond="octane.benchmark.gbemu" runtime="rhino"/>
-  </target>
-
-  <!-- mandreel -->
-  <target name="octane-mandreel" depends="octane-mandreel-nashorn"/>
-  <target name="octane-mandreel-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.mandreel" runtime="nashorn"/>
-  </target>
-  <target name="octane-mandreel-v8" depends="jar">
-    <run-one cond="octane.benchmark.mandreel" runtime="v8"/>
-  </target>
-  <target name="octane-mandreel-rhino" depends="jar">
-    <run-one cond="octane.benchmark.mandreel" runtime="rhino"/>
-  </target>
-
-  <!-- navier-stokes -->
-  <target name="octane-navier-stokes" depends="octane-navier-stokes-nashorn"/>
-  <target name="octane-navier-stokes-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.navier-stokes" runtime="nashorn"/>
-  </target>
-  <target name="octane-navier-stokes-v8" depends="jar">
-    <run-one cond="octane.benchmark.navier-stokes" runtime="v8"/>
-  </target>
-  <target name="octane-navier-stokes-rhino" depends="jar">
-    <run-one cond="octane.benchmark.navier-stokes" runtime="rhino"/>
-  </target>
-
-  <!-- pdfjs -->
-  <target name="octane-pdfjs" depends="octane-pdfjs-nashorn"/>
-  <target name="octane-pdfjs-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.pdfjs" runtime="nashorn"/>
-  </target>
-  <target name="octane-pdfjs-v8" depends="jar">
-    <run-one cond="octane.benchmark.pdfjs" runtime="v8"/>
-  </target>
-  <target name="octane-pdfjs-rhino" depends="jar">
-    <run-one cond="octane.benchmark.pdfjs" runtime="rhino"/>
-  </target>
-
-  <!-- raytrace -->
-  <target name="octane-raytrace" depends="octane-raytrace-nashorn"/>
-  <target name="octane-raytrace-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.raytrace" runtime="nashorn"/>
-  </target>
-  <target name="octane-raytrace-v8" depends="jar">
-    <run-one cond="octane.benchmark.raytrace" runtime="v8"/>
-  </target>
-  <target name="octane-raytrace-rhino" depends="jar">
-    <run-one cond="octane.benchmark.raytrace" runtime="rhino"/>
-  </target>
-
-  <!-- regexp -->
-  <target name="octane-regexp" depends="octane-regexp-nashorn"/>
-  <target name="octane-regexp-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.regexp" runtime="nashorn"/>
-  </target>
-  <target name="octane-regexp-v8" depends="jar">
-    <run-one cond="octane.benchmark.regexp" runtime="v8"/>
-  </target>
-  <target name="octane-regexp-rhino" depends="jar">
-    <run-one cond="octane.benchmark.regexp" runtime="rhino"/>
-  </target>
-
-  <!-- richards -->
-  <target name="octane-richards" depends="octane-richards-nashorn"/>
-  <target name="octane-richards-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.richards" runtime="nashorn"/>
-  </target>
-  <target name="octane-richards-v8" depends="jar">
-    <run-one cond="octane.benchmark.richards" runtime="v8"/>
-  </target>
-  <target name="octane-richards-rhino" depends="jar">
-    <run-one cond="octane.benchmark.richards" runtime="rhino"/>
-  </target>
-
-  <!-- splay -->
-  <target name="octane-splay" depends="octane-splay-nashorn"/>
-  <target name="octane-splay-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.splay" runtime="nashorn"/>
-  </target>
-  <target name="octane-splay-v8" depends="jar">
-    <run-one cond="octane.benchmark.splay" runtime="v8"/>
-  </target>
-  <target name="octane-splay-rhino" depends="jar">
-    <run-one cond="octane.benchmark.splay" runtime="rhino"/>
-  </target>
-
-  <!-- typescript -->
-  <target name="octane-typescript" depends="octane-typescript-nashorn"/>
-  <target name="octane-typescript-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.typescript" runtime="nashorn"/>
-  </target>
-  <target name="octane-typescript-v8" depends="jar">
-    <run-one cond="octane.benchmark.typescript" runtime="v8"/>
-  </target>
-  <target name="octane-typescript-rhino" depends="jar">
-    <run-one cond="octane.benchmark.typescript" runtime="rhino"/>
-  </target>
-
-  <!-- zlib -->
-  <target name="octane-zlib" depends="octane-zlib-nashorn"/>
-  <target name="octane-zlib-nashorn" depends="jar">
-    <run-one cond="octane.benchmark.zlib" runtime="nashorn"/>
-  </target>
-  <target name="octane-zlib-v8" depends="jar">
-    <run-one cond="octane.benchmark.zlib" runtime="v8"/>
-  </target>
-  <target name="octane-zlib-rhino" depends="jar">
-    <run-one cond="octane.benchmark.zlib" runtime="rhino"/>
-  </target>
-
-  <!--
-      Benchmark runners for one or more benchmarks, single
-      or multiple process
-  -->
-
-  <target name="octane-process-separate" if="${octane-test-sys-prop.separate.process}">
-    <echo message="Running each benchmark in separate processes, starting new JVMs for each."/>
-    <script language="javascript"><![CDATA[
-      var props = [];
-
-      for (var prop in project.getProperties()) {
-        if (prop.startsWith("octane.benchmark.")) {
-          props.push(prop);
-        }
-      }
-
-      //sort benchmark props in alphabetical order by name
-      props.sort(function(a, b) {
-        if (a < b) {
-          return -1;
-        } else if (a > b) {
-          return 1;
-        } else {
-           return 0;
-        }
-      });
-      
-      var runtime = project.getProperty("runtime");
-
-      for (var i in props) {
-        var task = project.createTask("run-one");
-	// workaround for https://issues.apache.org/bugzilla/show_bug.cgi?id=53831, still not fixed
-        if (task.getOwningTarget() == null) {
-	  task.setOwningTarget(self.getOwningTarget());
-	}
-        var prop = props[i];
-        task.setDynamicAttribute("cond", prop);
-        task.setDynamicAttribute("runtime", runtime);
-	task.perform();
-      }
-    ]]></script>
-  </target>
-
-  <target name="octane-process-single" unless="${octane-test-sys-prop.separate.process}">
-    <echo message="Running all benchmarks in the same process."/>
-    <pathconvert property="octane.benchmarks" pathsep=" ">
-      <propertyset>
-    <propertyref prefix="octane.benchmark."/>
-      </propertyset>
-    </pathconvert>
-    <antcall target="run-octane${runtime}">
-      <param name="octane-tests" value="${octane.benchmarks}"/>
-    </antcall>
-  </target>
-
-  <!--
-       run 'octane' in single or separate processes based on config
-       This uses nashorn as the default runtime
-  -->
-  <target name="octane-nashorn" depends="jar">
-    <property name="runtime" value="nashorn"/>
-    <antcall target="octane-process-separate"/>
-    <antcall target="octane-process-single"/>
-  </target>
-
-  <!-- alias for 'octane' -->
-  <target name="octane" depends="octane-nashorn"/>
-
-  <!-- run octane benchmarks using octane as runtime -->
-  <target name="octane-v8" depends="jar">
-    <property name="runtime" value="v8"/>
-    <antcall target="octane-process-separate"/>
-    <antcall target="octane-process-single"/>
-  </target>
-
-  <!-- run octane benchmarks using Rhino as runtime -->
-  <target name="octane-rhino" depends="jar">
-    <property name="runtime" value="rhino"/>
-    <antcall target="octane-process-separate"/>
-    <antcall target="octane-process-single"/>
-  </target>
-
-  <macrodef name="run-one">
-    <attribute name="cond"/>
-    <attribute name="runtime" default=""/>
-    <sequential>
-	<antcall target="run-octane-@{runtime}" if:set="@{cond}">
-	  <param name="octane-tests" value="${@{cond}}"/>
-	</antcall>
-    </sequential>
-  </macrodef>
-
-  <target name="run-octane-nashorn">
-    <java classname="${nashorn.shell.tool}"
-          classpath="${run.test.classpath}"
-          fork="true"
-          dir=".">
-      <jvmarg line="${ext.class.path}"/>
-      <jvmarg line="${run.test.jvmargs.octane} -Xms${run.test.xms} -Xmx${run.test.xmx}"/>
-      <!-- pass on all properties prefixed with 'nashorn' to the runtime -->
-      <syspropertyset>
-        <propertyref prefix="nashorn."/>
-      </syspropertyset>
-      <arg value="${octane-test-sys-prop.test.js.framework}"/>
-      <arg value="-scripting"/>
-      <arg value="--"/>
-      <arg value="${octane-tests}"/>
-      <arg value="--runtime"/>
-      <arg value="nashorn"/>
-      <arg value="--verbose"/>
-      <arg value="--iterations ${octane.iterations}"/>
-    </java>
-  </target>
-
-  <target name="run-octane-v8">
-    <exec executable="${v8.shell}">
-      <arg value="${octane-test-sys-prop.test.js.framework}"/>
-      <arg value="--"/>
-      <arg value="${octane-tests}"/>
-      <arg value="--runtime"/>
-      <arg value="v8"/>
-      <arg value="--verbose"/>
-      <arg value="--iterations ${octane.iterations}"/>
-    </exec>
-  </target>
-
-  <target name="run-octane-rhino">
-    <java jar="${rhino.jar}"
-          classpath="${run.test.classpath}"
-          fork="true"
-          dir=".">
-      <jvmarg line="${run.test.jvmargs.octane} -Xms${run.test.xms} -Xmx${run.test.xmx}"/>
-      <arg value="-opt"/>
-      <arg value="9"/>
-      <arg value="${octane-test-sys-prop.test.js.framework}"/>
-      <arg value="${octane-tests}"/>
-      <arg value="--runtime"/>
-      <arg value="rhino"/>
-      <arg value="--verbose"/>
-      <arg value="--iterations ${octane.iterations}"/>
-    </java>
-  </target>
-
-  <!-- run octane with all known runtimes for comparison -->
-  <target name="octane-all" depends="octane, octane-v8, octane-rhino">
-    <exec executable="${v8.shell}">
-      <arg value="${octane-test-sys-prop.test.js.framework}"/>
-      <arg value="${octane-tests}/"/>
-    </exec>
-  </target>
-
-  <target name="sunspider-init" depends="jar">
-    <fileset id="sunspider-set"
-         dir="${sunspider-test-sys-prop.test.js.roots}"
-         excludes="${sunspider-test-sys-prop.test.js.exclude.list}">
-      <include name="**/*.js"/>
-    </fileset>
-    <pathconvert pathsep=" " property="sunspider-tests" refid="sunspider-set"/>
-  </target>
-
-  <!--- SUNSPIDER JOB BELOW -->
-
-  <!-- run sunspider with Nashorn -->
-  <target name="sunspider" depends="sunspider-nashorn"/>
-
-  <target name="sunspider-nashorn" depends="sunspider-init">
-    <java classname="${nashorn.shell.tool}"
-          classpath="${run.test.classpath}"
-          fork="true"
-          dir=".">
-      <jvmarg line="${ext.class.path}"/>
-      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
-      <arg value="-timezone=PST"/>
-      <arg value="--class-cache-size=50"/>
-      <arg value="${sunspider-test-sys-prop.test.js.framework}"/>
-      <arg value="--"/>
-      <arg value="${sunspider-tests}/"/>
-      <arg value="--verbose"/>
-      <arg value="--times"/>
-      <arg value="${sunspider.iterations}"/>
-    </java>
-  </target>
-
-  <!-- run sunspider with v8 -->
-  <target name="sunspider-v8" depends="sunspider-init">
-    <exec executable="${v8.shell}">
-      <arg value="${sunspider-test-sys-prop.test.js.framework}"/>
-      <arg value="--"/>
-      <arg value="${sunspider-tests}/"/>
-      <arg value="--verbose"/>
-      <arg value="--times"/>
-      <arg value="${sunspider.iterations}"/>
-    </exec>
-  </target>
-
-  <!-- run sunspider with Rhino -->
-  <target name="sunspider-rhino" depends="sunspider-init">
-    <java jar="${rhino.jar}"
-          classpath="${run.test.classpath}"
-          fork="true"
-          dir=".">
-      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
-      <arg value="-opt"/>
-      <arg value="9"/>
-      <arg value="${sunspider-test-sys-prop.test.js.framework}"/>
-      <arg value="${sunspider-tests}/"/>
-      <arg value="--verbose"/>
-      <arg value="--times"/>
-      <arg value="${sunspider.iterations}"/>
-    </java>
-  </target>
-
-</project>
diff --git a/make/build-nasgen.xml b/make/build-nasgen.xml
deleted file mode 100644
index 862a199..0000000
--- a/make/build-nasgen.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2010, 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.
- 
- 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.
--->
-<project name="build-nasgen" default="run-nasgen" basedir="..">
-    <description>Builds and runs nasgen.</description>
-    <import file="build.xml"/>
-
-    <target name="build-nasgen" depends="prepare">
-        <ant inheritAll="false" dir="${basedir}/buildtools/nasgen"
-            antfile="build.xml" target="jar"/>
-    </target>
-
-    <target name="run-nasgen" depends="build-nasgen">
-        <java classname="${nasgen.tool}" fork="true" failonerror="true">
-            <classpath>
-                <pathelement location="${basedir}/jcov2/lib/jcov_j2se_rt.jar"/>
-                <pathelement location="${basedir}/buildtools/nasgen/dist/nasgen.jar"/>
-                <pathelement path="${basedir}/build/classes"/>
-                <pathelement location="${dist.dir}/nasgen.jar"/>
-                <pathelement path="${build.dir}/classes"/>
-            </classpath>
-            <jvmarg value="-Djava.ext.dirs="/>
-            <arg value="${build.dir}/classes"/>
-            <arg value="jdk.nashorn.internal.objects"/>
-            <arg value="${build.dir}/classes"/>
-        </java>
-    </target>
-
-    <target name="run-nasgen-eclipse">
-        <mkdir dir="${basedir}/build/eclipse/.nasgentmp"/>
-
-        <java classname="jdk.nashorn.internal.tools.nasgen.Main" fork="true" failonerror="true">
-            <classpath>
-                <pathelement location="${basedir}/buildtools/nasgen/dist/nasgen.jar"/>
-                <pathelement path="${basedir}/build/eclipse"/>
-            </classpath>
-            <arg value="${basedir}/build/eclipse"/>
-            <arg value="jdk.nashorn.internal.objects"/>
-            <arg value="${basedir}/build/eclipse/.nasgentmp"/>
-        </java>
-
-        <move todir="${basedir}/build/eclipse/jdk/nashorn/internal/objects">
-            <fileset dir="${basedir}/build/eclipse/.nasgentmp/jdk/nashorn/internal/objects">
-                <include name="*.class"/>
-            </fileset>
-        </move>
-
-        <delete includeemptydirs="true"><fileset dir="${basedir}/build/eclipse/.nasgentmp" includes="**"/></delete>
-
-        <copy todir="${basedir}/build/eclipse/jdk/nashorn/internal/objects" preservelastmodified="true">
-            <fileset dir="${basedir}/build/eclipse/jdk/nashorn/internal/objects">
-                <include name="**/*.class"/>
-            </fileset>
-        </copy>
-    </target>
-
-    <target name="clean-nasgen">
-        <ant inheritAll="false" dir="${basedir}/buildtools/nasgen"
-            antfile="build.xml" target="clean"/>
-    </target>
-
-</project>
diff --git a/make/build.xml b/make/build.xml
deleted file mode 100644
index d004102..0000000
--- a/make/build.xml
+++ /dev/null
@@ -1,799 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- Copyright (c) 2010, 2015, 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.
-
- 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.
--->
-
-<project name="nashorn" default="test" basedir="..">
-  <import file="build-nasgen.xml"/>
-  <import file="code_coverage.xml"/>
-
-  <target name="init-conditions">
-    <!-- loading locally defined resources and properties. NB they owerwrite default ones defined later -->
-    <property file="${user.home}/.nashorn.project.local.properties"/>
-
-    <loadproperties srcFile="make/project.properties"/>
-    <path id="dist.path">
-         <pathelement location="${dist.dir}"/>
-    </path>
-    <path id="nashorn.ext.path">
-      <pathelement location="${dist.dir}"/>
-      <pathelement location="${java.ext.dirs}"/>
-    </path>
-    <property name="ext.class.path" value="-Djava.ext.dirs=&quot;${toString:nashorn.ext.path}&quot;"/>
-    <condition property="svn.executable" value="/usr/local/bin/svn" else="svn">
-      <available file="/usr/local/bin/svn"/>
-    </condition>
-    <condition property="hg.executable" value="/usr/local/bin/hg" else="hg">
-      <available file="/usr/local/bin/hg"/>
-    </condition>
-    <condition property="git.executable" value="/usr/local/bin/git" else="git">
-      <available file="/usr/local/bin/git"/>
-    </condition>
-    <!-- check if TestNG and dependencies are available, and download them if they aren't -->
-    <antcall target="get-testng"/>
-    <condition property="testng.available" value="true">
-      <and>
-        <available file="${file.reference.testng.jar}"/>
-        <available file="${file.reference.jcommander.jar}"/>
-        <available file="${file.reference.bsh.jar}"/>
-        <available file="${file.reference.snakeyaml.jar}"/>
-      </and>
-    </condition>
-    <!-- check if Jemmy ang TestNG are avaiable -->
-    <condition property="jemmy.jfx.testng.available" value="true">
-      <and>
-        <available file="${file.reference.jemmyfx.jar}"/>
-        <available file="${file.reference.jemmycore.jar}"/>
-        <available file="${file.reference.jemmyawtinput.jar}"/>
-        <available file="${file.reference.jfxrt.jar}"/>
-        <isset property="testng.available"/>
-      </and>
-    </condition>
-
-    <!-- enable/disable make code coverage -->
-    <condition property="cc.enabled">
-        <istrue value="${make.code.coverage}" />
-    </condition>
-
-    <!-- exclude tests in exclude lists -->
-    <condition property="exclude.list" value="./exclude/exclude_list_cc.txt" else="./exclude/exclude_list.txt">
-      <istrue value="${make.code.coverage}" />
-    </condition>
-
-    <condition property="jfr.options" value="${run.test.jvmargs.jfr}" else="">
-      <istrue value="${jfr}"/>
-    </condition>
-
-    <condition property="test-sys-prop-no-security.os.not.windows">
-      <not>
-        <os family="windows"/>
-      </not>
-    </condition>
-  </target>
-
-  <!-- check minimum ant version required to be 1.8.4 -->
-  <target name="check-ant-version">
-    <property name="ant.version.required" value="1.8.4"/>
-    <antversion property="ant.current.version" />
-    <fail message="The current ant version, ${ant.current.version}, is too old. Please use 1.8.4 or above.">
-        <condition>
-            <not>
-                <antversion atleast="${ant.version.required}"/>
-            </not>
-        </condition>
-    </fail>
-  </target>
-
-  <target name="check-java-version">
-    <!-- look for a Class that is available only in jdk1.8 or above -->
-    <!-- core/exposed API class is better than an implementation class -->
-    <available property="jdk1.8+" classname="java.util.stream.Stream"/>
-
-    <!-- need jdk1.8 or above -->
-    <fail message="Unsupported Java version: ${ant.java.version}. Please use Java version 1.8 or greater." unless="jdk1.8+">
-    </fail>
-  </target>
-  
-  <target name="init" depends="check-ant-version, check-java-version, init-conditions, init-cc">
-    <!-- extends jvm args -->
-    <property name="run.test.jvmargs" value="${run.test.jvmargs.main} ${run.test.cc.jvmargs} ${jfr.options}"/>
-    <property name="run.test.jvmargs.octane" value="${run.test.jvmargs.octane.main} ${run.test.cc.jvmargs} ${jfr.options}"/>
-
-    <echo message="run.test.jvmargs=${run.test.jvmargs}"/>
-    <echo message="run.test.jvmargs.octane=${run.test.jvmargs.octane}"/>
-    <echo message="run.test.xms=${run.test.xms}"/>
-    <echo message="run.test.xmx=${run.test.xmx}"/>
-
-  </target>
-
-  <target name="prepare" depends="init">
-    <mkdir dir="${build.dir}"/>
-    <mkdir dir="${build.classes.dir}"/>
-    <mkdir dir="${build.classes.dir}/META-INF/services"/>
-    <mkdir dir="${build.test.classes.dir}"/>
-    <mkdir dir="${dist.dir}"/>
-    <mkdir dir="${dist.javadoc.dir}"/>
-  </target>
-
-  <target name="clean" depends="init, clean-nasgen, init-cc-cleanup">
-    <delete includeemptydirs="true">
-      <fileset dir="${build.dir}" erroronmissingdir="false"/>
-    </delete>
-    <delete dir="${dist.dir}"/>
-  </target>
-
-  <target name="compile" depends="prepare" description="Compiles nashorn">
-    <javac srcdir="${src.dir}"
-           destdir="${build.classes.dir}"
-           classpath="${javac.classpath}"
-           source="${javac.source}"
-           target="${javac.target}"
-           debug="${javac.debug}"
-           encoding="${javac.encoding}"
-           includeantruntime="false" fork="true">
-      <compilerarg value="-J-Djava.ext.dirs="/>
-      <compilerarg value="-Xlint:all"/>
-      <compilerarg value="-XDignore.symbol.file"/>
-      <compilerarg value="-Xdiags:verbose"/>
-    </javac>
-    <copy todir="${build.classes.dir}/META-INF/services">
-       <fileset dir="${meta.inf.dir}/services/"/>
-    </copy>
-     <copy todir="${build.classes.dir}/jdk/nashorn/api/scripting/resources">
-       <fileset dir="${src.dir}/jdk/nashorn/api/scripting/resources/"/>
-    </copy>
-    <copy todir="${build.classes.dir}/jdk/nashorn/internal/runtime/resources">
-       <fileset dir="${src.dir}/jdk/nashorn/internal/runtime/resources/"/>
-    </copy>
-    <copy todir="${build.classes.dir}/jdk/nashorn/tools/resources">
-       <fileset dir="${src.dir}/jdk/nashorn/tools/resources/"/>
-    </copy>
-    <copy file="${src.dir}/jdk/internal/dynalink/support/messages.properties" todir="${build.classes.dir}/jdk/internal/dynalink/support"/>
-    <copy file="${src.dir}/jdk/nashorn/internal/codegen/anchor.properties" todir="${build.classes.dir}/jdk/nashorn/internal/codegen"/>
-
-    <echo message="full=${nashorn.fullversion}" file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties"/>
-    <echo file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties" append="true">${line.separator}</echo>
-    <echo message="release=${nashorn.version}" file="${build.classes.dir}/jdk/nashorn/internal/runtime/resources/version.properties" append="true"/>
-  </target>
-
-  <target name="jar" depends="compile, run-nasgen, generate-cc-template" description="Creates nashorn.jar" unless="compile.suppress.jar">
-    <jar jarfile="${dist.jar}" manifest="${meta.inf.dir}/MANIFEST.MF" index="true" filesetmanifest="merge">
-      <fileset dir="${build.classes.dir}"/>
-      <manifest>
-        <attribute name="Archiver-Version" value="n/a"/>
-        <attribute name="Build-Jdk" value="${java.runtime.version}"/>
-        <attribute name="Built-By" value="n/a"/>
-        <attribute name="Created-By" value="Ant jar task"/>
-        <section name="jdk/nashorn/">
-          <attribute name="Implementation-Title" value="${nashorn.product.name}"/>
-          <attribute name="Implementation-Version" value="${nashorn.version}"/>
-        </section>
-      </manifest>
-    </jar>
-  </target>
-
-  <target name="use-promoted-nashorn" depends="init">
-    <delete file="${dist.dir}/nashorn.jar"/>
-    <copy file="${java.home}/lib/ext/nashorn.jar" todir="${dist.dir}"/>
-    <property name="compile.suppress.jar" value="defined"/>
-  </target>
-
-  <target name="build-fxshell" depends="jar">
-    <description>Builds the javafx shell.</description>
-    <mkdir dir="${fxshell.classes.dir}"/>
-    <javac srcdir="${fxshell.dir}"
-           destdir="${fxshell.classes.dir}"
-           classpath="${dist.jar}${path.separator}${javac.classpath}"
-           debug="${javac.debug}"
-           encoding="${javac.encoding}"
-           includeantruntime="false">
-    </javac>
-    <jar jarfile="${fxshell.jar}" manifest="${meta.inf.dir}/MANIFEST.MF" index="true" filesetmanifest="merge">
-      <fileset dir="${fxshell.classes.dir}"/>
-      <manifest>
-        <attribute name="Archiver-Version" value="n/a"/>
-        <attribute name="Build-Jdk" value="${java.runtime.version}"/>
-        <attribute name="Built-By" value="n/a"/>
-        <attribute name="Created-By" value="Ant jar task"/>
-        <section name="jdk/nashorn/">
-          <attribute name="Implementation-Title" value="Oracle Nashorn FXShell"/>
-          <attribute name="Implementation-Version" value="${nashorn.version}"/>
-        </section>
-      </manifest>
-    </jar>
-  </target>
-
-  <!-- generate javadoc for all Nashorn and ASM classes -->
-  <target name="javadoc" depends="jar">
-    <javadoc destdir="${dist.javadoc.dir}" use="yes" overview="${src.dir}/overview.html" 
-        extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} ${nashorn.version}"
-        additionalparam="-quiet" failonerror="true" useexternalfile="true">
-      <arg value="${javadoc.option}"/>
-      <classpath>
-        <pathelement location="${build.classes.dir}"/>
-      </classpath>
-      <fileset dir="${src.dir}" includes="**/*.java"/>
-      <fileset dir="${jdk.asm.src.dir}" includes="**/*.java"/>
-      <link href="http://docs.oracle.com/javase/8/docs/api/"/>
-      <!-- The following tags are used only in ASM sources - just ignore these -->
-      <tag name="label" description="label tag in ASM sources" enabled="false"/>
-      <tag name="linked" description="linked tag in ASM sources" enabled="false"/>
-      <tag name="associates" description="associates tag in ASM sources" enabled="false"/>
-    </javadoc>
-  </target>
-
-  <!-- generate javadoc for Nashorn classes -->
-  <target name="javadocnh" depends="jar">
-    <javadoc destdir="${dist.javadoc.dir}" use="yes" overview="${src.dir}/overview.html"
-        extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} ${nashorn.version}"
-        additionalparam="-quiet" failonerror="true" useexternalfile="true">
-      <arg value="${javadoc.option}"/>
-      <classpath>
-        <pathelement location="${build.classes.dir}"/>
-      </classpath>
-      <fileset dir="${src.dir}" includes="**/*.java"/>
-      <link href="http://docs.oracle.com/javase/8/docs/api/"/>
-    </javadoc>
-  </target>
-
-  <!-- generate javadoc only for nashorn extension api classes -->
-  <target name="javadocapi" depends="jar">
-    <javadoc destdir="${dist.javadoc.dir}" use="yes" extdirs="${nashorn.ext.path}" 
-        windowtitle="${nashorn.product.name}" additionalparam="-quiet" failonerror="true" useexternalfile="true">
-      <arg value="${javadoc.option}"/>
-      <classpath>
-        <pathelement location="${build.classes.dir}"/>
-      </classpath>
-      <fileset dir="${src.dir}" includes="jdk/nashorn/api/**/*.java"/>
-      <link href="http://docs.oracle.com/javase/8/docs/api/"/>
-    </javadoc>
-  </target>
-
-  <!-- generate shell.html for shell tool documentation -->
-  <target name="shelldoc" depends="jar">
-    <java classname="${nashorn.shell.tool}" dir="${basedir}" output="${dist.dir}/shell.html" failonerror="true" fork="true">
-      <jvmarg line="${ext.class.path}"/>
-      <arg value="-scripting"/>
-      <arg value="docs/genshelldoc.js"/>
-    </java>
-  </target>
-
-  <!-- generate all docs -->
-  <target name="docs" depends="javadoc, shelldoc"/>
-
-  <!-- create .zip and .tar.gz for nashorn binaries and scripts. -->
-  <target name="dist" depends="jar">
-      <zip destfile="${build.zip}" basedir=".."
-          excludes="nashorn/bin/*.sh" includes="nashorn/bin/** nashorn/dist/**"/>
-      <tar destfile="${build.gzip}" basedir=".." compression="gzip"
-          excludes="nashorn/bin/*.sh" includes="nashorn/bin/** nashorn/dist/**"/>
-  </target>
-
-  <target name="compile-test" depends="compile, run-nasgen" if="testng.available">
-    <!-- testng task -->
-    <taskdef name="testng" classname="org.testng.TestNGAntTask"
-        classpath="${testng.ant.classpath}"/>
-
-    <javac srcdir="${test.src.dir}"
-           destdir="${build.test.classes.dir}"
-           classpath="${javac.test.classpath}"
-           source="${test.javac.source}"
-           target="${test.javac.target}"
-           debug="${javac.debug}"
-           encoding="${javac.encoding}"
-           includeantruntime="false" fork="true">
-        <compilerarg value="-J-Djava.ext.dirs="/>
-        <compilerarg value="-Xlint:unchecked"/>
-        <compilerarg value="-Xlint:deprecation"/>
-        <compilerarg value="-Xdiags:verbose"/>
-    </javac>
-
-    <copy todir="${build.test.classes.dir}/META-INF/services">
-       <fileset dir="${test.src.dir}/META-INF/services/"/>
-    </copy>
-
-    <copy todir="${build.test.classes.dir}/jdk/nashorn/internal/runtime/test/resources">
-       <fileset dir="${test.src.dir}/jdk/nashorn/internal/runtime/test/resources"/>
-    </copy>
-
-    <copy todir="${build.test.classes.dir}/jdk/nashorn/api/scripting/test/resources">
-       <fileset dir="${test.src.dir}/jdk/nashorn/api/scripting/test/resources"/>
-    </copy>
-
-    <!-- tests that check nashorn internals and internal API -->
-    <jar jarfile="${nashorn.internal.tests.jar}">
-      <fileset dir="${build.test.classes.dir}" excludes="**/api/**"/>
-    </jar>
-
-    <!-- tests that check nashorn script engine (jsr-223) API -->
-    <jar jarfile="${nashorn.api.tests.jar}">
-      <fileset dir="${build.test.classes.dir}" includes="**/api/**"/>
-      <fileset dir="${build.test.classes.dir}" includes="**/META-INF/**"/>
-      <fileset dir="${build.test.classes.dir}" includes="**/resources/*.js"/>
-    </jar>
-
-  </target>
-
-  <target name="generate-policy-file" depends="prepare">
-    <echo file="${build.dir}/nashorn.policy">
-
-grant codeBase "file:/${toString:dist.path}/nashorn.jar" {
-    permission java.security.AllPermission;
-};
-
-grant codeBase "file:/${basedir}/${nashorn.internal.tests.jar}" {
-    permission java.security.AllPermission;
-};
-
-grant codeBase "file:/${basedir}/${file.reference.testng.jar}" {
-    permission java.security.AllPermission;
-};
-grant codeBase "file:/${basedir}/${file.reference.jcommander.jar}" {
-    permission java.security.AllPermission;
-};
-grant codeBase "file:/${basedir}/${file.reference.bsh.jar}" {
-    permission java.security.AllPermission;
-};
-grant codeBase "file:/${basedir}/${file.reference.snakeyaml.jar}" {
-    permission java.security.AllPermission;
-};
-//// in case of absolute path:
-grant codeBase "file:/${nashorn.internal.tests.jar}" {
-    permission java.security.AllPermission;
-};
-
-grant codeBase "file:/${file.reference.testng.jar}" {
-    permission java.security.AllPermission;
-};
-grant codeBase "file:/${file.reference.jcommander.jar}" {
-    permission java.security.AllPermission;
-};
-grant codeBase "file:/${file.reference.bsh.jar}" {
-    permission java.security.AllPermission;
-};
-grant codeBase "file:/${file.reference.snakeyaml.jar}" {
-    permission java.security.AllPermission;
-};
-
-
-grant codeBase "file:/${basedir}/test/script/trusted/*" {
-    permission java.security.AllPermission;
-};
-
-grant codeBase "file:/${basedir}/test/script/maptests/*" {
-    permission java.io.FilePermission "${basedir}/test/script/maptests/*","read";
-    permission java.lang.RuntimePermission "nashorn.debugMode";
-};
-
-grant codeBase "file:/${basedir}/test/script/basic/*" {
-    permission java.io.FilePermission "${basedir}/test/script/-", "read";
-    permission java.io.FilePermission "$${user.dir}", "read";
-    permission java.util.PropertyPermission "user.dir", "read";
-    permission java.util.PropertyPermission "nashorn.test.*", "read";
-};
-
-grant codeBase "file:/${basedir}/test/script/basic/apply_to_call/*" {
-    permission java.io.FilePermission "${basedir}/test/script/-", "read";
-    permission java.io.FilePermission "$${user.dir}", "read";
-    permission java.util.PropertyPermission "user.dir", "read";
-    permission java.util.PropertyPermission "nashorn.test.*", "read";
-};
-
-grant codeBase "file:/${basedir}/test/script/basic/parser/*" {
-    permission java.io.FilePermission "${basedir}/test/script/-", "read";
-    permission java.io.FilePermission "$${user.dir}", "read";
-    permission java.util.PropertyPermission "user.dir", "read";
-    permission java.util.PropertyPermission "nashorn.test.*", "read";
-};
-
-grant codeBase "file:/${basedir}/test/script/basic/es6/*" {
-    permission java.io.FilePermission "${basedir}/test/script/-", "read";
-    permission java.io.FilePermission "$${user.dir}", "read";
-    permission java.util.PropertyPermission "user.dir", "read";
-    permission java.util.PropertyPermission "nashorn.test.*", "read";
-};
-
-grant codeBase "file:/${basedir}/test/script/basic/JDK-8010946-privileged.js" {
-    permission java.util.PropertyPermission "java.security.policy", "read";
-};
-
-grant codeBase "file:/${basedir}/test/script/basic/classloader.js" {
-    permission java.lang.RuntimePermission "nashorn.JavaReflection";
-};
-
-grant codeBase "file:/${basedir}/test/script/markdown.js" {
-    permission java.io.FilePermission "${basedir}/test/script/external/showdown/-", "read";
-};
-
-grant codeBase "file:/${basedir}/test/script/basic/JDK-8158467.js" {
-    permission java.lang.RuntimePermission "nashorn.setConfig";
-};
-
-    </echo>
-
-    <replace file="${build.dir}/nashorn.policy"><replacetoken>\</replacetoken><replacevalue>/</replacevalue></replace>    <!--hack for Windows - to make URLs with normal path separators -->
-    <replace file="${build.dir}/nashorn.policy"><replacetoken>//</replacetoken><replacevalue>/</replacevalue></replace>   <!--hack for Unix - to avoid leading // in URLs -->
-
-  </target>
-
-  <target name="check-external-tests">
-      <available file="${test.external.dir}/prototype" property="test-sys-prop.external.prototype"/>
-      <available file="${test.external.dir}/sunspider" property="test-sys-prop.external.sunspider"/>
-      <available file="${test.external.dir}/underscore" property="test-sys-prop.external.underscore"/>
-      <available file="${test.external.dir}/octane" property="test-sys-prop.external.octane"/>
-      <available file="${test.external.dir}/yui" property="test-sys-prop.external.yui"/>
-      <available file="${test.external.dir}/jquery" property="test-sys-prop.external.jquery"/>
-      <available file="${test.external.dir}/test262" property="test-sys-prop.external.test262"/>
-      <available file="${test.external.dir}/showdown" property="test-sys-prop.external.markdown"/>
-  </target>
-
-  <target name="check-testng" unless="testng.available">
-    <echo message="WARNING: TestNG not available, will not run tests. Please copy TestNG and dependency JARs to the ${test.lib} directory."/>
-  </target>
-
-  <!-- only to be invoked as dependency of "test" target -->
-  <target name="-test-classes-all" depends="jar" unless="test.class">
-      <fileset id="test.classes" dir="${build.test.classes.dir}">
-          <include name="**/api/javaaccess/test/*Test.class"/>
-          <include name="**/api/scripting/test/*Test.class"/>
-          <include name="**/codegen/test/*Test.class"/>
-          <include name="**/parser/test/*Test.class"/>
-          <include name="**/runtime/test/*Test.class"/>
-          <include name="**/runtime/regexp/test/*Test.class"/>
-          <include name="**/runtime/regexp/joni/test/*Test.class"/>
-          <include name="**/framework/*Test.class"/>
-     </fileset>
-  </target>
-
-  <!-- only to be invoked as dependency of "test" target -->
-  <target name="-test-classes-single" depends="jar" if="test.class">
-     <fileset id="test.classes" dir="${build.test.classes.dir}">
-         <include name="${test.class}*"/>
-     </fileset>
-  </target>
-
-  <!-- only to be invoked as dependency of "test" target -->
-  <target name="-test-nosecurity" unless="test.class">
-    <fileset id="test.nosecurity.classes" dir="${build.test.classes.dir}">
-      <include name="**/framework/ScriptTest.class"/>
-    </fileset>
-    <testng outputdir="${build.nosecurity.test.results.dir}/${testResultsSubDir}" classfilesetref="test.nosecurity.classes"
-       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
-      <jvmarg line="${ext.class.path}"/>
-      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} -Dbuild.dir=${build.dir}"/>
-      <sysproperty key="nashorn.jar" value="${dist.dir}/nashorn.jar"/>
-      <propertyset>
-        <propertyref prefix="nashorn."/>
-      </propertyset>
-      <propertyset>
-        <propertyref prefix="test-sys-prop-no-security."/>
-        <mapper from="test-sys-prop-no-security.*" to="*" type="glob"/>
-      </propertyset>
-      <sysproperty key="optimistic.override" value="${optimistic}"/>
-      <classpath>
-          <pathelement path="${run.test.classpath}"/>
-      </classpath>
-    </testng>
-  </target>
-
-  <!-- only to be invoked as dependency of "test" target -->
-  <target name="-test-security">
-    <delete dir="${build.dir}/nashorn_code_cache"/>
-    <property name="debug.test.jvmargs" value=""/>
-    <testng outputdir="${build.test.results.dir}/${testResultsSubDir}" classfilesetref="test.classes"
-	    verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
-      <jvmarg line="${ext.class.path}"/>
-      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
-      <jvmarg line="${debug.test.jvmargs}"/>
-      <propertyset>
-        <propertyref prefix="nashorn."/>
-      </propertyset>
-      <propertyset>
-        <propertyref prefix="test-sys-prop."/>
-        <mapper from="test-sys-prop.*" to="*" type="glob"/>
-      </propertyset>
-      <sysproperty key="optimistic.override" value="${optimistic}"/>
-      <sysproperty key="test.js.excludes.file" value="${exclude.list}"/>
-      <classpath>
-          <pathelement path="${run.test.classpath}"/>
-      </classpath>
-    </testng>
-  </target>
-
-  <target name="test" depends="prepare, javadocnh, test-pessimistic, test-optimistic"/>
-
-  <target name="test-optimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
-    <echo message="Running test suite in OPTIMISTIC mode..."/>
-    <antcall target="-test-nosecurity" inheritRefs="true">
-      <param name="optimistic" value="true"/>
-      <param name="testResultsSubDir" value="optimistic"/>
-    </antcall>    
-    <antcall target="-test-security" inheritRefs="true">
-      <param name="optimistic" value="true"/>
-      <param name="testResultsSubDir" value="optimistic"/>
-    </antcall>
-  </target>
-
-  <target name="test-pessimistic" depends="jar, -test-classes-all,-test-classes-single, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
-    <echo message="Running test suite in PESSIMISTIC mode..."/>
-    <antcall target="-test-nosecurity" inheritRefs="true">
-      <param name="optimistic" value="false"/>
-      <param name="testResultsSubDir" value="pessimistic"/>
-    </antcall>    
-    <antcall target="-test-security" inheritRefs="true">
-      <param name="optimistic" value="false"/>
-      <param name="testResultsSubDir" value="pessimistic"/>
-    </antcall>
-  </target>
-
-  <target name="check-jemmy.jfx.testng" unless="jemmy.jfx.testng.available">
-    <echo message="WARNING: Jemmy or JavaFX or TestNG not available, will not run tests. Please copy TestNG and dependency JARs, JemmyCore.jar, JemmyFX.jar, JemmyAWTInput.jar to the test${file.separator}lib directory. And make sure you have jfxrt.jar in ${java.home}${file.separator}lib${file.separator}ext dir."/>
-  </target>
-
-  <target name="testjfx" depends="jar, get-testng, check-jemmy.jfx.testng, compile-test" if="jemmy.jfx.testng.available">
-    <fileset id="test.classes" dir="${build.test.classes.dir}">
-       <include name="**/framework/*Test.class"/>
-    </fileset>
-
-    <copy file="${file.reference.jfxrt.jar}" todir="dist"/>
-
-    <condition property="jfx.prism.order" value="-Dprism.order=j2d" else=" ">
-        <not>
-            <os family="mac"/>
-        </not>
-    </condition>
-
-    <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
-       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
-      <jvmarg line="${ext.class.path}"/>
-      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} -Dbuild.dir=${build.dir}"/>
-      <propertyset>
-        <propertyref prefix="testjfx-test-sys-prop."/>
-        <mapper from="testjfx-test-sys-prop.*" to="*" type="glob"/>
-      </propertyset>
-      <sysproperty key="test.fork.jvm.options" value="${testjfx-test-sys-prop.test.fork.jvm.options} ${jfx.prism.order}"/>
-      <classpath>
-          <pathelement path="${testjfx.run.test.classpath}"/>
-      </classpath>
-    </testng>
-  </target>
-
-  <target name="testmarkdown" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
-    <fileset id="test.classes" dir="${build.test.classes.dir}">
-       <include name="**/framework/*Test.class"/>
-    </fileset>
-
-    <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
-       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
-      <jvmarg line="${ext.class.path}"/>
-      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
-      <propertyset>
-        <propertyref prefix="testmarkdown-test-sys-prop."/>
-        <mapper from="testmarkdown-test-sys-prop.*" to="*" type="glob"/>
-      </propertyset>
-      <classpath>
-          <pathelement path="${run.test.classpath}"/>
-      </classpath>
-    </testng>
-  </target>
-
-  <target name="test262" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
-    <fileset id="test.classes" dir="${build.test.classes.dir}">
-       <include name="**/framework/*Test.class"/>
-    </fileset>
-
-    <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
-       verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
-      <jvmarg line="${ext.class.path}"/>
-      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
-      <propertyset>
-        <propertyref prefix="nashorn."/>
-      </propertyset>
-      <propertyset>
-        <propertyref prefix="test262-test-sys-prop."/>
-        <mapper from="test262-test-sys-prop.*" to="*" type="glob"/>
-      </propertyset>
-      <classpath>
-          <pathelement path="${run.test.classpath}"/>
-      </classpath>
-    </testng>
-  </target>
-
-  <target name="test262parallel" depends="test262-parallel"/>
-
-  <target name="test262-parallel" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
-    <!-- use just build.test.classes.dir to avoid referring to TestNG -->
-    <java classname="${parallel.test.runner}" dir="${basedir}" fork="true">
-      <jvmarg line="${ext.class.path}"/>
-      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs} -Dbuild.dir=${build.dir}"/>
-      <!-- avoid too many typeinfo cache files. Each script is run only once anyway -->
-      <jvmarg line="-Dnashorn.typeInfo.disabled=true"/>
-      <classpath>
-          <pathelement path="${run.test.classpath}"/>
-      </classpath>
-      <syspropertyset>
-          <propertyref prefix="test262-test-sys-prop."/>
-          <mapper type="glob" from="test262-test-sys-prop.*" to="*"/>
-      </syspropertyset>
-    </java>
-  </target>
-
-  <target name="testparallel" depends="test-parallel"/>
-
-  <target name="test-parallel" depends="jar, get-testng, check-testng, check-external-tests, compile-test, generate-policy-file" if="testng.available">
-      <!-- use just build.test.classes.dir to avoid referring to TestNG -->
-      <java classname="${parallel.test.runner}" dir="${basedir}"
-        failonerror="true"
-        fork="true">
-      <jvmarg line="${ext.class.path}"/>
-      <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx} ${run.test.jvmsecurityargs}"/>
-      <classpath>
-          <pathelement path="${run.test.classpath}"/>
-      <pathelement path="${build.test.classes.dir}"/>
-      </classpath>
-      <syspropertyset>
-          <propertyref prefix="test-sys-prop."/>
-          <mapper type="glob" from="test-sys-prop.*" to="*"/>
-      </syspropertyset>
-      </java>
-  </target>
-
-  <target name="all" depends="test, docs"
-      description="Build, test and generate docs for nashorn"/>
-
-  <target name="run" depends="jar"
-      description="Run the shell with a sample script">
-    <java classname="${nashorn.shell.tool}" fork="true" dir="samples">
-        <jvmarg line="${ext.class.path}"/>
-        <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
-        <arg value="-dump-on-error"/>
-        <arg value="test.js"/>
-    </java>
-  </target>
-
-  <target name="debug" depends="jar"
-      description="Debug the shell with a sample script">
-    <java classname="${nashorn.shell.tool}" fork="true" dir="samples">
-        <jvmarg line="${ext.class.path}"/>
-        <jvmarg line="${run.test.jvmargs} -Xmx${run.test.xmx}"/>
-        <arg value="--print-code"/>
-        <arg value="--verify-code"/>
-        <arg value="--print-symbols"/>
-        <jvmarg value="-Dnashorn.codegen.debug=true"/>
-        <arg value="test.js"/>
-    </java>
-  </target>
-
-  <!-- targets to get external script tests -->
-
-  <!-- test262 test suite -->
-  <target name="get-test262" depends="init" unless="${test-sys-prop.external.test262}">
-    <!-- clone test262 git repo -->
-    <exec executable="${git.executable}">
-       <arg value="clone"/>
-       <arg value="--branch"/>
-       <arg value="es5-tests"/>
-       <arg value="https://github.com/tc39/test262"/>
-       <arg value="${test.external.dir}/test262"/>
-    </exec>
-  </target>
-  <target name="update-test262" depends="init" if="${test-sys-prop.external.test262}">
-    <!-- update test262 git repo -->
-    <exec executable="${git.executable}" dir="${test.external.dir}/test262">
-       <arg value="pull"/>
-    </exec>
-  </target>
-
-  <!-- octane benchmark -->
-  <target name="get-octane" depends="init" unless="${test-sys-prop.external.octane}">
-    <!-- checkout octane benchmarks -->
-    <exec executable="${svn.executable}">
-       <arg value="--non-interactive"/>
-       <arg value="--trust-server-cert"/>
-       <arg value="checkout"/>
-       <arg value="http://octane-benchmark.googlecode.com/svn/trunk/"/>
-       <arg value="${test.external.dir}/octane"/>
-    </exec>
-  </target>
-  <target name="update-octane" depends="init" if="${test-sys-prop.external.octane}">
-    <!-- update octane benchmarks -->
-    <exec executable="${svn.executable}" dir="${test.external.dir}/octane">
-       <arg value="--non-interactive"/>
-       <arg value="--trust-server-cert"/>
-       <arg value="update"/>
-    </exec>
-  </target>
-
-  <!-- sunspider benchmark -->
-  <target name="get-sunspider" depends="init" unless="${test-sys-prop.external.sunspider}">
-    <!-- checkout sunspider -->
-    <exec executable="${svn.executable}">
-       <arg value="--non-interactive"/>
-       <arg value="--trust-server-cert"/>
-       <arg value="checkout"/>
-       <arg value="http://svn.webkit.org/repository/webkit/trunk/PerformanceTests/SunSpider"/>
-       <arg value="${test.external.dir}/sunspider"/>
-    </exec>
-  </target>
-  <target name="update-sunspider" depends="init" if="${test-sys-prop.external.sunspider}">
-    <!-- update sunspider -->
-    <exec executable="${svn.executable}" dir="${test.external.dir}/sunspider">
-       <arg value="--non-interactive"/>
-       <arg value="--trust-server-cert"/>
-       <arg value="update"/>
-    </exec>
-  </target>
-
-  <!-- get all external test scripts -->
-  <target name="externals" depends="init, check-external-tests, get-test262, get-octane, get-sunspider, get-testng">
-    <!-- make external test dir -->
-    <mkdir dir="${test.external.dir}"/>
-
-    <!-- jquery -->
-    <mkdir dir="${test.external.dir}/jquery"/>
-    <get src="http://code.jquery.com/jquery-1.7.2.js" dest="${test.external.dir}/jquery" skipexisting="true" ignoreerrors="true"/>
-    <get src="http://code.jquery.com/jquery-1.7.2.min.js" dest="${test.external.dir}/jquery" skipexisting="true" ignoreerrors="true"/>
-
-    <!-- prototype -->
-    <mkdir dir="${test.external.dir}/prototype"/>
-    <get src="http://ajax.googleapis.com/ajax/libs/prototype/1.7.0/prototype.js" dest="${test.external.dir}/prototype" usetimestamp="true" skipexisting="true" ignoreerrors="true"/>
-
-    <!-- underscorejs -->
-    <mkdir dir="${test.external.dir}/underscore"/>
-    <get src="http://underscorejs.org/underscore.js" dest="${test.external.dir}/underscore" skipexisting="true" ignoreerrors="true"/>
-    <get src="http://underscorejs.org/underscore-min.js" dest="${test.external.dir}/underscore" skipexisting="true" ignoreerrors="true"/>
-
-    <!-- yui -->
-    <mkdir dir="${test.external.dir}/yui"/>
-    <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>
-    <get src="http://yui.yahooapis.com/3.5.1/build/yui/yui-min.js" dest="${test.external.dir}/yui" skipexisting="true" ignoreerrors="true"/>
-
-    <!-- showdown -->
-    <mkdir dir="${test.external.dir}/showdown"/>
-    <get src="https://raw.githubusercontent.com/showdownjs/showdown/0.5.4/src/showdown.js" dest="${test.external.dir}/showdown" skipexisting="true" ignoreerrors="true"/>
-    <get src="https://raw.githubusercontent.com/showdownjs/showdown/0.5.4/src/extensions/table.js" dest="${test.external.dir}/showdown" skipexisting="true" ignoreerrors="true"/>
-
-  </target>
-
-  <!-- update external test suites that are pulled from source control systems -->
-  <target name="update-externals" depends="init, check-external-tests, update-test262, update-octane, update-sunspider"/>
-
-  <!-- run all perf tests -->
-  <target name="perf" depends="externals, update-externals, sunspider, octane"/>
-
-  <!-- download and install testng.jar -->
-  <target name="get-testng">
-    <get dest="${test.lib}" skipexisting="true">
-      <url url="http://central.maven.org/maven2/org/testng/testng/6.8/testng-6.8.jar"/>
-      <url url="http://central.maven.org/maven2/com/beust/jcommander/1.27/jcommander-1.27.jar"/>
-      <url url="http://central.maven.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
-      <url url="http://central.maven.org/maven2/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar"/>
-    </get>
-  </target>
-
-  <!-- run all tests -->
-  <target name="alltests" depends="get-testng, externals, update-externals, test, test262parallel, testmarkdown, perf"/>
-
-  <import file="build-benchmark.xml"/>
-
-</project>
diff --git a/make/code_coverage.xml b/make/code_coverage.xml
deleted file mode 100644
index 7fe1f38..0000000
--- a/make/code_coverage.xml
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2010, 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.
- 
- 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.
--->
-<project name="code-coverage" default="generate-code-coverage-report" basedir="..">
-
-  <!-- CODE COVERAGE -->
-  <target name="init-cc-enabled" if="${cc.enabled}">
-
-    <echo message="initialize [${jcov}] java coverage"/>
-
-
-    <property name="cc.report.dir" value="${cc.dir}/CC_${jcov}_report"/>
-    <property name="cc.merged.xml" value="${cc.dir}/CC_${jcov}_result-merged.xml"/>
-
-    <condition property="run.test.cc.jvmargs" value="${cc.dynamic.args}">
-      <equals arg1="${jcov}" arg2="dynamic" trim="true"/>
-    </condition>
-
-    <condition property="cc.generate.template" value="true">
-      <equals arg1="${cc.dynamic.genereate.template}" arg2="true" trim="true"/>
-    </condition>
-
-    <mkdir dir="${cc.dir}"/>
-    <mkdir dir="${build.dir}/to_be_instrumented"/>
-
-    <!-- info -->
-    <echo message="jcov=${jcov}"/>
-    <echo message="cc.generate.template=${cc.generate.template}"/>
-    <echo message="cc.instrument=${cc.instrument}"/>
-    <echo message="run.test.cc.jvmargs=${run.test.cc.jvmargs}"/>
-    <echo message="cc.report.dir=${cc.report.dir}"/>
-    <echo message="cc.merged.xml=${cc.merged.xml}"/>
-  </target>
-
-  <target name="init-cc-disabled" unless="${cc.enabled}">
-    <property name="run.test.cc.jvmargs" value=""/>
-  </target>
-
-  <target name="prepare-to-be-instrumented" depends="compile" description="Prepares to_be_instrumented dir">
-    <copy todir="${build.dir}/to_be_instrumented">
-      <fileset dir="${build.classes.dir}">
-        <include name="**/*.class"/>
-      </fileset>
-    </copy>
-  </target>
-
-  <target name="generate-cc-template" depends="prepare-to-be-instrumented" description="Generates code coverage template for dynamic CC" if="cc.generate.template">
-    <property name="cc.instrumented.path" location="${build.dir}/to_be_instrumented"/>
-    <java classname="com.sun.tdk.jcov.TmplGen">
-      <arg value="-verbose"/>
-      <arg line="-include ${cc.include}"/>
-      <arg line="-type all"/>
-      <arg line="-template ${cc.template}"/>
-      <arg value="${cc.instrumented.path}"/>
-      <classpath>
-        <pathelement location="${jcov.jar}"/>
-      </classpath>
-    </java>
-
-    <java classname="com.sun.tdk.jcov.RepGen">
-      <arg value="-verbose"/>
-      <arg line="-output ${cc.dir}/CC_template_report"/>
-      <arg value="${cc.template}"/>
-      <classpath>
-        <pathelement location="${jcov.jar}"/>
-      </classpath>
-    </java>
-  </target>
-
-  <target name="init-cc" depends="init-cc-disabled, init-cc-enabled">
-    <property name="run.test.cc.jvmargs" value=""/>
-  </target>
-
-  <target name="init-cc-cleanup" if="${cc.enabled}">
-    <delete dir="${cc.dir}" failonerror="false" />
-    <delete dir="${build.dir}/to_be_instrumented" failonerror="false" />
-  </target>
-
-  <target name="check-merging-files" depends="init">
-	<echo message="checking avalibility of ${cc.template}"/>
-    <condition property="nothing-to-merge" value="true">
-		<not>
-	      <available file="${cc.template}"/>
-		</not>
-    </condition>
-	<echo message="nothing-to-merge = ${nothing-to-merge}"/>
-  </target>
-
-  <target name="fix-merging-files" depends="check-merging-files" if="${nothing-to-merge}">
-	<echo message="making pre-merge workaround due to missed template"/>
-	<move todir="${cc.dir}" includeemptydirs="false">
-		<fileset dir="${cc.dir}">
-			<include name="*.xml"/>
-		</fileset>
-		<mapper type="glob" from="*.xml" to="CC_${jcov}_result-merged.xml"/>
-	</move>
-  </target>
- 
-  <target name="merge-code-coverage" depends="fix-merging-files" unless="${nothing-to-merge}">
-	<echo message="merging files"/>
-    <fileset dir="${cc.dir}" id="cc.xmls">
-      <include name="**/*_${jcov}_*.xml"/>
-      <include name="**/CC_template.xml"/>
-    </fileset>
-
-    <pathconvert pathsep=" " property="cc.all.xmls" refid="cc.xmls"/>
-	<echo message="merging files - ${cc.all.xmls}" />
-    <java classname="com.sun.tdk.jcov.Merger">
-      <arg value="-verbose"/>
-      <arg value="-output"/>
-      <arg value="${cc.merged.xml}"/>
-      <arg value="-exclude"/>
-      <arg value="com\.oracle\.nashorn\.runtime\.ScriptRuntime*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.javaadapters*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.objects\.annotations*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.scripts*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.lookup\.MethodHandleFactory*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.test\.framework*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.test\.models*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.ir\.debug*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.runtime\.regexp\.joni\.bench*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.runtime\.DebugLogger*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.runtime\.Timing*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.runtime\.Logging*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.runtime\.Debug*"/>
-      <arg value="-exclude"/>
-      <arg value="jdk\.nashorn\.internal\.objects\.NativeDebug*"/>
-      <arg line="${cc.all.xmls}"/>