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
Nikolai Tillmann
936ab0ca4a
We didn't generate the right code for conditionally deleted properties.
...
This fixes the issue by checking for __empty, and then issuing delete statements.
Added tests for objects, arrays, and other properties (in particular on functions).
2017-04-14 11:02:26 -07:00