Commit Graph

486 Commits

Author SHA1 Message Date
Hannes Wallnöfer 6d8b172ecc 8058179: Global constants get in the way of self-modifying properties
Reviewed-by: attila, jlaskey, sundar, lagergren
2014-09-11 18:06:40 +02:00
Marcus Lagergren 32063f52ce 8057019: Various problems with extra arguments to applies
Reviewed-by: attila, hannesw, jlaskey
2014-09-04 10:52:42 +02:00
Attila Szegedi 9e2eb8b80a 8057930: remove eval ID
Reviewed-by: hannesw, sundar
2014-09-09 15:33:58 +02:00
Sergey Lugovoy 7faa3dfc8e 8057678: Tests for let and const keywords in Nashorn
Reviewed-by: hannesw, lagergren
2014-09-08 15:37:50 +04:00
Attila Szegedi 02ac205cc3 8057148: Skip nested functions on reparse
Reviewed-by: hannesw, lagergren
2014-09-08 18:40:58 +02:00
Attila Szegedi 95e2ec19fd 8056129: AtomicInteger is treated as primitive number with optimistic compilation
Reviewed-by: jlaskey, lagergren
2014-09-04 18:57:14 +02:00
Athijegannathan Sundararajan babfe4e155 8057742: ant clean test should not fail if one or more external test suites are missing
Reviewed-by: lagergren, hannesw
2014-09-08 15:51:27 +05:30
Hannes Wallnöfer 0186696705 8051889: Implement block scoping in symbol assignment and scope computation
Reviewed-by: attila, lagergren
2014-09-04 18:47:18 +02:00
Athijegannathan Sundararajan 288d5ddf1f 8056123: Anonymous function statements leak internal function names into global scope
Reviewed-by: attila, hannesw
2014-08-27 18:18:35 +05:30
Attila Szegedi f50ba8a02f 8055870: iteration fails if index var is not used
Reviewed-by: hannesw, lagergren
2014-08-27 10:16:18 +02:00
Athijegannathan Sundararajan 6742e4ea27 8055899: Two nashorn tests fail in 8u40 nightly build with ClassNotFoundException
Reviewed-by: jlaskey, lagergren
2014-08-25 20:26:53 +05:30
Athijegannathan Sundararajan 749333f092 8055830: JDK-8015969.js is silently failing
Reviewed-by: lagergren, jlaskey, hannesw
2014-08-25 08:46:42 +05:30
Athijegannathan Sundararajan f93cdce00d 8055796: JSObject and browser JSObject linkers should provide fallback to call underlying Java methods directly
Reviewed-by: attila, hannesw
2014-08-22 15:47:28 +05:30
Athijegannathan Sundararajan 185bbdce2b 8055762: Nashorn misses linker for netscape.javascript.JSObject instances
Reviewed-by: lagergren, jlaskey
2014-08-21 20:06:48 +05:30
Athijegannathan Sundararajan 1dfa715feb 8050078: Nashorn ClassFilter Support
Reviewed-by: attila, hannesw, jlaskey, lagergren
2014-08-20 18:59:11 +05:30
Marcus Lagergren df12cc3a5e 8027043: Turn global accesses into MethodHandle.constant, with one chance of reassignment, e.g. x = value occuring once in the global scope is ok, twice is not
8027958: NASHORN TEST: Create tests to test markdown javascript engine work with Nashorn
8028345: Remove nashorn repo "bin" scripts to avoid confusion with JDK bin launcher programs
8029090: Developers should be able to pass nashorn properties and enable/disable JFR from command line
8030169: Need regression test for bug JDK-8010731
8033105: Make sure Nashorn test harness can run zlib benchmark
8033334: Make sure that scope depth information is maintained in the RecompilableScriptFunctionDatas, to avoid unnecessary slow proto linkage when doing on demand compilation
8034206: Make parts of code pipeline reusable in order to facilitate faster warmup and faster lazy compilation
8035820: Optimistic recompilation
8035836: Array performance improvements
8036127: Prototype filter needs to be applied to getter guard as well, not just getter
8036986: Test should check that correctly type is returned running with optimistic. If optimistic assumption was wrong we should get the right one
8037086: Check that deoptimizing recompilations are correct
8037177: -Dnashorn.optimistic should be enabled by default, meaning that it has to be explicitly set to false to run with the jdk 8 style conservative types
8037534: Use scope types to determine optimistic types
8037572: Add more test cases to check static types
8037967: Broke the build, by commiting without saving the last review comment
8038223: Symbol trace debug output takes time
8038396: fix for the compiler expression evaluator to be more inquisitive about types
8038398: OptimisticRecompilationTest fails on staging repo nashorn/jdk9/nashorn due to test framework
8038406: Testability: as a first step of moving loggers away from the process global space, the Debug object now supports logging POJOs from log entries as an event queue, which can be introspected from test scripts. This is way better than screen scraping brittle and subject-to-change log output
8038413: NPE in unboxInteger
8038416: Access to undefined scoped variables deoptimized too much
8038426: Move all loggers from process wide scope into Global scope
8038799: Guard and unbox boxed primitives types on setting them in Properties to avoid megamorphisism
8038945: Simplify strict undefined checks
8039044: Expand undefined intrinsics for all commutative combinators of scrict undefined checks
8039746: Transform applies to calls wherever possible, for ScriptFunctions and JSObjects
8040024: BranchOptimizer produces bad code for NaN FP comparison
8040089: Apply to call transform was incomplete. Now passes all tests and performance is back
8040093: Make sure that optimistic splitting works in optimistic types
8040102: Remove all references to Unsafe and definition of anonymous clases from the code
8040655: When processing a RewriteException debug object, the return value has already been reset to null. We need to catch this value before that
8041434: Add synchronization to the common global constants structure
8041625: AccessorProperty currentType must only by Object.class when non-primitive, and scoping followup problem for lazily generated with bodies
8041905: Fix apply2call bug that prevented avatar.js unit tests from running correctly
8041995: Problems when loading tree expressions with several optimistic program points when optimistically initializing ObjectNodes
8042118: Separate types from symbols
8043002: Improve performance of Nashorn equality operators
8043003: Use strongly referenced generic invokers
8043004: Reduce variability at JavaAdapter call sites
8043132: Nashorn : all tests failed with java.security.AccessControlException
8043133: Fix corner cases of JDK-8041995
8043137: Collapse long sequences of NOP in Nashorn bytecode output
8043232: Index selection of overloaded java new constructors
8043235: Type-based optimizations interfere with continuation methods
8043431: Fix yet another corner case of JDK-8041995
8043504: Octane test harness was missing argument to print_always at one callsite, causing erroneous logging
8043605: Enable history for empty property maps
8043608: Make equality tests inline better
8043611: Move timing dependent benchmark for apply2call specialization to currently_failing. It is dependent that nothing takes machine time when doing the two runs, causing spurious assertions. Suggest running octane.raytrace manually instead to verify that this works, or incorporating it in the nightly test suite
8043632: Parallelize class installation and various script fixes
8043633: In order to remove global state outside of contexts, make sure Timing class is an instance and not a static global collection of data. Move into Context. Move -Dnashorn.timing to an official logging option
8043956: Make code caching work with optimistic typing and lazy compilation
8044012: Integrate the latest best known performance flags int ant octane jobs, and make sure that it's easy to compare 'ant octane-nashorn' and 'ant octane-v8' at the push of a button. (or rather; the entry of a command line)
8044102: Ensure bechmark exclude list for Octane benchmarks is in only one place, project.properties, and fix benchmark harness
8044154: Nashorn : all tests failed with java.security.AccessControlException
8044171: Make optimistic exception handlers smaller
8044502: Get rid of global optimistic flag
8044518: Ensure exceptions related to optimistic recompilation are not serializable
8044533: Deoptimizing negation produces wrong result for zero
8044534: Constant folding for unary + should produce int for boolean literals
8044760: Avoid PropertyMap duplicate for global instances
8044786: Some tests fail with non-optimistic compilation
8044803: Unnecessary restOf check
8044816: On-demand compiled top-level program doesn't need :createProgramFunction
8044851: nashorn properties leak memory
8046013: TypeError: Cannot apply "with" to non script object
8046014: MultiGlobalCompiledScript should cache :createProgramFunction handle
8046025: AccessorProperty.getGetter is not threadsafe
8046026: CompiledFunction.relinkComposableInvoker assert is being hit
8046201: Avoid repeated flattening of nested ConsStrings
8046215: Running uncompilable scripts throws NullPointerException
8046898: Make sure that lazy compilation is the default, remove redundant "enable lazy compilation" flags, added warning message if compile logging is enabled and lazy is switched off. Verified existing test suite code coverage equivalence between lazy and eager
8046905: apply on apply is broken
8046921: Deoptimization type information peristence
8047035: (function() "hello")() crashes in Lexer with jdk9
8047057: Add a regression test for the passing test cases from JDK-8042304
8047067: all eval arguments need to be copied in Lower
8047078: Fuzzing bug discovered when ArrayLiteralNodes weren't immutable
8047166: 'do with({}) break ; while(0);' crashes in CodeGenerator
8047331: Assertion in CompiledFunction when running earley-boyer after Merge
8047357: More precise synthetic return + unreachable throw
8047359: large string size RangeError should be thrown rather than reporting negative length
8047369: Add regression tests for passing test cases of JDK-8024971
8047371: local variable declaration in TypeEvaluator should use ScriptObject.addOwnProperty instead of .set
8047728: (function(x){var o={x:0}; with(o){delete x} return o.x})() evaluates to 0 instead of undefined
8047959: bindings created for declarations in eval code are not mutable
8048009: Type info caching accidentally defeated
8048071: eval within 'with' statement does not use correct scope if with scope expression has a copy of eval
8048079: Persistent code store is broken after optimistic types merge
8048505: ScriptingFunctions.readFully couldn't handle file names represented as ConsStrings
8048586: String concatenation with optimistic types is slow
8048718: JSON.parse('{"0":0, "64":0}') throws ArrayindexOutOfBoundsException
8048869: Reduce compile time by about 5% by removing the Class.casts from the AST nodes
8049086: Minor API convenience functions on "Java" object
8049222: JSType class exposes public mutable arrays
8049223: RewriteException class exposes public mutable arrays
8049242: Explicit constructor overload selection should work with StaticClass as well
8049318: Test hideLocationProperties.js fails on Window due to backslash in path
8049524: Global object initialization via javax.script API should be minimal
8050432: javax.script.filename variable should not be enumerable with nashorn engine's ENGINE_SCOPE bindings
8050964: OptimisticTypesPersistence.java should use java.util.Date instead of java.sql.Date
8051019: Separate src and test execution sandbox directories
8051346: Test262 tests for ECMAScript 5 now in branch "es5-tests"
8051439: Wrong type calculated for ADD operator with undefined operand
8051839: GuardedInvocation needs to clone an argument
8053908: jdeps is not PATH on Mac, results in ant clean test failure on Mac
8053910: ScriptObjectMirror causing havoc with Invocation interface
8053913: Auto format caused warning in CompositeTypeBasedGuardingDynamicLinker
8054223: Nashorn: AssertionError when use __DIR__ and ScriptEngine.eval()
8054411: Add nashorn.args.prepend system property
8054503: test/script/external/test262/test/suite/ch12/12.6/12.6.4/12.6.4-2.js fails with tip
8054651: Global.initConstructor and ScriptFunction.getPrototype(Object) can have stricter types
8054898: Avoid creation of empty type info files
8054993: type info cache may be disabled for test262 and tests explicitly changing that property should use @fork
8055034: jjs exits interactive mode if exception was thrown when trying to print value of last evaluated expression
8055042: Compile-time expression evaluator was missing variables
8055107: Extension directives to turn on callsite profiling, tracing, AST print and other debug features locally
8055139: test/script/trusted/JDK-8055107.js fails with access control exception
8055186: Backport Nashorn optimistic typing to 8u repository
8055529: Clean up the bin directory

