- 25 Aug, 2015 1 commit
-
-
adamk authored
Make ObjectLiteral::is_simple() false for literals containing computed property names, which causes IsCompileTimeValue() to return false and thus force code to be generated for setting up such properties. This mirrors the handling of '__proto__' in literals. BUG=v8:4387 LOG=y Review URL: https://codereview.chromium.org/1307943007 Cr-Commit-Position: refs/heads/master@{#30362}
-
- 08 Aug, 2015 1 commit
-
-
jkummerow authored
Use a hash map instead of a list for faster lookups. BUG=chromium:517406 LOG=n R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1279763006 Cr-Commit-Position: refs/heads/master@{#30078}
-
- 16 Jul, 2015 1 commit
-
-
mstarzinger authored
This makes the implicit initializing assignment to 'this' performed after a super constructor call explicit in the AST. It removes the need to handle the special case where a CallExpression behaves like a AssignmentExpression from various AstVisitor implementations. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1226123010 Cr-Commit-Position: refs/heads/master@{#29705}
-
- 15 Jul, 2015 1 commit
-
-
adamk authored
During parsing, we now keep track of the first spread seen in an array literal (if any), and make use of that information when creating the FixedArray backing store representing the constant elements for array literal materialization. The old code tried to do this by setting the generated JSArray's length in ArrayLiteral::BuildConstantElements(), but that Array length is never read by the rest of the literal materialization code (it always uses the length of the FixedArray backing store). BUG=v8:4298 LOG=n Review URL: https://codereview.chromium.org/1225223004 Cr-Commit-Position: refs/heads/master@{#29684}
-
- 13 Jul, 2015 1 commit
-
-
ishell authored
Loads and stores to global vars are now made via property cell shortcuts installed into parent script context. This CL also adds hydrogen stubs for global loads and global stores, full-codegen and TurboFan now uses this machinery. Review URL: https://codereview.chromium.org/1224793002 Cr-Commit-Position: refs/heads/master@{#29592}
-
- 06 Jul, 2015 1 commit
-
-
ishell authored
Review URL: https://codereview.chromium.org/1218783005 Cr-Commit-Position: refs/heads/master@{#29498}
-
- 26 Jun, 2015 1 commit
-
-
oth authored
v8 builds with --no-snap were hitting handle limits compiling natives for handle count unit tests that run with --check_handle_count. Patch now has higher handle limits (~4k more than required for failing natives compilation). Original issue: https://codereview.chromium.org/1185633002/ Original issue's description: > Additional HandleScopes to limit Handle consumption. > > erikcorry@chromium.org suggested digging into v8 handle usage. Found potential scopes in ast.cc and runtime-literals.cc and added tests. > > The runtime-literals.cc change reduces peak handles in imaging-darkroom.js from 1,282,610 to 428,218. The ast.cc change reduces the peak handles in string-t agcloud.js from 80,738 to 8,176. > > No significant handle count issues found with major websites, but substantial savings on some benchmarks and demos: > > Kraken's imaging-darkroom.js down from 1,282,610 to 428,218 due to runtime-literals.cc scope. > SunSpider's string-tagcloud.js down from 80,738 to 8.176 due to ast.cc > > http://www.flohofwoe.net/demos/dragons_asmjs.html (738,906 -> 478,296) > http://www.flohofwoe.net/demos/instancing_asmjs.html (737,884 -> 477,274) > https://dl.dropboxusercontent.com/u/16662598/Ports/DOSBox-web/doom.html?engine=dosbox-growth.js (1,724,114 -> 1,087,408) > https://kripken.github.io/ammo.js/examples/new/ammo.html (175,784 -> 142,058) > > BUG= > > Committed: https://crrev.com/3a4c7538839186aa38910c66c986abb563f4ccd2 > Cr-Commit-Position: refs/heads/master@{#29155} BUG= Review URL: https://codereview.chromium.org/1192743005 Cr-Commit-Position: refs/heads/master@{#29322}
-
- 25 Jun, 2015 3 commits
-
-
yangguo authored
BUG=v8:4132 LOG=N Review URL: https://codereview.chromium.org/1211803002 Cr-Commit-Position: refs/heads/master@{#29291}
-
yangguo authored
Revert of Reland "Keep a canonical list of shared function infos." (patchset #3 id:40001 of https://codereview.chromium.org/1211453002/) Reason for revert: proxies test failing https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/903/steps/Mjsunit/logs/proxies Original issue's description: > Reland "Keep a canonical list of shared function infos." > > This reverts commit 3164aa74. > > Committed: https://crrev.com/cacb646d80daa429f6915824a741f595db7d5044 > Cr-Commit-Position: refs/heads/master@{#29282} TBR=adamk@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1206263002 Cr-Commit-Position: refs/heads/master@{#29285}
-
yangguo authored
This reverts commit 3164aa74. Review URL: https://codereview.chromium.org/1211453002 Cr-Commit-Position: refs/heads/master@{#29282}
-
- 23 Jun, 2015 2 commits
-
-
adamk authored
Speculative revert in the hopes of fixing serializer crashes seen in canary. This reverts commit c1669450, as well as followup change "Do not look for existing shared function info when compiling a new script." (commit 7c43967b). BUG=chromium:503552,v8:4132 TBR=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1207583002 Cr-Commit-Position: refs/heads/master@{#29241}
-
verwaest authored
BUG=v8:4137 LOG=n Review URL: https://codereview.chromium.org/1197133003 Cr-Commit-Position: refs/heads/master@{#29222}
-
- 22 Jun, 2015 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1194943004 Cr-Commit-Position: refs/heads/master@{#29180}
-
- 21 Jun, 2015 1 commit
-
-
mvstanton authored
Turbofan needs to pass vector slots around for named and keyed stores. Also, the CL addresses a missing slot for ClassLiterals. BUG= Review URL: https://codereview.chromium.org/1178363002 Cr-Commit-Position: refs/heads/master@{#29173}
-
- 19 Jun, 2015 4 commits
-
-
arv authored
Revert of Additional HandleScopes to limit Handle consumption. (patchset #4 id:50001 of https://codereview.chromium.org/1185633002/) Reason for revert: Fails the following test handle-count-ast handle-count-runtime-... on V8 Linux - nosnap - debug - 1 http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%201/builds/851/steps/Check/logs/stdio Original issue's description: > Additional HandleScopes to limit Handle consumption. > > erikcorry@chromium.org suggested digging into v8 handle usage. Found potential scopes in ast.cc and runtime-literals.cc and added tests. > > The runtime-literals.cc change reduces peak handles in imaging-darkroom.js from 1,282,610 to 428,218. The ast.cc change reduces the peak handles in string-tagcloud.js from 80,738 to 8,176. > > No significant handle count issues found with major websites, but substantial savings on some benchmarks and demos: > > Kraken's imaging-darkroom.js down from 1,282,610 to 428,218 due to runtime-literals.cc scope. > SunSpider's string-tagcloud.js down from 80,738 to 8.176 due to ast.cc > > http://www.flohofwoe.net/demos/dragons_asmjs.html (738,906 -> 478,296) > http://www.flohofwoe.net/demos/instancing_asmjs.html (737,884 -> 477,274) > https://dl.dropboxusercontent.com/u/16662598/Ports/DOSBox-web/doom.html?engine=dosbox-growth.js (1,724,114 -> 1,087,408) > https://kripken.github.io/ammo.js/examples/new/ammo.html (175,784 -> 142,058) > > BUG= > > Committed: https://crrev.com/3a4c7538839186aa38910c66c986abb563f4ccd2 > Cr-Commit-Position: refs/heads/master@{#29155} TBR=yangguo@chromium.org,erikcorry@chromium.org,oth@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1194873004 Cr-Commit-Position: refs/heads/master@{#29160}
-
oth authored
erikcorry@chromium.org suggested digging into v8 handle usage. Found potential scopes in ast.cc and runtime-literals.cc and added tests. The runtime-literals.cc change reduces peak handles in imaging-darkroom.js from 1,282,610 to 428,218. The ast.cc change reduces the peak handles in string-tagcloud.js from 80,738 to 8,176. No significant handle count issues found with major websites, but substantial savings on some benchmarks and demos: Kraken's imaging-darkroom.js down from 1,282,610 to 428,218 due to runtime-literals.cc scope. SunSpider's string-tagcloud.js down from 80,738 to 8.176 due to ast.cc http://www.flohofwoe.net/demos/dragons_asmjs.html (738,906 -> 478,296) http://www.flohofwoe.net/demos/instancing_asmjs.html (737,884 -> 477,274) https://dl.dropboxusercontent.com/u/16662598/Ports/DOSBox-web/doom.html?engine=dosbox-growth.js (1,724,114 -> 1,087,408) https://kripken.github.io/ammo.js/examples/new/ammo.html (175,784 -> 142,058) BUG= Review URL: https://codereview.chromium.org/1185633002 Cr-Commit-Position: refs/heads/master@{#29155}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1191313003 Cr-Commit-Position: refs/heads/master@{#29152}
-
yangguo authored
Each Script object now keeps a WeakFixedArray of SharedFunctionInfo objects created from this script. This way, when compiling a function, we do not create duplicate shared function info objects when recompiling with either compiler. This fixes a class of issues in the debugger, where we set break points on one shared function info, but functions from duplicate shared function infos are not affected. LOG=N BUG=v8:4132 Review URL: https://codereview.chromium.org/1183733006 Cr-Commit-Position: refs/heads/master@{#29151}
-
- 11 Jun, 2015 1 commit
-
-
verwaest authored
BUG=v8:4137 LOG=n Review URL: https://codereview.chromium.org/1172683003 Cr-Commit-Position: refs/heads/master@{#28946}
-
- 08 Jun, 2015 1 commit
-
-
mvstanton authored
BUG= Review URL: https://codereview.chromium.org/1160173004 Cr-Commit-Position: refs/heads/master@{#28827}
-
- 04 Jun, 2015 1 commit
-
-
arv authored
We used to only store the uses_super_property in the preparse data logger. Let the logger use NeedsHomeObject instead. BUG=v8:3768 LOG=N R=wingo, adamk Review URL: https://codereview.chromium.org/1164073003 Cr-Commit-Position: refs/heads/master@{#28806}
-
- 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}
-
- 01 Jun, 2015 3 commits
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
arv authored
Revert of [es6] Super call in arrows and eval (patchset #5 id:100001 of https://codereview.chromium.org/1146863007/) Reason for revert: Fails http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug%20-%201/builds/579/steps/Check/logs/super Original issue's description: > [es6] Super call in arrows and eval > > 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. > > BUG=v8:3768 > LOG=N > R=wingo@igalia.com, adamk@chromium.org > > Committed: https://crrev.com/673c0516ab96f24343bbb26e0afc2846b5a679df > Cr-Commit-Position: refs/heads/master@{#28731} TBR=wingo@igalia.com,adamk@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3768 Review URL: https://codereview.chromium.org/1161243005 Cr-Commit-Position: refs/heads/master@{#28735}
-
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. BUG=v8:3768 LOG=N R=wingo@igalia.com, adamk@chromium.org Review URL: https://codereview.chromium.org/1146863007 Cr-Commit-Position: refs/heads/master@{#28731}
-
- 27 May, 2015 1 commit
-
-
mvstanton authored
Also adapt code generation to pass the slot to the store/keyed-store ic. AST nodes ObjectLiteral, Assignment, ForEach, Call and CountOperation now include one or more feedback vector ic slot ids. BUG= Review URL: https://codereview.chromium.org/1161623002 Cr-Commit-Position: refs/heads/master@{#28659}
-
- 26 May, 2015 1 commit
-
-
arv authored
When we enter a method that needs access to the [[HomeObject]] we allocate a local variable `.home_object` and assign it the value from the [[HomeObject]] private symbol. Something along the lines of: method() { var .home_object = %ThisFunction()[home_object_symbol]; ... } BUG=v8:3867, v8:4031 LOG=N Review URL: https://codereview.chromium.org/1135243004 Cr-Commit-Position: refs/heads/master@{#28644}
-
- 21 May, 2015 1 commit
-
-
arv authored
This allows you to put iterables into your array literals and the will get spread into the array. let x = [0, ...range(1, 3)]; // [0, 1, 2] This is done by treating the array literal up to the first spread element as usual, including using a boiler plate array, and then appending the remaining expressions and rest expressions. BUG=v8:3018 LOG=N Review URL: https://codereview.chromium.org/1125183008 Cr-Commit-Position: refs/heads/master@{#28534}
-
- 20 Apr, 2015 1 commit
-
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 13 Apr, 2015 1 commit
-
-
adamk authored
This avoids both a mysterious boolean argument ("insert") and lets non-mutating lookups skip passing an allocator (in one such case, we were passing a scary-looking ZoneAllocationPolicy(NULL)!). Review URL: https://codereview.chromium.org/1074943002 Cr-Commit-Position: refs/heads/master@{#27799}
-
- 09 Apr, 2015 1 commit
-
-
adamk authored
These comparisons are only meant to be done by AstValueFactory itself (in its string_table_ operations), so make the Compare() function a private member of AstValueFactory. All other clients of AstRawStrings should compare them by pointer value. There were only two clients which failed to abide by this rule, one recently-added (in ModuleDescriptor) and the other in Literal::Match (in ast.cc, added in https://code.google.com/p/v8/source/detail?r=24396). Review URL: https://codereview.chromium.org/1069423003 Cr-Commit-Position: refs/heads/master@{#27715}
-
- 30 Mar, 2015 1 commit
-
-
mvstanton authored
A bug allows JSObject literals with elements to have the elements in the boilerplate modified. BUG=466993 LOG=N Review URL: https://codereview.chromium.org/1037273002 Cr-Commit-Position: refs/heads/master@{#27511}
-
- 24 Mar, 2015 2 commits
-
-
aperez authored
Remove Variable::IsValidReference(), and the Variable::is_valid_ref_ member: This was "false" only for "this", and for internal variables. For the first, VariableProxy::is_this() can be used for the check instead; and for internal variables, it is guaranteed they they will not be written to (because the V8 code does not do it, and they are not accessible from JavaScript). The "bool is_this" parameter of VariableProxy() constructor is changed to use Variable::Kind. This will allow to later on adding a parameter to create unresolved variables of any kind, which in turn will be used to make references to "this" initially unresolved, and use the existing variable resolution mechanics for "this". BUG=v8:2700 LOG=N Review URL: https://codereview.chromium.org/1024703004 Cr-Commit-Position: refs/heads/master@{#27404}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1023103003 Cr-Commit-Position: refs/heads/master@{#27399}
-
- 18 Mar, 2015 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1015983003 Cr-Commit-Position: refs/heads/master@{#27274}
-
- 12 Mar, 2015 1 commit
-
-
mvstanton authored
We can reduce the number of type feedback vector slots required, and also reduce IC misses. Review URL: https://codereview.chromium.org/1001533002 Cr-Commit-Position: refs/heads/master@{#27149}
-
- 26 Feb, 2015 2 commits
-
-
titzer authored
R=mvstanton@chromium.org BUG= Review URL: https://codereview.chromium.org/955243002 Cr-Commit-Position: refs/heads/master@{#26890}
-
marja authored
We cannot yet detect use-before-declaration in general, because for that we'd need to analyze the context when compiling. But we can detect an error case where we first see a use, then a declaration. For this, I also added end position tracking (needed for error messages) to VariableProxy. Note: the position naming is completely inconsistent: start_position & end_position, position & end_position, pos & end_pos, beg_pos & end_pos, to name a few. This doesn't fix all of it, but tries to unify towards start_position & end_position whenever possible w/ minimal changes. BUG= Review URL: https://codereview.chromium.org/943543002 Cr-Commit-Position: refs/heads/master@{#26880}
-
- 17 Feb, 2015 1 commit
-
-
adamk authored
This gets Variable and VariableProxy out of the business of worrying about Interfaces. At the same time, get rid of the notion of "module variables". In ES6, variables that refer to modules will be simply be CONST bindings to module namespace objects. The only change in logic here is one more early error: duplicate export names are now rejected. BUG=v8:1569 LOG=n Review URL: https://codereview.chromium.org/918373002 Cr-Commit-Position: refs/heads/master@{#26708}
-
- 13 Feb, 2015 1 commit
-
-
arv authored
With the new ES6 semantics super construct calls are only valid in a constructor in a derived class. This is something that is statically known and we report early SyntaxError in case it occurs. We therefore do not need to track this any more. BUG=v8:3330 LOG=N R=dslomov@chromium.org, adamk Review URL: https://codereview.chromium.org/924123002 Cr-Commit-Position: refs/heads/master@{#26644}
-