- 10 Jul, 2014 10 commits
-
-
marja@chromium.org authored
Arrow functions are parsed from ParseAssignmentExpression(). Handling the parameter list is done by letting ParseConditionalExpression() parse a comma separated list of identifiers, and it returns a tree of BinaryOperation nodes with VariableProxy leaves, or a single VariableProxy if there is only one parameter. When the arrow token "=>" is found, the VariableProxy nodes are passed to ParseArrowFunctionLiteral(), which will then skip parsing the paramaeter list. This avoids having to rewind when the arrow is found and restart parsing the parameter list. Note that the empty parameter list "()" is handled directly in ParsePrimaryExpression(): after is has consumed the opening parenthesis, if a closing parenthesis follows, then the only valid input is an arrow function. In this case, ParsePrimaryExpression() directly calls ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value to signal the empty parameter list. Because it will consume the body of the arrow function, ParseAssignmentExpression() will not see the arrow "=>" token as next, and return the already-parser expression. The implementation is done in ParserBase, so it was needed to do some additions to ParserBase, ParserTraits and PreParserTraits. Some of the glue code can be removed later on when more more functionality is moved to ParserBase. Additionally, this adds a runtime flag "harmony_arrow_functions" (disabled by default); enabling "harmony" will enable it as well. BUG=v8:2700 LOG=N R=marja@chromium.org Review URL: https://codereview.chromium.org/385553003 Patch from Adrián Pérez de Castro <aperez@igalia.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=jarin@chromium.org Review URL: https://codereview.chromium.org/387483002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=jarin@chromium.org Review URL: https://codereview.chromium.org/380653003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=marja@chromium.org Review URL: https://codereview.chromium.org/383713002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Added special handling for Map and Set in the heap snapshot generator. Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet. After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot. BUG=v8:3368 LOG=Y R=alph@chromium.org, rossberg@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=22311 Review URL: https://codereview.chromium.org/373183002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
TBR=marja@chromium.org Review URL: https://codereview.chromium.org/384663002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=marja@chromium.org, vogelheim@chromium.org Review URL: https://codereview.chromium.org/376223002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
This also adds an assert that makes sure allocations are printed. BUG=391747 LOG=n R=ishell@chromium.org Review URL: https://codereview.chromium.org/377213005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
This reverts commit 47f86e06 due to some weird (likely unrelated) compilation errors. BUG=v8:3368 TBR=rossberg Review URL: https://codereview.chromium.org/380153002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Added special handling for Map and Set in the heap snapshot generator. Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet. After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot. BUG=v8:3368 LOG=Y R=alph@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/373183002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Jul, 2014 19 commits
-
-
adamk@chromium.org authored
Add an overload of OrderedHashTable::FindEntry that takes a hash along with the key to allow callsites which need to re-use the hash (such as Add()) to avoid recomputing it. On my Macbook this results in improvements on the Collections microbenchmarks: Map-Collections: +4% Set-Collections: +5% R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/373323002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
1) Call DeserializeScopeChain only if it's going to do something non-trivial. And we only need to internalize the AstValueFactory in those cases. 2) BufferedUtf16CharacterStream::FillBuffer doesn't need the length argument. The length is always kBufferSize and the subclasses can just read it (it's protected). R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/381613003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/377273002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
m.m.capewell@googlemail.com authored
BUG= R=ulan@chromium.org, bmeurer@chromium.org Review URL: https://codereview.chromium.org/349243002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
Callers should use the methods with the same name on Isolate instead. BUG=none R=dcarney@chromium.org LOG=y Review URL: https://codereview.chromium.org/371023004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
BUG=374134 LOG=n R=jkummerow@chromium.org TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/379833003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Previously we relied on undefined behavior (printf("%s", NULL)), now we explicitly emit "<unknown>" when we hit an external reference with an unknown name. BUG=392068 LOG=y R=dslomov@chromium.org Review URL: https://codereview.chromium.org/379843002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/376183002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/379803003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
Passes in predictable mode were wrongly reported as failures by the json progress indicator. This moves control about what is reported completely to execution.py. BUG=391747 LOG=n R=ishell@chromium.org, jkummerow@chromium.org Review URL: https://codereview.chromium.org/382443004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=ulan@chromium.org BUG=v8:3426 LOG=Y Review URL: https://codereview.chromium.org/377513006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dusan.milosavljevic@rt-rk.com authored
Summary: - Changes in common code are mainly boilerplate changes, gyp and test status files updates. - On mips64 simulator all tests pass from all test units. - Current issues: mjsunit JS debugger tests fail randomly on HW in release mode. Corresponding tests are skipped on HW. - Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-* TEST= BUG= R=danno@chromium.org, plind44@gmail.com, ulan@chromium.org Review URL: https://codereview.chromium.org/371923006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/379133003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=yangguo@chromium.org BUG=v8:1530,v8:1872 TEST=mjsunit/regress/regress-1530 LOG=N Review URL: https://codereview.chromium.org/378233006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
BUG=381820 R=hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/382463002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
Calling OffsetOfElementAt becomes expensive when compiling functions with many constant pool entries. This was causing a regression in MandreelLatency due to the time spent populating the constant pool array for large compiled functions. This change avoids calling OffsetOfElementAt for each entry, and instead keeps track of the current offsets in ConstantPoolBuilder::Populate. This gives the following improvements on a Nexus 5: Inline CP | OOL CP (before CL) | OOL CP (after CL) Mandreel: 4305 | 3961 | 4120 MandreelLatency: 2298 | 1198 | 1994 Octane Score: 5197 | 4982 | 5152 R=ulan@chromium.org Review URL: https://codereview.chromium.org/376973002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
BUG=v8:3425, v8:3424 LOG=N TEST=mjsunit/harmony/empty-for.js R=rossberg@chromium.org Review URL: https://codereview.chromium.org/377833003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/375223002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
TBR=dslomov@chromium.org Review URL: https://codereview.chromium.org/373383002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Jul, 2014 11 commits
-
-
machenbach@chromium.org authored
BUG=391747 LOG=n R=ishell@chromium.org Review URL: https://codereview.chromium.org/371363003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
aandrey@chromium.org authored
TBR=yangguo@chromium.org Review URL: https://codereview.chromium.org/374103002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
R=machenbach@chromium.org BUG=v8:3215 LOG=N Review URL: https://codereview.chromium.org/376963002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
Jacob.Bramley@arm.com authored
BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/371033002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
- code pre-aging does not work with serializing. - compilation info needs to remember that we compile for serializing. - test case leaks memory. R=vogelheim@chromium.org Review URL: https://codereview.chromium.org/379563002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
R=danno@chromium.org, vogelheim@chromium.org LOG=n BUG=none Review URL: https://codereview.chromium.org/377933002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
We can iterate a scan on scavange page if it was precisely swept or just added to the old generation. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/374073002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
Make sure that the overflow store buffer size is always larger or equals than the regular store buffer size. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/372983005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/374863004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=vogelheim@chromium.org Review URL: https://codereview.chromium.org/373713006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Use hydrogenized KeyedLoadGeneric stub for generic named loads too (with --compiled-keyed-generic-loads). R=danno@chromium.org Review URL: https://codereview.chromium.org/371463003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-