Commit Graph

658 Commits

Author SHA1 Message Date
Nikolai Tillmann
9c5fc8474f Serialize properties of bound functions.
Properly handle length of bound and unbound functions.
2017-04-26 09:50:37 -07:00
Douglas Rew
0f1e11a3e0 Resolving merge conflict
Resolving merge conflict
2017-04-26 09:10:29 -07:00
Douglas Rew
c376aee5c3 Merge branch 'master' into T17031332
# Conflicts:
#	src/serializer/serializer.js
2017-04-26 09:07:37 -07:00
Douglas Rew
26c92f7840 Updated logic to trigger generation of the wrapper function
If "VariableDeclaration and FunctionDeclaration" are present while
serialization, we will generate a wrapper function.
2017-04-26 09:06:14 -07:00
Vladimir Matveev
e2a45e6e6b Fix for 342: Correctly preserve console.log, console.warn, console.error (#455)
fix 342 - Correctly preserve console.log, console.warn, console.error
2017-04-25 21:00:10 -07:00
Sebastian Markbåge
73bd36eee0 Give intrinsic names to built-in Symbols (#459)
Since these need referential identity.
2017-04-25 18:11:59 -07:00
Nikolai Tillmann
ffecca7e6d Adding semicolon 2017-04-25 17:33:19 -07:00
Nikolai Tillmann
ab51aa2b5e Fixing code generation. 2017-04-25 17:33:19 -07:00
Nikolai Tillmann
fb9272da50 Add unique suffix for identifiers created in test runs, and remove those strings before comparing generated code in order to reliably detect fixed point. 2017-04-25 17:33:19 -07:00
Nikolai Tillmann
9eb0541814 Skip generating ids which are already used by the program. 2017-04-25 17:33:19 -07:00
Nikolai Tillmann
53e431cbc0 Dealing non-identifier global properties. 2017-04-25 17:33:19 -07:00
Nikolai Tillmann
3cd6e223c5 Don't create a fresh object for function prototypes. 2017-04-25 17:32:07 -07:00
Douglas Rew
e229c4b5c4 Adding in unit tests
1. Avoid Id leaks in global scope
2. Avoid unnecessary wrapped functions
2017-04-24 17:07:51 -07:00
Nikolai Tillmann
e4f4568d80 Always generate proper parameter names for factory functions. 2017-04-24 13:03:54 -07:00
Douglas Rew
dbd0a7bd95 Issue 343 : Avoid generation of wrapper function when no local scope is needed
Avoid generation of wrapper function when no local scope is needed
2017-04-24 10:06:40 -07:00
Herman Venter
393a47a975 Fix Date.UTC (#442)
* Count timeouts as success

* Fix Date constructor
2017-04-21 17:14:39 -07:00
Srijit Dutt
23c364dbc2 Adding memoization for Number 2017-04-21 16:43:41 -07:00
Srijit Dutt
0275271500 Memomize reference for global properties like RegExp, Symbol and Proxy 2017-04-21 16:43:41 -07:00
Nikolai Tillmann
9e9525983a Rename compatibility option "jsc" to something more specific: "jsc-600-1-4-17"
Remove dubious "global=this" line.
2017-04-21 16:20:41 -07:00
Herman Venter
034783e8d5 Count timeouts as success (#441) 2017-04-21 15:57:04 -07:00
Nikolai Tillmann
ae84805cf4 Adding separate "name spaces" for different kinds of ids
Providing more useful names when debugNames is enabled.
2017-04-21 13:39:30 -07:00
Nikolai Tillmann
2a584d5557 - add option to log hierarchy of require() dependencies
- add ability to tracer to wrap around / detour a call
- use that feature to delay require() calls that trigger unsupported operations
- adding tests
2017-04-21 13:39:13 -07:00
Romain
c4a5d1e0cd Updated the behavior of the if statement (#438)
* Updated the behavior of the if statement

Behavior now matches specification

* Addressed comments

* Fixed lint issues
2017-04-20 17:02:27 -07:00
Herman Venter
1a19c3dd25 Enable more tests for arguments object (#435)
* Enable more tests for arguments object

* Update test262-runner.js
2017-04-20 13:21:42 -07:00
Nikolai Tillmann
1a7cef4495 Adding option --logStatistics to log serializer statistics. 2017-04-20 12:36:16 -07:00
Herman Venter
ec6b300f34 Fix arguments object to deal with duplicate parameter names (#433) 2017-04-20 11:16:55 -07:00
Herman Venter
cb03e67ad6 Do not introduce new block scopes for eval scripts (#432)
* Do not introduce new block scopes for eval scripts

* Update function.js
2017-04-20 10:35:38 -07:00
Sahand Saba
23cf72202b Fix serializer crash on abstract array lengths (#429)
* Handle abstract array lengths differently

* Emit numeric literals for array indices

* Add test cases for abstract array length

* Remove IsArray check for numeric indices

* Fix flow type errors
2017-04-20 09:31:40 -07:00
Herman Venter
3d7e2c9766 Disable more tests that we do not expect to pass right now (#430)
* Disable more tests that we do not expect to pass right now

* Update circle.yml
2017-04-19 17:33:54 -07:00
Christopher Blappert
0112cb0055 singlePass, debugNames options and cleanup of command line flags (#421)
* singlePass, debugNames options and cleanup of command line flags

* Bugfix - boolean options were being set incorrectly

* Accidentally committed debug logging, removing that

* Responding to comments

* Responding to more comments
2017-04-19 13:52:30 -07:00
Nikolai Tillmann
e3af9a6084 Removing another redundant section. 2017-04-19 13:37:15 -07:00
Nikolai Tillmann
a9ae897b09 Updating README file
- Removing redundant information that's more nicely presented in gh-pages
- Adding information about how to edit/update gh-pages
2017-04-19 13:37:15 -07:00
Nikolai Tillmann
702210f0fd Captured variables
that are referenced by residual functions
and that possibly hold objects
need to be treated as locations, not values that can be re-created on-the-fly,
as the object identity may be observed.

Added regression test.
2017-04-18 17:41:46 -07:00
Nikolai Tillmann
97ee0ea0a2 Removing dead code. 2017-04-18 17:38:14 -07:00
Nikolai Tillmann
23d67cfd2a After manually reviewing all possible behaviors of StrictEqualityComparison,
I conclude that it will never execute user code, throw an exception, or trigger any other side effects.
Therefore, we can always allow === and !== as abstract operations.

Adding test case.
2017-04-18 17:38:14 -07:00
Christopher Blappert
5238bb888a Fixing invariant (#420) 2017-04-18 15:58:31 -07:00
Herman Venter
3741443dd3 Break completions for switch (#423) 2017-04-18 15:56:18 -07:00
Herman Venter
90b04fc703 Fix unlabelled break (#419) 2017-04-18 13:57:23 -07:00
Herman Venter
a3a91c738e Fail tests that let non throw abrupt completions escape (#418) 2017-04-18 10:24:45 -07:00
Herman Venter
0bdd50ae05 Fix includesValueNotOfType (#417) 2017-04-17 19:19:38 -07:00
Herman Venter
fb14d00846 Join new properties with empty rather than undefined (#414) 2017-04-17 14:32:18 -07:00
Nikolai Tillmann
f99e4b4a75 Fix recent regression that broken cycle breaking in the presence of conditional deletion. 2017-04-17 10:49:31 -07:00
Herman Venter
c3a0bfed32 Always use undefined to mark internal property as missing (#401)
* Always use undefined to mark internal property as missing

* Update ObjectProto_toString.js
2017-04-17 10:36:36 -07:00
Christopher Blappert
67727b0398 Added checking of flow profile output to detect_bad_deps (#409) 2017-04-17 10:31:06 -07:00
Sahand Saba
22059659d8 Check if tests are finished at the end (#407)
The result of the very last test is currently ignored. In particular, if
a single test is ever run, the output always shows 0/0 success.
2017-04-14 17:06:07 -07:00
Herman Venter
674052c7ee Special case non array objects with Array.prototype as prototype (#408) 2017-04-14 15:50:20 -07:00
Herman Venter
a485b2531f Special case serialization of Number objects (#406) 2017-04-14 15:49:32 -07:00
Christopher Blappert
1ef90a22e9 Break ecma deps (#400)
* Refactor realm constructor

* Refactor types.js to not depend on methods/

* Fix errors, add verifier to prevent cycles

* Fixed comments

* Fixing tests

* Fix merge bug
2017-04-14 15:09:34 -07:00
Nikolai Tillmann
5a8113463c Also fixing issue where array elements that are accessor properties didn't get serialized properly. 2017-04-14 11:02:26 -07:00
Nikolai Tillmann
079a4a48d4 Fixing Lint issue. 2017-04-14 11:02:26 -07:00