/hg/icedtea8-forest/nashorn: 52 new changesets
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Thu Jan 12 06:55:14 UTC 2017
changeset 39774ec26126 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=39774ec26126
author: asaha
date: Tue Apr 26 13:31:55 2016 -0700
Added tag jdk8u112-b00 for changeset 1bf96637e4bb
changeset 5e1012e665bf in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=5e1012e665bf
author: mhaupt
date: Wed May 11 14:20:49 2016 +0200
8130127: streamline input parameter of Nashorn scripting $EXEC function
Summary: handle null and undefined correctly, do not coerce them to strings
Reviewed-by: lagergren, sundar
changeset 4ccc0a6265ad in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=4ccc0a6265ad
author: mhaupt
date: Wed May 11 14:21:19 2016 +0200
8130317: "ant test" fails to complete on Windows when run under cygwin shell
Reviewed-by: lagergren, attila
changeset a29475d0b255 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=a29475d0b255
author: mhaupt
date: Wed May 11 14:21:34 2016 +0200
8143642: Nashorn shebang argument handling is broken
Reviewed-by: hannesw, sundar
changeset adcf08eb1715 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=adcf08eb1715
author: mhaupt
date: Wed May 11 14:21:44 2016 +0200
8144160: Regression: two tests fail on Windows with "ant test" target
Reviewed-by: hannesw, mhaupt
changeset e6bd60e65f33 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=e6bd60e65f33
author: mhaupt
date: Wed May 11 14:21:52 2016 +0200
8144221: fix Nashorn shebang argument handling on Mac/Linux
Reviewed-by: jlaskey, lagergren
changeset 258478e90f2d in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=258478e90f2d
author: sundar
date: Fri May 20 20:40:18 2016 +0530
8157160: JSON.stringify does not work on ScriptObjectMirror objects
Reviewed-by: hannesw, mhaupt, jlaskey
changeset 8673bde5227d in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=8673bde5227d
author: mhaupt
date: Mon Jan 18 11:31:43 2016 +0100
8145305: fix Nashorn shebang handling on Cygwin
Reviewed-by: hannesw, sundar
changeset 11bf0d1b18c1 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=11bf0d1b18c1
author: mhaupt
date: Mon May 23 09:25:36 2016 +0200
8157444: exclude jjs shebang handling test from runs
Reviewed-by: sundar, hannesw, jlaskey
changeset 1bd585e65406 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=1bd585e65406
author: sundar
date: Tue Jan 05 18:40:43 2016 +0530
8146240: Three nashorn files contain "GNU General Public License" header
Reviewed-by: jlaskey
changeset 92b5c838f6d5 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=92b5c838f6d5
author: sundar
date: Wed May 25 21:10:36 2016 +0530
8157680: Callback parameter of any JS builtin implementation should accept any Callable
Reviewed-by: hannesw
changeset ee0bd940c2bd in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=ee0bd940c2bd
author: hannesw
date: Fri May 13 14:30:54 2016 +0200
8156896: Script stack trace should display function names
Reviewed-by: attila, sundar
changeset 0f96cd2fe750 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=0f96cd2fe750
author: mhaupt
date: Tue Feb 16 15:34:27 2016 +0100
8148140: arguments are handled differently in apply for JS functions and AbstractJSObjects
Reviewed-by: hannesw, sundar
changeset b035d65df170 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=b035d65df170
author: mhaupt
date: Mon Feb 29 09:49:46 2016 +0100
8150814: correct package declaration in Nashorn test
Reviewed-by: sundar
changeset 133a3c6c906e in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=133a3c6c906e
author: hannesw
date: Fri May 13 18:38:15 2016 +0200
8156714: Parsing issue with automatic semicolon insertion
Reviewed-by: jlaskey, sundar
changeset ad940f1e1c09 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=ad940f1e1c09
author: sundar
date: Wed May 25 19:25:57 2016 +0530
8157819: TypeError when a java.util.Comparator object is invoked as a function
Reviewed-by: mhaupt, forax, hannesw
changeset 711ea1c671bf in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=711ea1c671bf
author: attila
date: Mon Nov 09 14:03:37 2015 +0100
8141541: Simplify Nashorn's Context class loader handling
Reviewed-by: hannesw, sundar
changeset 847d649fe113 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=847d649fe113
author: robilad
date: Wed Jun 01 13:42:08 2016 +0200
8154469: Update FSF address
Summary: Updated Free Software Foundation's mailing address in LICENSE
Reviewed-by: rriggs, shade
changeset 301f57f44dfc in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=301f57f44dfc
author: sundar
date: Wed Jun 01 18:59:33 2016 +0530
8158338: Nashorn's ScriptLoader split delegation has to be adjusted
Reviewed-by: lagergren
changeset 27842bf384fe in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=27842bf384fe
author: sundar
date: Thu Jun 02 14:56:20 2016 +0530
8158467: AccessControlException is thrown on public Java class access if "script app loader" is set to null
Reviewed-by: mhaupt, hannesw
changeset be4ef6af7d3d in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=be4ef6af7d3d
author: sdama
date: Tue Jun 07 11:58:05 2016 +0100
8138906: [TEST_BUG] Test test/script/trusted/JDK-8087292.js intermittently fails.
Reviewed-by: hannesw, mhaupt
changeset 8dad9af70d3e in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=8dad9af70d3e
author: asaha
date: Tue Jun 21 10:15:20 2016 -0700
Added tag jdk8u112-b01 for changeset be4ef6af7d3d
changeset 68e45b084515 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=68e45b084515
author: hannesw
date: Mon Jun 20 11:44:29 2016 +0200
8150219: ReferenceError in 1.8.0_72
Reviewed-by: attila, sundar
changeset d95a6070758d in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=d95a6070758d
author: hannesw
date: Fri Jun 24 12:39:42 2016 +0200
8137240: Negative lookahead in RegEx breaks backreference
Reviewed-by: mhaupt
changeset 29f97057e4e1 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=29f97057e4e1
author: robm
date: Sat Jun 25 20:03:39 2016 +0100
Merge
changeset a569f39e9c01 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=a569f39e9c01
author: asaha
date: Mon Jul 04 14:30:53 2016 -0700
Added tag jdk8u112-b02 for changeset 29f97057e4e1
changeset 16bc4cb8f50b in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=16bc4cb8f50b
author: asaha
date: Tue Jul 05 15:35:26 2016 -0700
Merge
changeset bc02dfd3decc in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=bc02dfd3decc
author: asaha
date: Tue Jul 19 15:41:22 2016 -0700
Added tag jdk8u112-b03 for changeset 16bc4cb8f50b
changeset 18eb73eb84c5 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=18eb73eb84c5
author: asaha
date: Mon Jul 25 14:42:28 2016 -0700
Added tag jdk8u112-b04 for changeset bc02dfd3decc
changeset 2a0a2024d751 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=2a0a2024d751
author: asaha
date: Wed Jul 20 15:13:39 2016 -0700
Merge
changeset f82abdad22de in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=f82abdad22de
author: asaha
date: Mon Jul 25 15:14:09 2016 -0700
Merge
changeset 2432a2e9de10 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=2432a2e9de10
author: asaha
date: Tue Jul 26 14:12:29 2016 -0700
Merge
changeset 71533d513bef in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=71533d513bef
author: asaha
date: Wed Jul 27 11:10:58 2016 -0700
Added tag jdk8u112-b06 for changeset 2432a2e9de10
changeset d591fb5e1d37 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=d591fb5e1d37
author: asaha
date: Mon Aug 01 12:41:21 2016 -0700
Merge
changeset 7c3cc111ef8a in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=7c3cc111ef8a
author: asaha
date: Mon Aug 01 12:45:08 2016 -0700
Added tag jdk8u112-b07 for changeset d591fb5e1d37
changeset 910a02770fc9 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=910a02770fc9
author: asaha
date: Mon Aug 08 13:14:51 2016 -0700
Merge
changeset bb1e105029d5 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=bb1e105029d5
author: asaha
date: Mon Aug 08 13:20:22 2016 -0700
Added tag jdk8u112-b08 for changeset 910a02770fc9
changeset 51e59a0544a0 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=51e59a0544a0
author: asaha
date: Tue Aug 16 13:07:36 2016 -0700
Merge
changeset 7d226caedfd5 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=7d226caedfd5
author: asaha
date: Tue Aug 16 13:11:57 2016 -0700
Added tag jdk8u112-b09 for changeset 51e59a0544a0
changeset 319eba518b6e in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=319eba518b6e
author: asaha
date: Mon Aug 22 13:37:39 2016 -0700
Merge
changeset 081aa69ac6fa in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=081aa69ac6fa
author: asaha
date: Mon Aug 22 13:41:36 2016 -0700
Added tag jdk8u112-b10 for changeset 319eba518b6e
changeset 42b1bb149765 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=42b1bb149765
author: asaha
date: Mon Aug 29 11:20:27 2016 -0700
Added tag jdk8u112-b11 for changeset 081aa69ac6fa
changeset 21b35ff81519 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=21b35ff81519
author: asaha
date: Tue Sep 06 10:57:09 2016 -0700
Merge
changeset cc3bb28e1427 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=cc3bb28e1427
author: asaha
date: Tue Sep 06 11:01:50 2016 -0700
Added tag jdk8u112-b12 for changeset 21b35ff81519
changeset 001041e75430 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=001041e75430
author: asaha
date: Wed Sep 14 13:35:26 2016 -0700
Merge
changeset 494df61af1d1 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=494df61af1d1
author: asaha
date: Wed Sep 14 13:43:50 2016 -0700
Added tag jdk8u112-b13 for changeset 001041e75430
changeset b0aa9a71f5fb in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=b0aa9a71f5fb
author: asaha
date: Wed Sep 21 14:31:13 2016 -0700
Merge
changeset 352e0c7e9472 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=352e0c7e9472
author: asaha
date: Wed Sep 21 14:35:37 2016 -0700
Added tag jdk8u112-b14 for changeset b0aa9a71f5fb
changeset 4196f3df73e1 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=4196f3df73e1
author: asaha
date: Thu Sep 22 12:00:28 2016 -0700
Added tag jdk8u111-b14 for changeset 97770cfdb942
changeset adc75eca1741 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=adc75eca1741
author: asaha
date: Thu Sep 22 13:10:23 2016 -0700
Merge
changeset d1f2cab06d35 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=d1f2cab06d35
author: asaha
date: Thu Sep 22 13:18:53 2016 -0700
Added tag jdk8u112-b15 for changeset adc75eca1741
changeset b082c0d76be4 in /hg/icedtea8-forest/nashorn
details: http://icedtea.classpath.org/hg/icedtea8-forest/nashorn?cmd=changeset;node=b082c0d76be4
author: andrew
date: Thu Jan 12 06:59:38 2017 +0000
Merge jdk8u112-b16
diffstat:
.hgtags | 91 +++++
.jcheck/conf | 2 -
LICENSE | 6 +-
make/build.xml | 10 +
samples/exec.js | 7 +-
src/jdk/nashorn/api/scripting/NashornException.java | 22 +-
src/jdk/nashorn/api/scripting/NashornScriptEngine.java | 3 +
src/jdk/nashorn/internal/codegen/CompilerConstants.java | 6 +
src/jdk/nashorn/internal/codegen/Namespace.java | 4 +-
src/jdk/nashorn/internal/objects/Global.java | 17 +-
src/jdk/nashorn/internal/objects/NativeArray.java | 12 +-
src/jdk/nashorn/internal/objects/NativeJSON.java | 103 +++++-
src/jdk/nashorn/internal/objects/NativeRegExp.java | 12 +-
src/jdk/nashorn/internal/objects/NativeString.java | 7 +-
src/jdk/nashorn/internal/parser/AbstractParser.java | 6 +-
src/jdk/nashorn/internal/parser/Parser.java | 4 +-
src/jdk/nashorn/internal/runtime/Context.java | 62 +--
src/jdk/nashorn/internal/runtime/JSONFunctions.java | 10 +-
src/jdk/nashorn/internal/runtime/NashornLoader.java | 5 +-
src/jdk/nashorn/internal/runtime/ScriptLoader.java | 35 +-
src/jdk/nashorn/internal/runtime/ScriptingFunctions.java | 32 +-
src/jdk/nashorn/internal/runtime/linker/Bootstrap.java | 4 +-
src/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java | 10 +-
src/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java | 19 +-
src/jdk/nashorn/internal/runtime/regexp/RegExpScanner.java | 18 +-
src/jdk/nashorn/tools/Shell.java | 108 ++++++-
test/script/basic/JDK-8025515.js | 4 +-
test/script/basic/JDK-8134488.js | 2 +-
test/script/basic/JDK-8134490.js | 2 +-
test/script/basic/JDK-8134939.js | 2 +-
test/script/basic/JDK-8137240.js | 44 ++
test/script/basic/JDK-8156714.js | 50 +++
test/script/basic/JDK-8156896.js | 59 +++
test/script/basic/JDK-8157160.js | 113 +++++++
test/script/basic/JDK-8157160.js.EXPECTED | 9 +
test/script/basic/JDK-8157680.js | 89 +++++
test/script/basic/JDK-8157680.js.EXPECTED | 7 +
test/script/basic/JDK-8157819.js | 46 ++
test/script/basic/JDK-8158467.js | 92 +++++
test/script/basic/JDK-8158467.js.EXPECTED | 10 +
test/script/currently-failing/JDK-8144221.js | 155 ++++++++++
test/script/currently-failing/JDK-8144221.js.EXPECTED | 68 ++++
test/script/nosecurity/JDK-8130127.js | 55 +++
test/script/nosecurity/JDK-8130127.js.EXPECTED | 6 +
test/script/nosecurity/os-not-windows.js | 37 ++
test/script/nosecurity/readprint.js | 33 ++
test/script/trusted/JDK-8087292.js | 50 ++-
test/script/trusted/JDK-util.js | 87 +++++
test/src/jdk/nashorn/api/scripting/test/JDK_8148140_Test.java | 73 ++++
test/src/jdk/nashorn/api/scripting/test/ScopeTest.java | 25 +
50 files changed, 1588 insertions(+), 145 deletions(-)
diffs (truncated from 2609 to 500 lines):
diff -r 1bf96637e4bb -r b082c0d76be4 .hgtags
--- a/.hgtags Mon Apr 25 09:34:16 2016 -0700
+++ b/.hgtags Thu Jan 12 06:59:38 2017 +0000
@@ -283,6 +283,7 @@
7e89db817ed094766a039762a8061c3a600c7284 jdk8u20-b07
2282c86cb1a954efd2fc5b7f22c173be19087c55 jdk8u20-b08
41f588adeb7a397d395233f00bd3402d0989934a jdk8u20-b09
+fdcdffd5b5b1eb7d442096433d17466f023207f1 icedtea-3.0.0pre01
fdcdffd5b5b1eb7d442096433d17466f023207f1 jdk8u20-b10
c116e9229e096ffe841f2b4f79067378288d0d1d jdk8u20-b11
c720454d2435be052fd941a789ece9468d1e8f74 jdk8u20-b12
@@ -296,6 +297,7 @@
ed3439dca4a73a2dd4a284f3457f0af216a3eb55 jdk8u20-b20
f2925491b61b22ac42f8c30ee9c6723ffa401a4c jdk8u20-b21
5332595fe7ba2a1fc5564cc2689f378b04a56eb4 jdk8u20-b22
+2a866ca13bc68da2a70f200002797b2bea432c68 icedtea-3.0.0pre02
ad36f9454ce38d78be39fc819902e1223765ee5e jdk8u20-b23
d3da140e179343011017669a6dbfcc52b0e56f52 jdk8u20-b24
d3da140e179343011017669a6dbfcc52b0e56f52 jdk8u20-b25
@@ -363,6 +365,9 @@
653739706172ae94e999731a3a9f10f8ce11ffca jdk8u40-b18
6ec61d2494283fbaca6df227f1a5b45487dc1ca7 jdk8u40-b19
4d240320929f7b2247eeb97e43efe2370b70582e jdk8u40-b20
+d8fc6574c0b2f294df84cc0b188b9140537e896b icedtea-3.0.0pre03
+bb36d4894aa49666805a0d08607a80cac3a0fffb icedtea-3.0.0pre04
+f78a539468973c9afb83cd38849fb13427d58ea2 icedtea-3.0.0pre05
dbb663a9d9aa2807ef501c7d20f29415816a1973 jdk8u40-b21
f9f70a0f60f48fbb95275b6c1110cedf740c6177 jdk8u40-b22
6ca090832d30fd0e46214ccc00816490ad75a8ab jdk8u40-b23
@@ -372,6 +377,7 @@
c2dd88e89edc85b1bcb731d3296d0fcec1b78447 jdk8u40-b27
e05552220ba82e465a1abfee90224b5b247e37bc jdk8u40-b31
e1cc0fe0fd50fc4582e729897d7095ffce0f97ad jdk8u40-b32
+0130b5cb16e009195127cc13f828d6cf899fc4c7 jdk8u40-b33
05a3614ed5276e5db2a73cce918be04b1a2922fb jdk8u45-b00
21ec16eb7e6346c78b4fa67ccd6d2a9c58f0b696 jdk8u45-b01
37b3ef9a07323afd2556d6837824db154cccc874 jdk8u45-b02
@@ -440,6 +446,9 @@
7475a2bd3c012f7dfd0532a344eb7efca56ac6e6 jdk8u60-b21
9ed906919b5d92067edcdd966a3f413fca0f70ab jdk8u60-b22
23165e806566f01cdc56421ea82c7e74a6fd85d5 jdk8u60-b23
+6f6d12f78ab05aa9ece89aeec09177ae088f33aa icedtea-3.0.0pre06
+fd478ce27023b3a4a7a9b64e65ce670c2b047542 icedtea-3.0.0pre07
+7babac6e7ecf625dc1f8f2c961c09ea9822ae90f icedtea-3.0.0pre08
68107693248469f7b4fdcc35c53e4206a0d55087 jdk8u60-b24
371f3f83f773ec97491d994bbcce834f0a2cca74 jdk8u60-b25
58791cd01bc9aa973d8845ce63403b90d357b5ac jdk8u60-b26
@@ -518,18 +527,28 @@
b779108a142b80d9d8503c7220ad3bb7cb0dda53 jdk8u72-b12
81e48503b62fd8814135f642905fe38056aaf2a9 jdk8u72-b13
e48d06eeff82bea512cea44fa14d59b88067ef83 jdk8u72-b14
+bbc1966c6af946256899d083521361ac41c57ace icedtea-3.0.0pre09
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
@@ -541,10 +560,14 @@
7bce03d47545e6a5341a2722168cd6bf697c4132 jdk8u77-b00
678b645aa10aaf27895c87872c399c15daa026a1 jdk8u77-b01
09abd795d1d143933224bcb3f12f5d4686b65373 jdk8u77-b02
+82dc1533255a553c3269f6a2ec8242e3a1638d67 icedtea-3.0.0pre10
+697c5f792becf185ec29d7f60c3491f08800a109 icedtea-3.0.0
+38236e7925eb3b7929ae89e54ff96cb854d01fbb icedtea-3.0-branchpoint
b6ee21a35619ce4d3b46a9b825438a3bc9bb63cd jdk8u77-b03
a2c005a7b33abed886cfb4309a846dd80c87bd4e jdk8u91-b00
22925b345dffe4ba96fe2f429c4185cda1b30239 jdk8u91-b13
6296644a2c9c30db0062117fc776341e937ca1f9 jdk8u91-b14
+32b80df71ca2a6ae827ba7042cea868f40e0a0dd jdk8u91-b15
7bce03d47545e6a5341a2722168cd6bf697c4132 jdk8u77-b00
678b645aa10aaf27895c87872c399c15daa026a1 jdk8u77-b01
09abd795d1d143933224bcb3f12f5d4686b65373 jdk8u77-b02
@@ -564,10 +587,78 @@
da1aa86606ef1b46655ae28d34e0d02604fb4cde jdk8u76-b12
256922f1e9e7648eb5af5a9da82ff8032b3855bc jdk8u92-b00
e2294411edbda51165bc1a10261c246cb4d3c5c5 jdk8u92-b13
+8dbea1d5ea71738dbdd28cd0537b2624ad389f56 icedtea-3.1.0pre01
+a69ff719fccb35948af9c950c414f6ccb16679cb icedtea-3.1.0pre02
+2417a5bf2b157c83863829b1773b9d4369f8a3b0 icedtea-3.1.0pre03
+68145b690b187b31cf2814d892d8779e17e3aa4d icedtea-3.1.0pre04
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
+289b6e3c6e050f1a6f079c91a5f37c99889caed9 icedtea-3.1.0
+cd4ba667912c7cf2393bb290eb61528c55d96e72 icedtea-3.2.0pre01
+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
+0b84d2cb4e3a247b2ca0f6a7f882892da3627329 icedtea-3.2.0pre02
+83a084be209bf907f8929ed2361a68427dcd8b89 icedtea-3.2.0pre03
+0948e61a3722ea7519323dffcce4f26430fe2881 jdk8u102-b14
+908d77c3a01687e99fb426cff41cf000f3f28e68 jdk8u102-b31
+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
+0fb33c8b64d1d97095c668b81ad7a11e4c06e89f icedtea-3.2.0
+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
diff -r 1bf96637e4bb -r b082c0d76be4 .jcheck/conf
--- a/.jcheck/conf Mon Apr 25 09:34:16 2016 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-project=jdk8
-bugids=dup
diff -r 1bf96637e4bb -r b082c0d76be4 LICENSE
--- a/LICENSE Mon Apr 25 09:34:16 2016 -0700
+++ b/LICENSE Thu Jan 12 06:59:38 2017 +0000
@@ -3,7 +3,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+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.
@@ -287,8 +287,8 @@
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., 59
- Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 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.
diff -r 1bf96637e4bb -r b082c0d76be4 make/build.xml
--- a/make/build.xml Mon Apr 25 09:34:16 2016 -0700
+++ b/make/build.xml Thu Jan 12 06:59:38 2017 +0000
@@ -83,6 +83,12 @@
<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 -->
@@ -419,6 +425,10 @@
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 -->
diff -r 1bf96637e4bb -r b082c0d76be4 samples/exec.js
--- a/samples/exec.js Mon Apr 25 09:34:16 2016 -0700
+++ b/samples/exec.js Thu Jan 12 06:59:38 2017 +0000
@@ -39,9 +39,10 @@
$EXEC("cat", "Hello, world!")
// Additional arguments can be passed after the stdin argument, as an array of
-// strings, or a sequence of varargs:
-$EXEC("ls", "" /* no stdin */, "-l", "-a")
-$EXEC("ls", "" /* no stdin */, ["-l", "-a"])
+// strings, or a sequence of varargs (if there is no stdin, null or undefined
+// can be passed):
+$EXEC("ls", undefined, "-l", "-a")
+$EXEC("ls", undefined, ["-l", "-a"])
// Output of running external commands is returned from $EXEC:
print($EXEC("ls"))
diff -r 1bf96637e4bb -r b082c0d76be4 src/jdk/nashorn/api/scripting/NashornException.java
--- a/src/jdk/nashorn/api/scripting/NashornException.java Mon Apr 25 09:34:16 2016 -0700
+++ b/src/jdk/nashorn/api/scripting/NashornException.java Thu Jan 12 06:59:38 2017 +0000
@@ -175,10 +175,8 @@
String methodName = st.getMethodName();
if (methodName.equals(CompilerConstants.PROGRAM.symbolName())) {
methodName = "<program>";
- }
-
- if (methodName.contains(CompilerConstants.ANON_FUNCTION_PREFIX.symbolName())) {
- methodName = "<anonymous>";
+ } else {
+ methodName = stripMethodName(methodName);
}
filtered.add(new StackTraceElement(className, methodName,
@@ -188,6 +186,22 @@
return filtered.toArray(new StackTraceElement[filtered.size()]);
}
+ private static String stripMethodName(final String methodName) {
+ String name = methodName;
+
+ final int nestedSeparator = name.lastIndexOf(CompilerConstants.NESTED_FUNCTION_SEPARATOR.symbolName());
+ if (nestedSeparator >= 0) {
+ name = name.substring(nestedSeparator + 1);
+ }
+
+ final int idSeparator = name.indexOf(CompilerConstants.ID_FUNCTION_SEPARATOR.symbolName());
+ if (idSeparator >= 0) {
+ name = name.substring(0, idSeparator);
+ }
+
+ return name.contains(CompilerConstants.ANON_FUNCTION_PREFIX.symbolName()) ? "<anonymous>" : name;
+ }
+
/**
* Return a formatted script stack trace string with frames information separated by '\n'
*
diff -r 1bf96637e4bb -r b082c0d76be4 src/jdk/nashorn/api/scripting/NashornScriptEngine.java
--- a/src/jdk/nashorn/api/scripting/NashornScriptEngine.java Mon Apr 25 09:34:16 2016 -0700
+++ b/src/jdk/nashorn/api/scripting/NashornScriptEngine.java Thu Jan 12 06:59:38 2017 +0000
@@ -319,6 +319,9 @@
// Create new global instance mirror and associate with the Bindings.
final ScriptObjectMirror mirror = createGlobalMirror();
bindings.put(NASHORN_GLOBAL, mirror);
+ // Since we created this global explicitly for the non-default script context we set the
+ // current script context in global permanently so that invokes work as expected. See JDK-8150219
+ mirror.getHomeGlobal().setInitScriptContext(ctxt);
return mirror.getHomeGlobal();
}
diff -r 1bf96637e4bb -r b082c0d76be4 src/jdk/nashorn/internal/codegen/CompilerConstants.java
--- a/src/jdk/nashorn/internal/codegen/CompilerConstants.java Mon Apr 25 09:34:16 2016 -0700
+++ b/src/jdk/nashorn/internal/codegen/CompilerConstants.java Thu Jan 12 06:59:38 2017 +0000
@@ -78,6 +78,12 @@
/** function prefix for anonymous functions */
ANON_FUNCTION_PREFIX("L:"),
+ /** separator for method names of nested functions */
+ NESTED_FUNCTION_SEPARATOR("#"),
+
+ /** separator for making method names unique by appending numeric ids */
+ ID_FUNCTION_SEPARATOR("-"),
+
/** method name for Java method that is the program entry point */
PROGRAM(":program"),
diff -r 1bf96637e4bb -r b082c0d76be4 src/jdk/nashorn/internal/codegen/Namespace.java
--- a/src/jdk/nashorn/internal/codegen/Namespace.java Mon Apr 25 09:34:16 2016 -0700
+++ b/src/jdk/nashorn/internal/codegen/Namespace.java Thu Jan 12 06:59:38 2017 +0000
@@ -68,7 +68,7 @@
}
/**
- * Create a uniqueName name in the namespace in the form base$n where n varies.
+ * Create a uniqueName name in the namespace in the form base-n where n varies.
* Also truncates very long names that would otherwise break ASM.
*
* @param base Base of name. Base will be returned if uniqueName.
@@ -83,7 +83,7 @@
if (counter != null) {
final int count = counter + 1;
namespaceDirectory.put(truncatedBase, count);
- return truncatedBase + '-' + count;
+ return truncatedBase + CompilerConstants.ID_FUNCTION_SEPARATOR.symbolName() + count;
}
}
diff -r 1bf96637e4bb -r b082c0d76be4 src/jdk/nashorn/internal/objects/Global.java
--- a/src/jdk/nashorn/internal/objects/Global.java Mon Apr 25 09:34:16 2016 -0700
+++ b/src/jdk/nashorn/internal/objects/Global.java Thu Jan 12 06:59:38 2017 +0000
@@ -928,6 +928,8 @@
private ThreadLocal<ScriptContext> scontext;
// current ScriptEngine associated - can be null.
private ScriptEngine engine;
+ // initial ScriptContext - usually null and only used for special case
+ private volatile ScriptContext initscontext;
// ES6 global lexical scope.
private final LexicalScope lexicalScope;
@@ -953,9 +955,22 @@
return scontext.get();
}
+ /**
+ * Set the initial script context
+ * @param ctxt initial script context
+ */
+ public void setInitScriptContext(final ScriptContext ctxt) {
+ this.initscontext = ctxt;
+ }
+
private ScriptContext currentContext() {
final ScriptContext sc = scontext != null? scontext.get() : null;
- return (sc != null)? sc : (engine != null? engine.getContext() : null);
+ if (sc != null) {
+ return sc;
+ } else if (initscontext != null) {
+ return initscontext;
+ }
+ return engine != null? engine.getContext() : null;
}
@Override
diff -r 1bf96637e4bb -r b082c0d76be4 src/jdk/nashorn/internal/objects/NativeArray.java
--- a/src/jdk/nashorn/internal/objects/NativeArray.java Mon Apr 25 09:34:16 2016 -0700
+++ b/src/jdk/nashorn/internal/objects/NativeArray.java Thu Jan 12 06:59:38 2017 +0000
@@ -247,7 +247,7 @@
@Override
public MethodHandle call() {
return Bootstrap.createDynamicInvoker("dyn:call", double.class,
- ScriptFunction.class, Object.class, Object.class, Object.class);
+ Object.class, Object.class, Object.class, Object.class);
}
});
}
@@ -1219,23 +1219,23 @@
return copy;
}
- private static ScriptFunction compareFunction(final Object comparefn) {
+ private static Object compareFunction(final Object comparefn) {
if (comparefn == ScriptRuntime.UNDEFINED) {
return null;
}
- if (! (comparefn instanceof ScriptFunction)) {
+ if (!Bootstrap.isCallable(comparefn)) {
throw typeError("not.a.function", ScriptRuntime.safeToString(comparefn));
}
- return (ScriptFunction)comparefn;
+ return comparefn;
}
private static Object[] sort(final Object[] array, final Object comparefn) {
- final ScriptFunction cmp = compareFunction(comparefn);
+ final Object cmp = compareFunction(comparefn);
final List<Object> list = Arrays.asList(array);
- final Object cmpThis = cmp == null || cmp.isStrict() ? ScriptRuntime.UNDEFINED : Global.instance();
+ final Object cmpThis = cmp == null || Bootstrap.isStrictCallable(cmp) ? ScriptRuntime.UNDEFINED : Global.instance();
try {
Collections.sort(list, new Comparator<Object>() {
diff -r 1bf96637e4bb -r b082c0d76be4 src/jdk/nashorn/internal/objects/NativeJSON.java
--- a/src/jdk/nashorn/internal/objects/NativeJSON.java Mon Apr 25 09:34:16 2016 -0700
+++ b/src/jdk/nashorn/internal/objects/NativeJSON.java Thu Jan 12 06:59:38 2017 +0000
@@ -35,7 +35,10 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.concurrent.Callable;
+import jdk.nashorn.api.scripting.JSObject;
+import jdk.nashorn.api.scripting.ScriptObjectMirror;
import jdk.nashorn.internal.objects.annotations.Attribute;
import jdk.nashorn.internal.objects.annotations.Function;
import jdk.nashorn.internal.objects.annotations.ScriptClass;
@@ -44,7 +47,6 @@
import jdk.nashorn.internal.runtime.JSONFunctions;
import jdk.nashorn.internal.runtime.JSType;
import jdk.nashorn.internal.runtime.PropertyMap;
-import jdk.nashorn.internal.runtime.ScriptFunction;
import jdk.nashorn.internal.runtime.ScriptObject;
import jdk.nashorn.internal.runtime.arrays.ArrayLikeIterator;
import jdk.nashorn.internal.runtime.linker.Bootstrap;
@@ -68,6 +70,18 @@
});
}
+ private static final Object JSOBJECT_INVOKER = new Object();
+
+ private static MethodHandle getJSOBJECT_INVOKER() {
+ return Global.instance().getDynamicInvoker(JSOBJECT_INVOKER,
+ new Callable<MethodHandle>() {
+ @Override
+ public MethodHandle call() {
+ return Bootstrap.createDynamicInvoker("dyn:call",
+ Object.class, Object.class, Object.class);
+ }
+ });
+ }
private static final Object REPLACER_INVOKER = new Object();
@@ -77,7 +91,7 @@
@Override
public MethodHandle call() {
return Bootstrap.createDynamicInvoker("dyn:call", Object.class,
- ScriptFunction.class, ScriptObject.class, Object.class, Object.class);
+ Object.class, Object.class, Object.class, Object.class);
}
});
}
@@ -127,9 +141,10 @@
final StringifyState state = new StringifyState();
// If there is a replacer, it must be a function or an array.
- if (replacer instanceof ScriptFunction) {
- state.replacerFunction = (ScriptFunction) replacer;
+ if (Bootstrap.isCallable(replacer)) {
+ state.replacerFunction = replacer;
} else if (isArray(replacer) ||
+ isJSObjectArray(replacer) ||
replacer instanceof Iterable ||
(replacer != null && replacer.getClass().isArray())) {
@@ -201,18 +216,19 @@
// stringify helpers.
private static class StringifyState {
- final Map<ScriptObject, ScriptObject> stack = new IdentityHashMap<>();
+ final Map<Object, Object> stack = new IdentityHashMap<>();
StringBuilder indent = new StringBuilder();
String gap = "";
List<String> propertyList = null;
- ScriptFunction replacerFunction = null;
+ Object replacerFunction = null;
}
// Spec: The abstract operation Str(key, holder).
- private static Object str(final Object key, final ScriptObject holder, final StringifyState state) {
- Object value = holder.get(key);
+ private static Object str(final Object key, final Object holder, final StringifyState state) {
+ assert holder instanceof ScriptObject || holder instanceof JSObject;
+ Object value = getProperty(holder, key);
try {
if (value instanceof ScriptObject) {
final InvokeByName toJSONInvoker = getTO_JSON();
@@ -221,6 +237,12 @@
if (Bootstrap.isCallable(toJSON)) {
value = toJSONInvoker.getInvoker().invokeExact(toJSON, svalue, key);
}
More information about the distro-pkg-dev
mailing list