- 04 Nov, 2016 2 commits
-
-
verwaest authored
Parameters of a lazily parsed function used to be parsed eagerly, and parameter handling was split between Parser::ParseFunctionLiteral and ParseEagerFunctionBody, leading to inconsistencies. After this CL, we preparse (lazy parse) the parameters of lazily parsed functions. (For arrow functions, we cannot do that ofc.) This is needed for later features (PreParser with scope analysis). -- CL adapted from marja's https://codereview.chromium.org/2411793003/ BUG= Review-Url: https://codereview.chromium.org/2472063002 Cr-Commit-Position: refs/heads/master@{#40771}
-
neis authored
Instead of having a MODULE variable's index be 0 or 1, let it be the index of its cell. In this CL, we assign the indices but we continue to only use them to distinguish imports from exports. Actually using them to directly access the cells will be done in a later CL. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2460233003 Cr-Commit-Position: refs/heads/master@{#40752}
-
- 03 Nov, 2016 1 commit
-
-
verwaest authored
This turns the ZoneList with minimum 6 words overhead into a linked list through variables, using 2 words for the empty list. Additionally the average number of pointers per entry goes down to the optimal 1 per variable that's in a list. This does introduce 1 pointer unnecessary overhead for dynamic variables. If that becomes a problem we could distinguish between variables in lists and variables not in lists. We can distinguish them at construction-time. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2475433002 Cr-Commit-Position: refs/heads/master@{#40714}
-
- 20 Oct, 2016 1 commit
-
-
adamk authored
Move hole check logic from full-codegen into scope analysis, and store the "needs hole check" bit on VariableProxy. This makes it easy to re-use in any backend: it will be trivial to extend the use of this logic in, e.g., full-codegen variable stores. While changing the signatures of the variable loading/storing methods in Ignition, I took the liberty of replacing the verb "Visit" with "Build", since these are not part of AST visiting. BUG=v8:5460 Review-Url: https://chromiumcodereview.appspot.com/2411873004 Cr-Commit-Position: refs/heads/master@{#40479}
-
- 07 Oct, 2016 1 commit
-
-
adamk authored
Both bits of code were pointed out by our test coverage tools. R=gsathya@chromium.org Review-Url: https://codereview.chromium.org/2394403002 Cr-Commit-Position: refs/heads/master@{#40095}
-
- 23 Sep, 2016 1 commit
-
-
verwaest authored
Remove ARGUMENTS_VARIABLE and fix crankshaft to properly detect the arguments object and keep it alive when inlining .apply BUG= Review-Url: https://codereview.chromium.org/2367483003 Cr-Commit-Position: refs/heads/master@{#39670}
-
- 20 Sep, 2016 1 commit
-
-
heimbuef authored
This is some initial cleanup to keep /src clean. The AccountingAllocator is actually exclusively used by zones and this common subfolder makes that more clear. BUG=v8:5409 Review-Url: https://codereview.chromium.org/2344143003 Cr-Commit-Position: refs/heads/master@{#39558}
-
- 12 Sep, 2016 3 commits
-
-
neis authored
This adds partial support of exports to the runtime system and to the interpreter. It introduces a new HeapObject JSModule that maps each of the module's export names to a Cell containing the exported value. Several aspects of this implementation are subject to change in follow-up CLs. BUG=v8:1569 Committed: https://crrev.com/241a0412eed919395a2e163b30b9b66071ce5c17 Review-Url: https://codereview.chromium.org/2302783002 Cr-Original-Commit-Position: refs/heads/master@{#39341} Cr-Commit-Position: refs/heads/master@{#39352}
-
neis authored
Revert of [modules] Basic support of exports (patchset #10 id:180001 of https://codereview.chromium.org/2302783002/ ) Reason for revert: Failures related to deopt. Original issue's description: > [modules] Basic support of exports > > This adds partial support of exports to the runtime system and > to the interpreter. It introduces a new HeapObject JSModule that > maps each of the module's export names to a Cell containing the > exported value. > > Several aspects of this implementation are subject to change in > follow-up CLs. > > BUG=v8:1569 > > Committed: https://crrev.com/241a0412eed919395a2e163b30b9b66071ce5c17 > Cr-Commit-Position: refs/heads/master@{#39341} TBR=adamk@chromium.org,rmcilroy@chromium.org,ulan@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:1569 Review-Url: https://codereview.chromium.org/2328283002 Cr-Commit-Position: refs/heads/master@{#39345}
-
neis authored
This adds partial support of exports to the runtime system and to the interpreter. It introduces a new HeapObject JSModule that maps each of the module's export names to a Cell containing the exported value. Several aspects of this implementation are subject to change in follow-up CLs. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2302783002 Cr-Commit-Position: refs/heads/master@{#39341}
-
- 09 Sep, 2016 1 commit
-
-
marja authored
TBR=bmeurer@chromium.org BUG=v8:5294 Review-Url: https://codereview.chromium.org/2324783002 Cr-Commit-Position: refs/heads/master@{#39304}
-
- 07 Sep, 2016 1 commit
-
-
marja authored
This moves scope-related logic (such as looking up variables) to Scope where it belongs, and enables PreParser to do more Scope-related operations in the future. BUG= Review-Url: https://codereview.chromium.org/2301183003 Cr-Commit-Position: refs/heads/master@{#39233}
-
- 31 Aug, 2016 2 commits
-
-
adamk authored
The only remaining use of this VariableMode is for the names of sloppy named function expressions. This patch instead uses CONST for such bindings (just as we do in strict mode) and instead marks those Variables specially. During code generation a new helper method, Variable::throw_on_const_assignment(), is called to decide whether to throw or silently ignore the assignment. Review-Url: https://codereview.chromium.org/2233673003 Cr-Commit-Position: refs/heads/master@{#39052}
-
neis authored
This introduces a new heap object ModuleInfo, which is to ModuleDescriptor what ScopeInfo is to Scope. When deserializing a scope info that contains a module info, we deserialize the module info into a module descriptor and put it into the synthesized module scope. Currently, module infos only store exports. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2277253003 Cr-Commit-Position: refs/heads/master@{#39049}
-
- 29 Aug, 2016 2 commits
-
-
verwaest authored
This additionally gets rid of old approach to global shortcuts. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2287173002 Cr-Commit-Position: refs/heads/master@{#38980}
-
heimbuef authored
Used a BitField to for Variable fields instead of relying on the compiler, saving some memory probably. This reduces sizeof(Variable) from 64 to 40 on x64 BUG=v8:5209 Committed: https://crrev.com/955606506c256ea389d6c4a8e07babfea512d190 Review-Url: https://codereview.chromium.org/2257493002 Cr-Original-Commit-Position: refs/heads/master@{#38891} Cr-Commit-Position: refs/heads/master@{#38967}
-
- 26 Aug, 2016 1 commit
-
-
verwaest authored
This interleaves setting names and values in the scope info. It's a little messy since globals and locals are interleaved, but afaiu globals is going away. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2272293004 Cr-Commit-Position: refs/heads/master@{#38925}
-
- 25 Aug, 2016 1 commit
-
-
heimbuef authored
Used a BitField to for Variable fields instead of relying on the compiler, saving some memory probably. This reduces sizeof(Variable) from 64 to 40 on x64 BUG=v8:5209 Review-Url: https://codereview.chromium.org/2257493002 Cr-Commit-Position: refs/heads/master@{#38891}
-
- 19 Aug, 2016 1 commit
-
-
neis authored
R=adamk@chromium.org, verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2263523002 Cr-Commit-Position: refs/heads/master@{#38755}
-
- 16 Aug, 2016 3 commits
-
-
hablich authored
Revert of Better pack fields in Variable (patchset #1 id:1 of https://codereview.chromium.org/2253513002/ ) Reason for revert: Revert: Breaks ARM build: https://uberchromegw.corp.google.com/i/client.v8.ports/builders/V8%20Arm%20-%20builder/builds/2999 Original issue's description: > Better pack fields in Variable > > This reduces sizeof(Variable) from 64 to 40 on x64 > > BUG=v8:5209 > > Committed: https://crrev.com/d84343568047c8621a6b8f88f20a7f34586321b8 > Cr-Commit-Position: refs/heads/master@{#38659} TBR=marja@chromium.org,jkummerow@chromium.org,verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5209 Review-Url: https://codereview.chromium.org/2249203002 Cr-Commit-Position: refs/heads/master@{#38666}
-
verwaest authored
This reduces sizeof(Variable) from 64 to 40 on x64 BUG=v8:5209 Review-Url: https://codereview.chromium.org/2253513002 Cr-Commit-Position: refs/heads/master@{#38659}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2253503002 Cr-Commit-Position: refs/heads/master@{#38656}
-
- 15 Aug, 2016 1 commit
-
-
rmcilroy authored
Removes Variable::is_possibly_eval() and instead stores whether a call is possibly eval in the Call node's bitfield. Also removes HandleDereferenceMode since it's no longer used. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2242583003 Cr-Commit-Position: refs/heads/master@{#38633}
-
- 12 Aug, 2016 1 commit
-
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2231813003 Cr-Commit-Position: refs/heads/master@{#38599}
-
- 11 Aug, 2016 1 commit
-
-
neis authored
R=adamk@chromium.org BUG= Review-Url: https://codereview.chromium.org/2232343002 Cr-Commit-Position: refs/heads/master@{#38589}
-
- 10 Aug, 2016 1 commit
-
-
rmcilroy authored
Updates a number of AST operations to avoid dereferencing handles such that they can safely be called off-thread. Also adds a HandleDereferenceMode argument to some operations where handles are compared. If handle dereferencing is allowed, the handles are compared directly, if not then their locations are compared (which relies on the handles being created in a CanonicalHandleScope). BUG=v8:5203 TBR=adamk@chromium.org Review-Url: https://codereview.chromium.org/2223523002 Cr-Commit-Position: refs/heads/master@{#38526}
-
- 20 Jun, 2016 1 commit
-
-
adamk authored
Runtime_DeclareLookupSlot is used when generating code for var and function declarations originating in an eval. Over time, it's accumulated quite a bit of cruft, which this CL removes: - With legacy const gone, lookup slots never have any property attributes. - There was a bit signaling that the variable was from an eval, but that was redundant since DeclareLookupSlot is only used for eval. - Some Proxy-related code didn't make sense here. Its name was also not terribly clear: while "LookupSlot" is used in several places, this particular function is only used for declaring variables and functions inside sloppy eval. Renamed (and split into two) to make this clear for future archeologists. Also added various DCHECKs to check the assumptions being made. Review-Url: https://codereview.chromium.org/2061173002 Cr-Commit-Position: refs/heads/master@{#37111}
-
- 18 Feb, 2016 1 commit
-
-
adamk authored
This frees up one bit in FunctionKind, which I plan to make slightly more syntactic info about functions available in SharedFunctionInfo (needed for ES2015 Function.name support). BUG=v8:3956, v8:4760 LOG=n Review URL: https://codereview.chromium.org/1704223002 Cr-Commit-Position: refs/heads/master@{#34125}
-
- 08 Jan, 2016 1 commit
-
-
nikolaos authored
This patch introduces a mechanism for changing the scope of temporary variables, which is necessary for rewriting arrow parameter initializers. It also fixes a potential bug in AstExpressionVisitor, which did not visit the automatically generated members of ForEachStatement. Fixes test/mjsunit/harmony/regress/regress-4658.js R=rossberg@chromium.org BUG=v8:4658 LOG=N Review URL: https://codereview.chromium.org/1564343002 Cr-Commit-Position: refs/heads/master@{#33183}
-
- 26 Nov, 2015 1 commit
-
-
rossberg authored
Moves all files related to AST and scopes into ast/, and all files related to scanner & parser to parsing/. Also eliminates a couple of spurious dependencies. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1481613002 Cr-Commit-Position: refs/heads/master@{#32351}
-
- 12 Oct, 2015 1 commit
-
-
littledan authored
Previously, name conflicts between var and let declarations were only made into exceptions if they were visible at parse-time. This patch adds runtime checks so that sloppy-mode direct eval can't introduce conflicting var declarations. The change is implemented by traversing the scope chain when a direct eval introduces a var declaration to look for conflicting let declarations, up to the function boundary. BUG=v8:4454 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1382513003 Cr-Commit-Position: refs/heads/master@{#31211}
-
- 30 Sep, 2015 1 commit
-
-
mstarzinger authored
This enables linter checking for "readability/namespace" violations during presubmit and instead marks the few known exceptions that we allow explicitly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1371083003 Cr-Commit-Position: refs/heads/master@{#31019}
-
- 04 Aug, 2015 1 commit
-
-
rossberg authored
They need to be properly recorded in the scope's temps set, otherwise allocation doesn't know about them and can break. (Not observable right now, but necessary for follow-up changes to parameter destructuring.) Also, print temporary variables in a useful manner. R=adamk@chromium.org BUG= Review URL: https://codereview.chromium.org/1263563002 Cr-Commit-Position: refs/heads/master@{#29998}
-
- 06 Jul, 2015 1 commit
-
-
ishell authored
Review URL: https://codereview.chromium.org/1218783005 Cr-Commit-Position: refs/heads/master@{#29498}
-
- 12 Jun, 2015 5 commits
-
-
wingo authored
This is a reapplication of https://codereview.chromium.org/1173333004. R=rossberg@chromium.org LOG=N BUG=498811 Review URL: https://codereview.chromium.org/1178903003 Cr-Commit-Position: refs/heads/master@{#28998}
-
wingo authored
Revert of Add script context with context-allocated "const this" (patchset #2 id:20001 of https://codereview.chromium.org/1173333004/) Reason for revert: nosnap failure Original issue's description: > Add script context with context-allocated "const this" > > This is a reapplication of https://codereview.chromium.org/1179893002/. > > R=rossberg@chromium.org,mstarzinger@chromium.org > LOG=N > BUG=498811 > > Committed: https://crrev.com/cfc764f4050edc74aef92daa4c39ccc113893968 > Cr-Commit-Position: refs/heads/master@{#28994} TBR=mstarzinger@chromium.org,rossberg@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=498811 Review URL: https://codereview.chromium.org/1177903004 Cr-Commit-Position: refs/heads/master@{#28996}
-
wingo authored
This is a reapplication of https://codereview.chromium.org/1179893002/. R=rossberg@chromium.org,mstarzinger@chromium.org LOG=N BUG=498811 Review URL: https://codereview.chromium.org/1173333004 Cr-Commit-Position: refs/heads/master@{#28994}
-
machenbach authored
Revert of Add script context with context-allocated "const this" (patchset #7 id:120001 of https://codereview.chromium.org/1179893002/) Reason for revert: [Sheriff] Breaks gc mole: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gcmole/builds/2435 Original issue's description: > Add script context with context-allocated "const this" > > R=rossberg@chromium.org > LOG=N > BUG=498811 > > Committed: https://crrev.com/fa32d461c16a053cc6d48d3fb326016bc2765765 > Cr-Commit-Position: refs/heads/master@{#28988} TBR=rossberg@chromium.org,mstarzinger@chromium.org,wingo@igalia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=498811 Review URL: https://codereview.chromium.org/1180043004 Cr-Commit-Position: refs/heads/master@{#28992}
-
wingo authored
R=rossberg@chromium.org LOG=N BUG=498811 Review URL: https://codereview.chromium.org/1179893002 Cr-Commit-Position: refs/heads/master@{#28988}
-
- 02 Jun, 2015 1 commit
-
-
arv authored
This splits the SuperReference AST node into SuperPropertyReference and SuperCallReference. The super call reference node consists of three unresolved vars to this, new.target and this_function. These gets declared when the right function is entered and if it is in use. The variables gets assigned in FullCodeGenerator::Generate. This is a revert of the revert 88b1c917 BUG=v8:3768 LOG=N R=wingo@igalia.com, adamk@chromium.org Review URL: https://codereview.chromium.org/1168513004 Cr-Commit-Position: refs/heads/master@{#28769}
-