Co-authored-by: Hannes Wallnoefer <hannes.wallnoefer@oracle.com>
Co-authored-by: Sundararajan Athijegannathan <sundararajan.athijegannathan@oracle.com>
Reviewed-by: jlaskey, lagergren, sundar
2014-08-20 10:26:01 +02:00
Attila Szegedi 4f4ccbcf5a 8044638: Tidy up Nashorn codebase for code standards
8055199: Tidy up Nashorn codebase for code standards (August 2014)

Reviewed-by: lagergren, sundar
2014-08-20 10:25:28 +02:00
Athijegannathan Sundararajan ed77b324d4 8044695: __stack__ becomes visible in Error properties
Reviewed-by: jlaskey, attila, lagergren
2014-06-05 18:31:11 +05:30
Athijegannathan Sundararajan d975501839 8044750: megamorphic getter for scope objects does not call __noSuchProperty__ hook
Reviewed-by: attila, lagergren, hannesw
2014-06-04 16:39:04 +05:30
Athijegannathan Sundararajan 1d016edb4a 8044520: Nashorn cannot execute node.js's express module
Reviewed-by: hannesw, lagergren
2014-06-03 17:04:23 +05:30
Athijegannathan Sundararajan 49e9c27ce4 8044612: StringIndexOutOfBoundException in NativeRegExp.appendReplacement
Reviewed-by: hannesw, lagergren
2014-06-03 13:57:52 +05:30
Athijegannathan Sundararajan e57aa1bd4f 8043930: TypeError when attemping to create an instance of non-public class could be better
Reviewed-by: attila, lagergren
2014-05-26 15:48:25 +05:30
Hannes Wallnöfer 327cd9a82c 8030202: Nashorn: Multiple RegExp#ignoreCase issues
Reviewed-by: sundar, jlaskey
2014-05-22 17:51:56 +02:00
Matherey Nunez 81a76b4461 8033231: test fails with java.lang.UnsatisfiedLinkError
Reviewed-by: attila, sundar
2014-02-11 12:05:22 +01:00
Athijegannathan Sundararajan 0876fab0a9 8042364: Make __proto__ ES6 draft compliant
Reviewed-by: jlaskey, lagergren, attila
2014-05-06 17:54:15 +05:30
Hannes Wallnöfer 6b60ccc5bf 8041998: RegExp implementation is not thread-safe
Reviewed-by: lagergren, sundar, attila
2014-05-06 12:38:12 +02:00
Athijegannathan Sundararajan aaae71d494 8027933: Add --const-as-var option
Reviewed-by: jlaskey, hannesw
2014-05-02 19:15:59 +05:30
Hannes Wallnöfer 0a8f48eec9 8030200: Wrong result for Number.prototype.toString() for certain radix/inputs
Reviewed-by: sundar, jlaskey, lagergren
2014-04-14 17:45:05 +02:00
Hannes Wallnöfer 9c06c11dd8 8030199: Nashorn: Uint8ClampedArray - Incorrect ToUint8Clamp implementation
Reviewed-by: sundar, jlaskey, lagergren
2014-04-14 17:43:38 +02:00
Athijegannathan Sundararajan 0c91dc5efd 8039387: Nashorn supports indexed access of List elements, but length property is not supported
Reviewed-by: lagergren, jlaskey
2014-04-07 21:57:33 +05:30
Athijegannathan Sundararajan 6500c2dee9 8037562: Nashorn: JSON.parse comes up with nonexistent entries if there are gaps between the keys
Reviewed-by: jlaskey, hannesw
2014-03-21 20:24:01 +05:30
Athijegannathan Sundararajan 6ac2747dec 8015958: DataView constructor is not defined
Reviewed-by: attila, hannesw, lagergren
2014-03-13 15:58:24 +05:30
Hannes Wallnöfer 79e2b2ccc2 8034055: delete on global object not properly guarded
Reviewed-by: sundar, lagergren
2014-03-12 16:33:28 +01:00
Athijegannathan Sundararajan 9282c728f7 8030197: Nashorn: Object.defineProperty() can be lured to change fixed NaN property
Reviewed-by: attila, jlaskey
2014-02-25 18:56:10 +05:30
Athijegannathan Sundararajan 0779797c50 8011964: need indexed access to externally-managed ByteBuffer
Reviewed-by: lagergren, hannesw
2014-02-14 19:02:02 +05:30
Athijegannathan Sundararajan fd3ab56ffa 8032068: implement @sourceURL and #sourceURL directives
Reviewed-by: hannesw, lagergren
2014-01-20 19:51:54 +05:30
Athijegannathan Sundararajan e3ad537a45 8032004: instance property "message" of Error objects should be non-enumerable
Reviewed-by: hannesw, jlaskey
2014-01-16 22:50:53 +05:30
Athijegannathan Sundararajan b857da4609 8031983: Error objects should capture stack at the constructor
Reviewed-by: jlaskey, hannesw
2014-01-16 21:26:21 +05:30
Athijegannathan Sundararajan f4db62c8ee 8031715: Indexed access to java package not working
Reviewed-by: lagergren, hannesw
2014-01-15 14:51:49 +05:30
Athijegannathan Sundararajan 9744c4fe73 8031359: Invocable.getInterface() works incorrectly if interface has default methods
Reviewed-by: attila, hannesw
2014-01-09 19:23:34 +05:30
Athijegannathan Sundararajan 4454a9d00c 8031317: SyntaxError when property setter has no parameter
Reviewed-by: lagergren, hannesw
2014-01-08 17:51:47 +05:30
Hannes Wallnöfer d800aeefca 8029667: Prototype linking is incorrect
Reviewed-by: jlaskey, sundar
2014-01-07 14:16:23 +01:00
Athijegannathan Sundararajan fe109e8299 8030809: Anonymous functions should not be shown with internal names in script stack trace
Reviewed-by: lagergren, hannesw, jlaskey
2013-12-19 21:53:27 +05:30
Athijegannathan Sundararajan 8e42e2f555 8030182: scopeCall with -1 as line number
Reviewed-by: hannesw, jlaskey
2013-12-16 23:25:50 +05:30
Athijegannathan Sundararajan 37ba577620 8029364: NashornException to expose thrown object
Reviewed-by: lagergren, jlaskey
2013-12-02 18:19:26 +05:30
Attila Szegedi 6a1a07d5fa 8032681: Issues with Nashorn
Reviewed-by: ahgross, jlaskey, sundar
2014-01-30 20:14:29 +01:00
Marcus Lagergren 116f2c3752 8029780: "ant externals" broke our test harness with the latest version of the octane benchmarks
Reviewed-by: attila, sundar
2013-12-11 18:09:34 +01:00
Attila Szegedi fae02cf678 8029467: Widening of booleans causes bad results
Reviewed-by: jlaskey, lagergren
2013-12-09 10:52:05 +01:00
Marcus Lagergren 33e1b4929c 8028573: Line number nodes were off for while nodes and do while nodes - the line number of a loop node should be treated as the location of the test expression
Reviewed-by: attila, hannesw
2013-11-19 10:29:32 +01:00
Marcus Lagergren 508a088b4d 8028434: Line number nodes were off for while nodes and do while nodes - the line number of a loop node should be treated as the location of the test expression
Reviewed-by: jlaskey, sundar
2013-11-18 16:35:39 +01:00
Hannes Wallnöfer 701d25ad41 8028210: Missing conversions on array index expression
Reviewed-by: attila, jlaskey, lagergren
2013-11-16 00:23:46 +01:00
Attila Szegedi 193c892437 8028020: Function parameter as last expression in comma in return value causes bad type calculation
Reviewed-by: jlaskey, lagergren, sundar
2013-11-11 14:25:01 +01:00
Athijegannathan Sundararajan 9c0bfd337b 8027828: ClassCastException when converting return value of a Java method to boolean
Reviewed-by: jlaskey, attila
2013-11-07 17:26:46 +05:30
Athijegannathan Sundararajan 1a4300e042 8027753: Support ScriptObject to JSObject, ScriptObjectMirror, Map, Bindings auto-conversion as well as explicit wrap, unwrap
Reviewed-by: jlaskey, hannesw, attila
2013-11-04 18:52:22 +05:30
Attila Szegedi 5b69c36f31 8027236: Ensure ScriptObject and ConsString aren't visible to Java
Reviewed-by: lagergren, sundar
2013-11-01 15:36:33 +01:00
Athijegannathan Sundararajan 5f0dae04d0 8027700: function redeclaration checks missing for declaration binding instantiation
Reviewed-by: jlaskey, lagergren
2013-11-01 19:54:48 +05:30
Athijegannathan Sundararajan 79197a579a 8027562: eval should load second and subsequent arguments for side effect
Reviewed-by: jlaskey, lagergren
2013-10-30 20:09:44 +05:30
Hannes Wallnöfer eb1ac57404 8027042: Evaluation order for binary operators can be improved
Reviewed-by: lagergren, jlaskey, attila
2013-10-25 10:20:49 +02:00
Athijegannathan Sundararajan 88d33f9397 8027128: jdk.nashorn.api.scripting.JSObject should be an interface
Reviewed-by: hannesw, attila, jlaskey
2013-10-23 17:30:13 +05:30
Athijegannathan Sundararajan 2e2ed4da7b 8027024: String.prototype.charAt and charCodeAt do not evaluate 'self' and 'pos' arguments in right order
Reviewed-by: jlaskey, attila, lagergren
2013-10-22 17:38:12 +05:30
Hannes Wallnöfer 66d4cfc344 8026955: for-in should convert primitive values to object
Reviewed-by: jlaskey, lagergren
2013-10-22 11:31:03 +02:00
Hannes Wallnöfer 02f1c63a96 8027015: AutoCloseable no longer implements @FunctionalInterface
Reviewed-by: lagergren, sundar
2013-10-22 11:12:36 +02:00
Athijegannathan Sundararajan 4e089bf89f 8027016: Array.prototype.indexOf should return -1 when array is of length zero
Reviewed-by: lagergren, attila
2013-10-22 14:27:52 +05:30
Hannes Wallnöfer ec44b39357 8026858: Array length does not handle defined properties correctly
Reviewed-by: jlaskey
2013-10-18 22:42:41 +02:00
Hannes Wallnöfer e230ab93cf 8026805: Array.prototype.length doesn't work as expected
Reviewed-by: sundar, lagergren
2013-10-18 12:50:21 +02:00
Hannes Wallnöfer 51efcaca19 8026701: Array.prototype.splice is slow on dense arrays
Reviewed-by: lagergren, sundar, jlaskey
2013-10-17 17:33:16 +02:00
Attila Szegedi 58290e75b1 8026161: Don't narrow floating-point literals in the lexer
Reviewed-by: hannesw, jlaskey
2013-10-17 12:38:50 +02:00
Hannes Wallnöfer 98e95a2a05 8026693: getType() called on DISCARD node
Reviewed-by: sundar, lagergren
2013-10-16 10:15:55 +02:00
Hannes Wallnöfer 4b1800b556 8026692: eval() throws NullPointerException with --compile-only
Reviewed-by: sundar, lagergren
2013-10-16 10:12:22 +02:00
James Laskey 5fc60da189 8026498: Revert: latest runsunspider.js tests contains several bugs
Reviewed-by: sundar, hannesw
2013-10-15 13:14:04 -03:00
Hannes Wallnöfer 6dea2bf070 8026367: Add a sync keyword to mozilla_compat
Reviewed-by: sundar, attila, lagergren
2013-10-15 17:37:47 +02:00
Hannes Wallnöfer f6a5c28343 8026016: too many relinks dominate avatar.js http benchmark
Reviewed-by: sundar, jlaskey, attila
2013-10-14 11:45:15 +02:00
James Laskey 77fa728cc4 8026309: latest runsunspider.js tests contains several bugs
Reviewed-by: sundar, lagergren
2013-10-11 14:54:16 +02:00
Athijegannathan Sundararajan 49c0702260 8026317: $ in the function name results in wrong function being invoked
Reviewed-by: lagergren, jlaskey
2013-10-11 14:11:14 +02:00
Athijegannathan Sundararajan 93568dc4b4 8026302: source representation of getter and setter methods is wrong
Reviewed-by: lagergren, hannesw, jlaskey
2013-10-11 11:15:59 +02:00
Hannes Wallnöfer 0efd1ec560 8026292: Megamorphic setter fails with boolean value
Reviewed-by: jlaskey, sundar
2013-10-11 10:56:08 +02:00
Athijegannathan Sundararajan 47391b81c0 8026263: [NASHORN] Test test/script/basic/JDK-8025488.js fails in nightly builds
Reviewed-by: jlaskey
2013-10-11 06:50:06 +02:00
Athijegannathan Sundararajan b9a835c52c 8026264: Getter, setter function name mangling issues
Reviewed-by: lagergren, jlaskey
2013-10-10 21:43:35 +02:00
Athijegannathan Sundararajan c137ccf192 8026162: "this" in SAM adapter functions is wrong
Reviewed-by: jlaskey, hannesw
2013-10-10 14:43:22 +02:00
Athijegannathan Sundararajan c2db4022bf 8026248: importClass has to be a varargs function
Reviewed-by: jlaskey, hannesw
2013-10-10 13:17:57 +02:00
Athijegannathan Sundararajan b7eebfe780 8026167: Class cache/reuse of 'eval' scripts results in ClassCastException in some cases
Reviewed-by: lagergren, jlaskey
2013-10-10 11:48:56 +02:00
Marcus Lagergren 35d5f5765d 8026137: Fix Issues with Binary Evaluation Order
Co-authored-by: Attila Szegedi <attila.szegedi@oracle.com>
Reviewed-by: hannesw, jlaskey
2013-10-09 17:53:22 +02:00
Hannes Wallnöfer 1e868581be 8026008: Constant folding removes var statement
Reviewed-by: sundar, jlaskey
2013-10-09 14:50:39 +02:00
Athijegannathan Sundararajan bfdab50e81 8026125: Array.prototype.slice.call(Java.type("java.util.HashMap")) throws ClassCastException: jdk.internal.dynalink.beans.StaticClass cannot be cast to jdk.nashorn.internal.runtime.ScriptObject
Reviewed-by: hannesw, jlaskey
2013-10-09 13:26:23 +02:00
Athijegannathan Sundararajan 0f45589a8f 8026112: Function("with(x ? 1e81 : (x2.constructor = 0.1)){}") throws AssertionError: double is not compatible with object
Reviewed-by: lagergren, hannesw
2013-10-09 10:47:47 +02:00
Athijegannathan Sundararajan 0d1247801d 8026048: Function constructor should convert arguments to String before performing any syntax checks
Reviewed-by: jlaskey, hannesw
2013-10-08 16:46:03 +02:00
Hannes Wallnöfer 8011d24b07 8026042: FoldConstants need to guard against ArrayLiteralNode
Reviewed-by: jlaskey, sundar
2013-10-08 15:53:22 +02:00
Athijegannathan Sundararajan ba4818b152 8026033: Switch should load expression even when there are no cases in it
Reviewed-by: jlaskey, hannesw
2013-10-08 13:02:39 +02:00
Hannes Wallnöfer c4f493f508 8025213: Assignment marks variable as defined too early
Reviewed-by: jlaskey, lagergren, sundar
2013-10-08 11:55:19 +02:00
Athijegannathan Sundararajan 4183b8a64e 8025771: Enhance Nashorn Contexts
Reviewed-by: jlaskey, hannesw
2013-10-04 16:21:29 +05:30
Athijegannathan Sundararajan 1056c46d27 8025488: Error.captureStackTrace should not format error stack
Reviewed-by: hannesw, attila
2013-10-01 14:38:56 +05:30
Hannes Wallnöfer 409c2ccd49 8025589: Array.prototype.shift should only copy defined elements in generic mode
Reviewed-by: sundar, attila
2013-09-30 15:54:05 +02:00
Hannes Wallnöfer eb99702aad 8025520: Array.prototype.slice should only copy defined elements
Reviewed-by: sundar, lagergren
2013-09-27 17:00:37 +02:00
Hannes Wallnöfer b9971d37df 8025515: Performance issues with Source.getLine()
Reviewed-by: sundar, lagergren
2013-09-27 16:59:01 +02:00
Hannes Wallnöfer bd14ea3137 8025486: RegExp constructor arguments are not evaluated in right order
Reviewed-by: sundar
2013-09-26 11:47:24 +02:00
Hannes Wallnöfer 7001bd4f94 8025197: String replace method fails with regexp /$/gi
Reviewed-by: sundar
2013-09-26 10:14:24 +02:00
Hannes Wallnöfer 564d8f4025 8025434: RegExp lastIndex can exceed int range
Reviewed-by: lagergren, sundar
2013-09-25 16:37:56 +02:00
Athijegannathan Sundararajan 817cdf16bc 8025325: parseFloat does not handle '.' in exponent part
Reviewed-by: hannesw
2013-09-25 08:17:37 +05:30
Athijegannathan Sundararajan 4a45497ed6 8025312: parseInt should convert 'radix' argument to ToInt32 even if empty string is parsed
Reviewed-by: jlaskey, hannesw
2013-09-24 20:43:42 +05:30
Hannes Wallnöfer 8a393eac8c 8025163: Date methods should not return -0
Reviewed-by: lagergren, jlaskey
2013-09-21 10:11:15 +02:00
Athijegannathan Sundararajan d179ec2b6b 8025149: JSON.stringify does not handle 'space' argument as per the spec
Reviewed-by: jlaskey, hannesw
2013-09-20 22:37:08 +05:30
Athijegannathan Sundararajan 42d4c2e741 8025147: Trailing comma is not allowed in JSONArray and JSONObject
Reviewed-by: hannesw, jlaskey
2013-09-20 20:55:43 +05:30
Athijegannathan Sundararajan b6b06381da 8025111: undefined or null 'with' expression in empty with block should throw TypeError
Reviewed-by: lagergren, hannesw
2013-09-20 12:56:07 +05:30
Athijegannathan Sundararajan 247f43df94 8025090: 'while' statement with 'test' using var before being declared in body results in VerifyError
Reviewed-by: jlaskey
2013-09-19 23:48:37 +05:30
Athijegannathan Sundararajan d68fab7409 8025080: Object literal getter, setter function with number format property name results in ClassFormatError
Reviewed-by: lagergren, hannesw
2013-09-19 21:20:47 +05:30
Athijegannathan Sundararajan 77da4f4a41 8025048: true as case label results in ClassCastException
Reviewed-by: lagergren
2013-09-19 13:34:01 +05:30
Athijegannathan Sundararajan 406cffea6e 8024972: for (LeftHandSideExpression in Expression) crashes the compiler
Reviewed-by: lagergren, hannesw
2013-09-18 13:06:17 +05:30
Attila Szegedi 35a72600c9 8024846: keep separate internal arguments variable
Reviewed-by: lagergren, sundar
2013-09-16 14:44:20 +02:00
Athijegannathan Sundararajan 952b8f0d36 8024847: Java.to should accept mirror and external JSObjects as array-like objects as well
Reviewed-by: hannesw, attila, lagergren
2013-09-16 15:08:36 +05:30
Athijegannathan Sundararajan 0045b8bd09 8024619: JDBC java.sql.DriverManager is not usable from JS script
Reviewed-by: jlaskey, lagergren, attila
2013-09-13 16:45:11 +05:30
Athijegannathan Sundararajan 60b4bc0b5a 8024693: Various minor issues with JSONWriter used by script parser API
Reviewed-by: jlaskey, hannesw
2013-09-12 22:16:40 +05:30
Hannes Wallnöfer 4a06176db4 8024512: Regex /[^\[]/ doesn't match
Reviewed-by: jlaskey, sundar
2013-09-12 17:13:59 +02:00
Athijegannathan Sundararajan 67694e12b2 8024180: Incorrect handling of expression and parent scope in 'with' statements
Reviewed-by: jlaskey, hannesw
2013-09-09 20:10:41 +05:30
Athijegannathan Sundararajan 3b41324b70 8024255: When a keyword is used as object property name, the property can not be deleted
Reviewed-by: jlaskey, lagergren
2013-09-05 21:17:06 +05:30
Athijegannathan Sundararajan 6fa75fd4ae 8024174: Setting __proto__ property in Object literal should be supported
Reviewed-by: jlaskey, lagergren
2013-09-04 19:58:16 +05:30
Athijegannathan Sundararajan 65f19c786e 8024120: Setting __proto__ to null removes the __proto__ property
Reviewed-by: lagergren, attila
2013-09-04 14:29:07 +05:30
Athijegannathan Sundararajan 34aafa961f 8023784: Object.prototype.toString should contain the class name for all instances
Reviewed-by: lagergren, jlaskey
2013-08-27 18:57:50 +05:30
Attila Szegedi 516ee6ca6a 8023780: Gracefully handle @CS methods while binding bean properties
Reviewed-by: jlaskey, lagergren, sundar
2013-08-27 13:17:00 +02:00
Hannes Wallnöfer c8d2baed47 8023650: Regexp m flag does not recognize CRNL or CR
Reviewed-by: jlaskey, lagergren
2013-08-26 15:59:41 +02:00
James Laskey feb12df2ac 8019987: String trimRight and trimLeft could be defined
Reviewed-by: sundar
2013-08-23 12:20:19 -03:00
Attila Szegedi 6f5afdecbf 8023630: Implement Java.super() as the preferred way to call super methods
Reviewed-by: jlaskey, lagergren, sundar
2013-08-23 13:10:45 +02:00
Hannes Wallnöfer 2dd48af1ba 8023531: new RegExp('').toString() should return '/(?:)/'
Reviewed-by: sundar, jlaskey
2013-08-22 17:23:50 +02:00
Athijegannathan Sundararajan f08402dd57 8023551: Mirror functions can not be invoked using invokeMethod, invokeFunction
Reviewed-by: attila, jlaskey, lagergren
2013-08-22 18:46:26 +05:30
Athijegannathan Sundararajan 3a59c354d9 8023368: Instance __proto__ property should exist and be writable
Reviewed-by: attila, hannesw
2013-08-21 17:28:53 +05:30
Attila Szegedi 303b0f1780 8022903: Enhance for-in and for-each for Lists and Maps
Reviewed-by: lagergren, sundar
2013-08-21 13:39:40 +02:00
Attila Szegedi b1bab51463 8023373: allow super invocation for adapters
Reviewed-by: lagergren, sundar
2013-08-21 13:39:09 +02:00
Hannes Wallnöfer a1552db3ae 8019985: Date.parse("2000-01-01T00:00:00.Z") should return NaN
Reviewed-by: sundar, jlaskey
2013-08-16 13:42:44 +02:00
Athijegannathan Sundararajan d7e1bdda70 8020355: bind on built-in constructors don't use bound argument values
Reviewed-by: lagergren, hannesw
2013-08-16 15:04:36 +05:30
Athijegannathan Sundararajan 75149148e3 8023026: Array.prototype iterator functions like forEach, reduce should work for Java arrays, lists
Reviewed-by: jlaskey, lagergren
2013-08-14 20:51:53 +05:30
Athijegannathan Sundararajan 1c83c2a6ca 8022598: Object.getPrototypeOf should return null for host objects rather than throwing TypeError
Reviewed-by: lagergren, jlaskey, attila, hannesw
2013-08-12 18:16:28 +05:30
Hannes Wallnöfer c2e627d7f2 8022731: NativeArguments has wrong implementation of isMapped()
Reviewed-by: lagergren, jlaskey
2013-08-12 13:31:43 +02:00
Athijegannathan Sundararajan a2215722a2 8022524: Memory leaks in nashorn sources and tests found by jhat analysis
Reviewed-by: attila, hannesw
2013-08-08 16:38:32 +05:30
Hannes Wallnöfer c9429aa5a1 8020132: Big object literal with numerical keys exceeds method size
Reviewed-by: lagergren, sundar
2013-08-01 12:23:38 +02:00
Michael Horowitz 5bce0606af 8021321: Two runsunspider tests fail after updating sunspider to 1.0
Reviewed-by: jlaskey, sundar
2013-07-26 09:17:54 -03:00
Hannes Wallnöfer a218959d0c 8020719: Run tests with reduced splitter threshold
Reviewed-by: lagergren, sundar, jlaskey
2013-07-26 13:50:52 +02:00
Athijegannathan Sundararajan 27b2f43920 8021122: Not all callables are handled for toString and other function valued properties
Reviewed-by: attila, hannesw, jlaskey
2013-07-23 18:17:25 +05:30
Attila Szegedi f107468fd6 8020820: Limit access to static members of reflective classes
Reviewed-by: jlaskey, sundar
2013-07-18 16:47:45 +02:00
Hannes Wallnöfer bf8ed4fe82 8020356: ClassCastException Undefined->Scope on spiltter class generated for a large switch statement
Reviewed-by: jlaskey, attila
2013-07-17 18:20:40 +02:00
Attila Szegedi 36cb049cd5 8015356: array concatenation should skip empty elements
Reviewed-by: jlaskey, sundar
2013-07-16 17:03:30 +02:00
Attila Szegedi a4f27565d7 8020357: throw RangeError for too large NativeArrayBuffer size
Reviewed-by: jlaskey, hannesw, sundar
2013-07-16 15:28:33 +02:00
Hannes Wallnöfer d7aa718a42 8020358: Array(0xfffffff) throws OutOfMemoryError
Reviewed-by: jlaskey, sundar
2013-07-15 18:32:23 +02:00
Attila Szegedi 687fe4060c 8020508: Enforce reflection access restrictions on Object.bindProperties
Reviewed-by: jlaskey, sundar
2013-07-15 16:31:49 +02:00
Hannes Wallnöfer 4b0269cad7 8020354: Object literal property initialization is not done in source order
Reviewed-by: sundar, jlaskey
2013-07-15 15:51:06 +02:00
Attila Szegedi 30383a110f 8020324: Implement Object.bindProperties(target, source) for beans
Reviewed-by: hannesw, sundar
2013-07-15 12:33:48 +02:00
Athijegannathan Sundararajan ef064349fa 8020463: Input argument array wrapping in loadWithNewGlobal is wrong
Reviewed-by: attila, jlaskey
2013-07-12 20:06:41 +05:30
Attila Szegedi c084cc34ff 8019822: Duplicate name and signature in finally block
Reviewed-by: jlaskey, sundar
2013-07-12 11:58:42 +02:00
Athijegannathan Sundararajan cf924d87c1 8020223: ClassCastException: String can not be casted to ScriptFunction
Reviewed-by: attila, lagergren
2013-07-12 15:27:16 +05:30
Athijegannathan Sundararajan b00d887a3f 8020437: Wrong handling of line numbers with multiline string literals
Reviewed-by: attila, lagergren
2013-07-12 15:01:33 +05:30
Athijegannathan Sundararajan fe298edbc2 8012191: noSuchProperty can't cope with vararg functions
Reviewed-by: jlaskey, attila
2013-07-11 22:58:37 +05:30
Athijegannathan Sundararajan 3f9a1af516 8020380: __noSuchProperty__ defined in mozilla_compat.js script should be non-enumerable
Reviewed-by: jlaskey, hannesw, attila
2013-07-11 18:23:13 +05:30
Athijegannathan Sundararajan 5a4f0090b4 8020325: static property does not work on accessible, public classes
Reviewed-by: attila, hannesw, lagergren
2013-07-11 16:34:55 +05:30
Hannes Wallnöfer 04f83326fe 8016681: regex capture behaves differently than on V8
Reviewed-by: lagergren, sundar
2013-07-10 10:54:19 +02:00
Marcus Lagergren 9768aeb2a2 8020124: In the case of an eval switch, we might need explicit conversions of the tag store, as it was not known in the surrounding environment
Reviewed-by: sundar, jlaskey
2013-07-09 15:56:59 +02:00
Athijegannathan Sundararajan 0f2b5afed6 8014785: Ability to extend global instance by binding properties of another object
Reviewed-by: attila, hannesw, jlaskey, lagergren
2013-07-09 17:37:46 +05:30
Hannes Wallnöfer 017ad9ea83 8019963: empty char range in regex
Reviewed-by: jlaskey, sundar
2013-07-08 19:34:55 +02:00
Marcus Lagergren dfaa2689bd 8019983: Void returns combined with return with expression picked the wrong return type
Reviewed-by: sundar, jlaskey
2013-07-05 19:35:39 +02:00
Attila Szegedi b92c68729b 8019819: scope symbol didn't get a slot in certain cases
Reviewed-by: hannesw, jlaskey, lagergren, sundar
2013-07-05 15:10:47 +02:00
Hannes Wallnöfer 4f243bda24 8017084: Use spill properties for large object literals
Reviewed-by: lagergren, sundar
2013-07-05 14:36:54 +02:00
Athijegannathan Sundararajan f6a65631c4 8019947: inherited property invalidation does not work with two globals in same context
Reviewed-by: jlaskey, lagergren, hannesw, attila
2013-07-05 14:38:04 +05:30
Marcus Lagergren 7049721e76 Merge 2013-07-04 17:28:04 +02:00
Marcus Lagergren 844f46caa2 8019821: allInteger switches were confused by boolean cases, as they are a narrower type than int
Reviewed-by: sundar, hannesw
2013-07-04 17:27:33 +02:00
Attila Szegedi 3d52870f3f 8019809: return after break incorrectly sets the block as terminal
Reviewed-by: jlaskey, lagergren
2013-07-04 14:10:18 +02:00
Attila Szegedi 3f7d4928e8 8017768: allow dot as inner class name separator for Java.type
Reviewed-by: jlaskey, sundar
2013-07-03 18:10:12 +02:00
Athijegannathan Sundararajan ff3ef9ecbe 8019814: Add regression test for passing cases
Reviewed-by: jlaskey, lagergren
2013-07-03 19:20:29 +05:30
Marcus Lagergren 848aedfe09 8019811: Static calls - self referential functions needed a return type conversion if they were specialized, as they can't use the same mechanism as indy calls
Reviewed-by: sundar, jlaskey
2013-07-03 15:46:03 +02:00
Athijegannathan Sundararajan 3ac129eecb 8019805: for each (init; test; modify) is invalid
Reviewed-by: lagergren, jlaskey
2013-07-03 17:26:31 +05:30
Marcus Lagergren 02834e4afb 8019585: Sometimes a var declaration using itself in its init wasn't declared as canBeUndefined, causing erroneous bytecode
Reviewed-by: sundar, attila
2013-07-03 13:03:36 +02:00
Attila Szegedi edd7847948 8010946: AccessControl.doPrivileged is broken when called from js script
Reviewed-by: jlaskey, sundar
2013-07-03 12:39:28 +02:00
Athijegannathan Sundararajan 5f627c3f73 8019791: ~ is a unary operator
Reviewed-by: hannesw
2013-07-03 14:08:00 +05:30
Athijegannathan Sundararajan d524343202 8019783: typeof does not work properly for java methods and foreign objects
Reviewed-by: hannesw
2013-07-03 13:13:17 +05:30
Athijegannathan Sundararajan fbd20eb5a5 8019629: void operator should always evaluate to undefined
Reviewed-by: jlaskey
2013-07-03 00:08:45 +05:30
Marcus Lagergren ee66717b91 Merge 2013-07-02 15:01:38 +02:00
Marcus Lagergren e888c99eea 8017082: Long array literals were slightly broken
Reviewed-by: sundar, attila
2013-07-02 14:50:39 +02:00
Athijegannathan Sundararajan 747485156a 8019553: NPE on illegal l-value for increment and decrement
Reviewed-by: jlaskey, attila, lagergren
2013-07-02 18:00:15 +05:30
Marcus Lagergren 422a1a6e4f 8016667: Wrong bytecode when testing/setting due to null check shortcut checking against primitive too
Reviewed-by: jlaskey, sundar
2013-07-02 13:50:19 +02:00
Athijegannathan Sundararajan 817ab71e77 8019508: Comma handling in object literal parsing is wrong
Reviewed-by: hannesw
2013-07-01 23:36:40 +05:30
Athijegannathan Sundararajan bcf7f18a37 8019488: switch on literals result in NoSuchMethodError or VerifyError
Reviewed-by: hannesw
2013-07-01 19:52:07 +05:30
Athijegannathan Sundararajan afc55770aa 8019482: Number("0x0.0p0") should evaluate to NaN
Reviewed-by: lagergren
2013-07-01 17:21:09 +05:30
Athijegannathan Sundararajan 09fbdd43ec 8019478: Object.prototype.toString.call(/a/.exec("a")) === "[object Array]" should be true
Reviewed-by: hannesw
2013-07-01 14:15:07 +05:30
Athijegannathan Sundararajan 4a0c5773e8 8019473: Parser issues related to functions and blocks
Reviewed-by: lagergren
2013-07-01 12:38:01 +05:30
Athijegannathan Sundararajan e8d954092f 8019365: Error stack format
Reviewed-by: hannesw
2013-06-28 19:36:26 +05:30
Athijegannathan Sundararajan a32e6fdb56 8019226: line number not generated for first statement if it is on the same function declaration line
Reviewed-by: jlaskey, hannesw
2013-06-27 13:24:50 +05:30
Athijegannathan Sundararajan 10ead7dab6 8014781: support Error.captureStackTrace
Reviewed-by: jlaskey, hannesw
2013-06-26 19:42:17 +05:30
Athijegannathan Sundararajan dcd23b305b 8017950: error.stack should be a string rather than an array
Reviewed-by: hannesw, jlaskey
2013-06-26 16:36:13 +05:30
Athijegannathan Sundararajan e9d5123d37 8015969: Needs to enforce and document that global "context" and "engine" can't be modified when running via jsr223
Reviewed-by: hannesw, jlaskey
2013-06-25 17:31:19 +05:30
Athijegannathan Sundararajan 81d5a4107a 8015959: Can't call foreign constructor
Reviewed-by: jlaskey, hannesw
2013-06-24 19:06:01 +05:30
James Laskey 9fbabf6b05 8017448: JDK-8010732.js.EXPECTED truncated
Reviewed-by: sundar
2013-06-22 10:12:19 -03:00
James Laskey b963805954 8010732: BigDecimal, BigInteger and Long handling in nashorn
Reviewed-by: sundar
2013-06-21 14:34:00 -03:00
Athijegannathan Sundararajan f5460159e5 8017046: Cannot assign undefined to a function argument if the function uses arguments object
Reviewed-by: hannesw
2013-06-20 13:45:38 +05:30
Athijegannathan Sundararajan e4025899fa 8015347: Parsing issue with decodeURIComponent
Reviewed-by: jlaskey, hannesw
2013-06-19 21:07:59 +05:30
James Laskey 353aa488ce 8010697: DeletedArrayFilter seems to leak memory
Reviewed-by: hannesw, sundar
2013-06-19 09:10:49 -03:00
Athijegannathan Sundararajan 47eba2d2e0 8016550: nashorn.option.no.syntax.extensions has the wrong default
Reviewed-by: hannesw, lagergren
2013-06-17 13:56:05 +05:30
Athijegannathan Sundararajan 060dfe2898 8016618: script mirror object access should be improved
Reviewed-by: jlaskey, lagergren
2013-06-14 21:16:14 +05:30
Marcus Lagergren 96fbb88df3 8016235: Use in catch block that may not have been executed in try block caused illegal byte code to be generated
Reviewed-by: jlaskey, hannesw
2013-06-14 13:53:40 +02:00
Hannes Wallnöfer 7face9458c 8016542: String.prototype.replace called with function argument should not replace $ patterns
Reviewed-by: lagergren, jlaskey
2013-06-13 20:50:24 +02:00
Hannes Wallnöfer 5b154a5b4f 8016528: Hex code from escape() should be padded
Reviewed-by: jlaskey, lagergren
2013-06-13 15:26:49 +02:00
Hannes Wallnöfer dda2826464 8016518: Parsing of octal string escapes is broken
Reviewed-by: sundar, lagergren
2013-06-13 12:52:09 +02:00
Athijegannathan Sundararajan 16d0a965fa 8015355: Array.prototype functions don't honour non-writable length and / or index properties
Reviewed-by: lagergren, hannesw
2013-06-13 16:08:35 +05:30
Hannes Wallnöfer 3d767bca1b 8011893: JS Object builtin prototype is not thread safe
Reviewed-by: sundar, jlaskey
2013-06-12 16:41:38 +02:00
Athijegannathan Sundararajan bdb8adea29 8015357: a = []; a[0x7fffffff]=1; a.sort()[0] should evaluate to 1 instead of undefined
Reviewed-by: hannesw, lagergren
2013-06-11 13:09:43 +05:30