- 17 Jan, 2017 1 commit
-
-
rmcilroy authored
Creates an AstStringConstants container which pre-initializes the string constants used by AstValueFactory. This ensures that all AstValueFactories will produce the same AstValue objects for constants, and so they can be used by the BytecodeGenerator without having to pass the AstValueFactory to it, enabling construction off-thread. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2630343002 Cr-Original-Commit-Position: refs/heads/master@{#42381} Committed: https://chromium.googlesource.com/v8/v8/+/d611496b8ed30af787d8668f96b400617c858508 Review-Url: https://codereview.chromium.org/2630343002 Cr-Commit-Position: refs/heads/master@{#42394}
-
- 16 Jan, 2017 2 commits
-
-
rmcilroy authored
Revert of [Parser] Introduce AstStringConstants to share constants across AstValueFactory (patchset #4 id:80001 of https://codereview.chromium.org/2630343002/ ) Reason for revert: Seems to break modules-namespace2 on gcstress. Original issue's description: > [Parser] Introduce AstStringConstants to share constants across AstValueFactory > > Creates an AstStringConstants container which pre-initializes the > string constants used by AstValueFactory. This ensures that all > AstValueFactories will produce the same AstValue objects for constants, > and so they can be used by the BytecodeGenerator without having to pass > the AstValueFactory to it, enabling construction off-thread. > > BUG=v8:5203 > > Review-Url: https://codereview.chromium.org/2630343002 > Cr-Commit-Position: refs/heads/master@{#42381} > Committed: https://chromium.googlesource.com/v8/v8/+/d611496b8ed30af787d8668f96b400617c858508 TBR=ahaas@chromium.org,marja@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5203 Review-Url: https://codereview.chromium.org/2638783002 Cr-Commit-Position: refs/heads/master@{#42382}
-
rmcilroy authored
Creates an AstStringConstants container which pre-initializes the string constants used by AstValueFactory. This ensures that all AstValueFactories will produce the same AstValue objects for constants, and so they can be used by the BytecodeGenerator without having to pass the AstValueFactory to it, enabling construction off-thread. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2630343002 Cr-Commit-Position: refs/heads/master@{#42381}
-
- 09 Jan, 2017 1 commit
-
-
marja authored
Downside: this adds all kinds of weird includes in the .cc files. (See design doc linked in the bug.) BUG=v8:5402 Review-Url: https://codereview.chromium.org/2622503002 Cr-Commit-Position: refs/heads/master@{#42140}
-
- 08 Dec, 2016 1 commit
-
-
marja authored
Lowercase 1 character strings occur frequently in minified code. Add a cache for them, so that we don't need to compute the hash + do the hash table lookup for each occurrence. BUG= Review-Url: https://codereview.chromium.org/2541353002 Cr-Commit-Position: refs/heads/master@{#41597}
-
- 05 Dec, 2016 1 commit
-
-
vogelheim authored
BUG= Review-Url: https://codereview.chromium.org/2545773003 Cr-Commit-Position: refs/heads/master@{#41497}
-
- 09 Nov, 2016 1 commit
-
-
heimbuef authored
With the very same SMIs making up a big chunk of the parser zone (especially for asm.js) it makes sense to cache the AstValues for them. This is not ideal yet, but already saves hundreds (sic!) MBs of memory for Unity games. Review-Url: https://codereview.chromium.org/2485423002 Cr-Commit-Position: refs/heads/master@{#40866}
-
- 26 Oct, 2016 1 commit
-
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2449223002 Cr-Commit-Position: refs/heads/master@{#40581}
-
- 25 Oct, 2016 1 commit
-
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2446993002 Cr-Commit-Position: refs/heads/master@{#40561}
-
- 20 Sep, 2016 1 commit
-
-
rmcilroy authored
Avoid internalizing on-the-fly now that scope analysis and natives syntax runtime calls no longer require internalized AST values. This should be more efficient by avoiding extra branches on every AST value creation. BUG=v8:5215, chromium:634953 Review-Url: https://codereview.chromium.org/2328593002 Cr-Commit-Position: refs/heads/master@{#39531}
-
- 16 Sep, 2016 1 commit
-
-
bakkot authored
Normally the parser just uses AstConsStrings to concatenate, but some types require an AstRawString. This patch adds an AstValueFactory method which produces one from two AstRawStrings. Review-Url: https://codereview.chromium.org/2348783002 Cr-Commit-Position: refs/heads/master@{#39482}
-
- 18 Aug, 2016 1 commit
-
-
rmcilroy authored
Ensures SMI values have SMI type even if they have a dot (e.g., 1.0). Adds SMI_WITH_DOT type to maintain this. BUG=chromium:638134 Review-Url: https://codereview.chromium.org/2248693005 Cr-Commit-Position: refs/heads/master@{#38698}
-
- 10 Aug, 2016 3 commits
-
-
verwaest authored
This makes strings_ and values_ in AstValueFactory a linked list through the AstString and AstValue objects. Additionally the CL computes whether strings are convertible to array indexes directly using the AstString's hash + literal bytes just as Name does, rather than indirecting over name if available. BUG= Review-Url: https://codereview.chromium.org/2225423002 Cr-Commit-Position: refs/heads/master@{#38536}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2227733003 Cr-Commit-Position: refs/heads/master@{#38527}
-
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}
-
- 08 Aug, 2016 1 commit
-
-
marja authored
This saves memory when parsing. BUG= Review-Url: https://codereview.chromium.org/2220363002 Cr-Commit-Position: refs/heads/master@{#38434}
-
- 18 Jul, 2016 1 commit
-
-
marja authored
crbug.com/518788 looks like AstValueFactory::strings_ would contain nullptrs which shouldn't be possible. This CL makes us crash earlier before putting nullptrs into it. It's paranoid, since Zone should already crash before returning nullptr. BUG=518788 LOG=n R=adamk@chromium.org Review-Url: https://codereview.chromium.org/2156513002 Cr-Commit-Position: refs/heads/master@{#37817}
-
- 09 Jun, 2016 1 commit
-
-
lpy authored
We ported hashmap.h into libsampler as a workaround before, so the main focus of this patch is to reduce code duplication. This patch moves the hashmap into src/base as well as creates DefaultAllocationPolicy using malloc and free. BUG=v8:5050 LOG=n Review-Url: https://codereview.chromium.org/2010243003 Cr-Commit-Position: refs/heads/master@{#36873}
-
- 19 Feb, 2016 1 commit
-
-
mvstanton authored
This is a rework of the instanceof operator to support ES6 semantics (as per section 12.10.4 of the spec: https://tc39.github.io/ecma262/#sec-instanceofoperator). It's behind flag --harmony-instanceof for now, which is turned on for staging. BUG=v8:4447 LOG=N Review URL: https://codereview.chromium.org/1692713005 Cr-Commit-Position: refs/heads/master@{#34170}
-
- 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}
-
- 28 Oct, 2015 1 commit
-
-
yangguo authored
R=jkummerow@chromium.org BUG=v8:4450 LOG=N Review URL: https://codereview.chromium.org/1411103006 Cr-Commit-Position: refs/heads/master@{#31624}
-
- 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}
-
- 30 Jun, 2015 1 commit
-
-
bradnelson authored
The asm.js spec decides the type of numeric literals in several places based on if they contain a ".". http://asmjs.org/spec/latest/ Adding methods so that AST Literals can be checked for containg a dot. Adding a cctest that this information is available. LOG=N BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=test-parsing R=rossberg@chromium.org,titzer@chromium.org Review URL: https://codereview.chromium.org/1201783003 Cr-Commit-Position: refs/heads/master@{#29395}
-
- 04 Jun, 2015 1 commit
-
-
arv authored
Before this we had 3 super related lexical bindings that got injected into method bodies: .home_object, .this_function, and new.target. With this change we get rid of the .home_object one in favor of using .this_function[home_object_symbol] which allows some simplifications throughout the code base. BUG=v8:3768 LOG=N R=adamk@chromium.org, wingo@igalia.com Review URL: https://codereview.chromium.org/1154103005 Cr-Commit-Position: refs/heads/master@{#28802}
-
- 01 Jun, 2015 1 commit
-
-
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}
-
- 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}
-
- 12 Dec, 2014 1 commit
-
-
svenpanne authored
FINAL implies OVERRIDE, which in turn implies virtual, so there's no need to use more than one of these. The Google C++ style guide even requires this, see http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Inheritance. While we're here, port r24662 to x87. The net result is that v8 compiles again with a current clang. BUG=v8:3753 LOG=y Review URL: https://codereview.chromium.org/797943002 Cr-Commit-Position: refs/heads/master@{#25792}
-
- 13 Nov, 2014 1 commit
-
-
Yang Guo authored
This allows serializing public symbols that are embedded in code. BUG=v8:3689 LOG=N R=rossberg@chromium.org Review URL: https://codereview.chromium.org/722723002 Cr-Commit-Position: refs/heads/master@{#25315}
-
- 06 Nov, 2014 1 commit
-
-
marja@chromium.org authored
The bug has always been there: when the parser is operating in the "immediately internalize" mode and calls GetString, we get FlatContent of a string and then do heap allocation. The bug was uncovered by https://codereview.chromium.org/693803004/ (which put the parser to the "immediately internalize" mode more often), but looking at the code, it's possible that it can happen in other cases too. This CL makes AstValueFactory handle this situation gracefully: it won't try to internalize inside GetString(Handle<String>); it's unnecessary anyway since we have the Handle<String> already. BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/706533005 Cr-Commit-Position: refs/heads/master@{#25179} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Nov, 2014 2 commits
-
-
marja@chromium.org authored
This reverts r25155. Reason: breaks webkit unit tests. BUG= TBR=marja@chromium.org Review URL: https://codereview.chromium.org/707483002 Cr-Commit-Position: refs/heads/master@{#25159} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
The bug has always been there: when the parser is operating in the "immediately internalize" mode and calls GetString, we get FlatContent of a string and then do heap allocation. The bug was uncovered by https://codereview.chromium.org/693803004/ (which put the parser to the "immediately internalize" mode more often), but looking at the code, it's possible that it can happen in other cases too. This CL makes AstValueFactory handle this situation gracefully: it won't try to internalize inside GetString(Handle<String>); it's unnecessary anyway since we have the Handle<String> already. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/699343004 Cr-Commit-Position: refs/heads/master@{#25155} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Nov, 2014 2 commits
-
-
ishell@chromium.org authored
This reverts commit 94a08565 for breaking layout tests. TBR=marja@chromium.org Review URL: https://codereview.chromium.org/692333006 Cr-Commit-Position: refs/heads/master@{#25121} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
1) In ParseLazy, we're already using the heap, so we can also tell AstValueFactory to internalize immediately. This is more efficient. 2) No need to collect the values in values_ and strings_ if they're already internalized. 3) No need to collect AstValues which are strings in values_ since they don't need to be internalized (the underlying strings will be internalized separately). BUG=429168 LOG=N R=rossberg@chromium.org Review URL: https://codereview.chromium.org/693803004 Cr-Commit-Position: refs/heads/master@{#25109} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Oct, 2014 1 commit
-
-
yangguo@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/685393002 Cr-Commit-Position: refs/heads/master@{#25019} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Oct, 2014 1 commit
-
-
marja@chromium.org authored
They were not, so we were creating several instances of them, one for each time they occurred in the source code. It's not known to have caused efficiency problems though, so this is a sanity fix more than an efficiency fix. Note that numbers are still not unique. BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/657893003 Cr-Commit-Position: refs/heads/master@{#24873} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Oct, 2014 1 commit
-
-
svenpanne@chromium.org authored
Again 50MB less peak memory usage in the bug mentioned below... BUG=417697 LOG=y R=dcarney@chromium.org Review URL: https://codereview.chromium.org/620113002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Sep, 2014 1 commit
-
-
yangguo@chromium.org authored
R=dcarney@chromium.org, marja@chromium.org Review URL: https://codereview.chromium.org/559913002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2014 1 commit
-
-
bmeurer@chromium.org authored
Less useless creativity is best creativity! R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/526223002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-