- 14 Jul, 2014 2 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/383983002 Patch from Adrián Pérez de Castro <aperez@igalia.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
The new pattern is that we first get the map of the root of the prototype chain using Object::GetMapRoot() and then walk up the prototype chain using Map::prototype(). BUG=??? R=verwaest@chromium.org LOG=n Review URL: https://codereview.chromium.org/376233002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jul, 2014 2 commits
-
-
machenbach@chromium.org authored
TBR=jochen@chromium.org BUG= Review URL: https://codereview.chromium.org/386163002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
TBR=jochen@chromium.org BUG= Review URL: https://codereview.chromium.org/384113002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jul, 2014 23 commits
-
-
jarin@chromium.org authored
This reverts "ARM64: Use pair memory access in deoptimizer entry", r20613. It does not really make sense to micro-optimize the deoptimizer as it is the ultra-slow path. Moreover, the original code was easier to read (in addition to being correct). BUG=391313 LOG=N R=ulan@chromium.org Review URL: https://codereview.chromium.org/389583003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
This reverts commit r22358 due to release mode arm64 test failures. TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/385073007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
The x64 and ia32 platforms already did this, port to arm and arm64. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/385553004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kilvadyb@homejinni.com authored
Port r22305 (00a3740) BUG= R=dusan.milosavljevic@rt-rk.com Review URL: https://codereview.chromium.org/387473003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
BUG= TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/383963005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/386023002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/386973003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
BUG= TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/389613002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
BUG= TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/386973002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
This involves avoiding signed multiplication overflow, shifting too far and overflow during negation. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/382153003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
BUG= TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/385163003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
Revert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active." This reverts commit r22346 for breaking GC stress tests. TBR=hpayer@chromium.org Review URL: https://codereview.chromium.org/386943003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
R=machenbach@chromium.org Review URL: https://codereview.chromium.org/382083003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
akos.palfi@imgtec.com authored
BUG= R=danno@chromium.org, plind44@gmail.com Review URL: https://codereview.chromium.org/389463002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=jarin@chromium.org Review URL: https://codereview.chromium.org/382793002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alph@chromium.org authored
Instead of running cpu profiler for a hundred milliseconds, collecting samples distributed in a non-deterministic way all along the code, make the tests rely on a single sample we collect on the profiler start. R=bmeurer@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/301603005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/387533003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
weiliang.lin@intel.com authored
port r22328 original commit message: Use a register spec for StoreIC and KeyedStoreIC. This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035). BUG= R=weiliang.lin@intel.com Review URL: https://codereview.chromium.org/382123003 Patch from Chunyang Dai <chunyang.dai@intel.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/387523002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=marja@chromium.org Review URL: https://codereview.chromium.org/383963002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/388753003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
This reverts revision 22320. Reason: ASAN still detects leaks! Conflicts: src/preparser.h TBR=aperez@igalia.com,marja@chromium.org BUG= Review URL: https://codereview.chromium.org/389503002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
akos.palfi@imgtec.com authored
Port r22328 (92275b7a) Original commit message: This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035). BUG= R=gergely@homejinni.com Review URL: https://codereview.chromium.org/383913002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jul, 2014 13 commits
-
-
rmcilroy@chromium.org authored
This reverts r22332 due to Arm breakages. TBR=dslomov Review URL: https://codereview.chromium.org/384953002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
BUG=353487 LOG=n R=jochen@chromium.org TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/385583004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/381113002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/228633002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=dslomov@chromium.org Review URL: https://codereview.chromium.org/380263002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
TBR=dslomov@chromium.org Review URL: https://codereview.chromium.org/381883005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
TBR=dslomov@chromium.org Review URL: https://codereview.chromium.org/381103002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
This continues refactoring already applied for LoadIC in r22035 (https://code.google.com/p/v8/source/detail?r=22035). R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/381633002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
TBR=marja@chromium.org BUG= Review URL: https://codereview.chromium.org/381093002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=dslomov@chromium.org Review URL: https://codereview.chromium.org/386603003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/385583003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=marja@chromium.org BUG= Review URL: https://codereview.chromium.org/385613002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
All of our mjsunit suite now runs through with --harmony-scoping enabled, up to expected failures (tests checking syntax errors for const/function in strict mode). R=marja@chromium.org, ulan@chromium.org BUG=v8:2198 LOG=Y Review URL: https://codereview.chromium.org/378303003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-