Michael Ferris
|
cf71a962c1
Merge 1809 October Update changes
|
7 jaren geleden |
Curtis Man
|
0353d20b74
Reduced memory usage by management of keeping alive property record referenced by function body.
|
7 jaren geleden |
Curtis Man
|
e4c1bd449b
[MERGE #4969 @curtisman] Parser Refactor: Use different ParseNode kind for knopStr and knopName and enforce child node type for some operations
|
8 jaren geleden |
Rajat Dua
|
d64753a958
Fixing build after merging 1804 changes
|
8 jaren geleden |
Rajat Dua
|
b323504aaf
[1.9>master] [1.8>1.9] [MERGE #4963 @rajatd] ChakraCore 2018-04 security updates
|
8 jaren geleden |
Curtis Man
|
ad53e643d7
Parser Refactor: Use different ParseNode kind for knopStr and knopName and enforce child node type for some operations
|
8 jaren geleden |
Curtis Man
|
2f37655c3f
Parser refactor: Even more use stronger type instead of casting from ParseNode
|
8 jaren geleden |
Paul Leathers
|
26371402f1
[CVE-2018-0979] Incorrect byte code can cause dereference of uninitialized stack location - Internal
|
8 jaren geleden |
Curtis Man
|
a4058ce9b6
Parser refactor: More use stronger type instead of casting from ParseNode
|
8 jaren geleden |
Curtis Man
|
39ee407eda
Parser refactor: First pass to use stronger type instead of casting from ParseNode
|
8 jaren geleden |
Curtis Man
|
a73606e94e
Convert parse node to class hierarchy
|
8 jaren geleden |
Rajat Dua
|
39f5e65854
Only emit profiled argouts if we're going to profile the corresponding call
|
8 jaren geleden |
Taylor Woll
|
b8f90fb138
Load 'this' value in global function and global lambda into a special register
|
8 jaren geleden |
Taylor Woll
|
9808180d15
Do not create 'this' binding for lambda functions, even at global scope
|
8 jaren geleden |
Paul Leathers
|
1330a773c5
[CVE-2017-11807] Prevent redeferral of functions for which we are generating byte code. The FuncInfo holds a reference to the FunctionBody, and redeferral will clean up the FunctionBody and any entry points that have been created for it, as well as pointing the FunctionInfo to a new proxy. Restore the (re-)deferral attribute on candidate functions when the ByteCodeGenerator instance is being destroyed. Also make sure that disabling the CanDefer attribute doesn't prevent generation of scope info we will need if we redefer later.
|
8 jaren geleden |
Taylor Woll
|
a4a96589c5
Fix split-scope special symbol access via scope-slot
|
8 jaren geleden |
Taylor Woll
|
be9bcf2388
Binding for special named properties
|
8 jaren geleden |
Aneesh Divakarakurup
|
e41b46049a
Handle strict mode in console scope
|
8 jaren geleden |
Aneesh Divakarakurup
|
27d6b57366
[2.0>master] [1.4>2.0] [MERGE #2723 @aneeshdk] Enabling eval in param scope
|
9 jaren geleden |
Aneesh Divakarakurup
|
08dc260232
Enabling eval in param scope
|
9 jaren geleden |
Paul Leathers
|
61cafb86d8
Defer functions enclosed in all contexts. Support deferral of functions enclosed in scopes other than function body and function expression scope -- in particular, ES6-style lexical scopes and parameter scopes. This requires changing ScopeInfo so that it is associated with a single scope rather than a function body. Instead of carrying per-function information for body/var scope, parameter scope, and function expression scope, ScopeInfo will describe one scope, with a value identifying the scope type, a pointer to the FunctionInfo that contains it, and a pointer to the enclosing ScopeInfo.. A FunctionProxy will point to the ScopeInfo that is the nearest enclosing scope. At parse time, we will reconstitute the closure environment by walking the list of enclosing ScopeInfo's. The code that allowed redeferral to work around the context limitation of deferring parsing is deleted, and the OptimizeBlockScope feature is off by default, as it doesn't play well with this new logic and isn't required to make (re-)deferral effective. (We will want to revisit it.)
|
9 jaren geleden |
Paul Leathers
|
a384d2e3a3
Redefer function bodies that are not currently being executed and are
|
9 jaren geleden |
Suwei Chen
|
ad5c75f815
ES6 LdSuper Overhaul
|
9 jaren geleden |
Curtis Man
|
226a96e8c0
[1.2>master] Merge remaining code changes from internal RS1 branch
|
9 jaren geleden |
Curtis Man
|
898582f13b
Merge remaining code changes from internal RS1 branch
|
9 jaren geleden |
Paul Leathers
|
cf2be31e16
Precise closure-capture of local variables in the presence of deferred
|
9 jaren geleden |
Paul Leathers
|
defdee0560
Remove ParserBind phase switch and related dead code. The redeferral work makes this path too much of a headache to maintain, so we should cut it loose now.
|
9 jaren geleden |
Oguz Bastemur
|
bcdd9ddf2b
cross platform: replace long to int32
|
9 jaren geleden |
Hitesh Kanwathirtha
|
33a6f43792
Merge branch 'master' into linux_m2
|
9 jaren geleden |
Gonzo
|
a31c7a3007
cross platform: fix stack overflow (ulong)
|
9 jaren geleden |