- 19 Feb, 2016 4 commits
-
-
nikolaos authored
of non-pattern expressions, according to the (internally circulated) design document. Details to be provided here. 1. RewritableAssignmentExpression has been renamed to RewritableExpression. It is a wrapper for AST nodes that wait for some potential rewriting (that may or may not happen). Also, Is... and As... macros now see through RewritableExpressions. 2. The function state keeps a list of rewritable expressions that must be rewritten only if they are used as non-pattern expressions. 3. Expression classifiers are now templates, parameterized by parser traits. They keep some additional state: a pointer to the list of non-pattern rewritable expressions. It is important that expression classifiers be used strictly in a stack fashion, from now on. 4. The RewriteNonPattern function has been simplified. BUG=chromium:579913 LOG=N Committed: https://crrev.com/7f5c864a6faf2b957b7273891e143b9bde35487c Cr-Commit-Position: refs/heads/master@{#34154} Review URL: https://codereview.chromium.org/1702063002 Cr-Commit-Position: refs/heads/master@{#34162}
-
jarin authored
Another attempt, after the failing test (flushed bug) has been disabled in chromium (https://codereview.chromium.org/1710353002). Review URL: https://codereview.chromium.org/1713033002 Cr-Commit-Position: refs/heads/master@{#34159}
-
machenbach authored
Revert of Non-pattern rewriting revisited (patchset #3 id:40001 of https://codereview.chromium.org/1702063002/ ) Reason for revert: [Sheriff] This makes jsfunfuzz unhappy: https://build.chromium.org/p/client.v8/builders/V8%20Fuzzer/builds/7681 Original issue's description: > This patch implements an alternative approach to the rewriting > of non-pattern expressions, according to the (internally circulated) > design document. Details to be provided here. > > 1. RewritableAssignmentExpression has been renamed to RewritableExpression. > It is a wrapper for AST nodes that wait for some potential rewriting > (that may or may not happen). Also, Is... and As... macros now see > through RewritableExpressions. > > 2. The function state keeps a list of rewritable expressions that must be > rewritten only if they are used as non-pattern expressions. > > 3. Expression classifiers are now templates, parameterized by parser > traits. They keep some additional state: a pointer to the list of > non-pattern rewritable expressions. It is important that expression > classifiers be used strictly in a stack fashion, from now on. > > 4. The RewriteNonPattern function has been simplified. > > BUG=chromium:579913 > LOG=N > > Committed: https://crrev.com/7f5c864a6faf2b957b7273891e143b9bde35487c > Cr-Commit-Position: refs/heads/master@{#34154} TBR=rossberg@chromium.org,bmeurer@chromium.org,titzer@chromium.org,nikolaos@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:579913 Review URL: https://codereview.chromium.org/1712203002 Cr-Commit-Position: refs/heads/master@{#34158}
-
nikolaos authored
of non-pattern expressions, according to the (internally circulated) design document. Details to be provided here. 1. RewritableAssignmentExpression has been renamed to RewritableExpression. It is a wrapper for AST nodes that wait for some potential rewriting (that may or may not happen). Also, Is... and As... macros now see through RewritableExpressions. 2. The function state keeps a list of rewritable expressions that must be rewritten only if they are used as non-pattern expressions. 3. Expression classifiers are now templates, parameterized by parser traits. They keep some additional state: a pointer to the list of non-pattern rewritable expressions. It is important that expression classifiers be used strictly in a stack fashion, from now on. 4. The RewriteNonPattern function has been simplified. BUG=chromium:579913 LOG=N Review URL: https://codereview.chromium.org/1702063002 Cr-Commit-Position: refs/heads/master@{#34154}
-
- 18 Feb, 2016 1 commit
-
-
ishell authored
BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1713533002 Cr-Commit-Position: refs/heads/master@{#34115}
-
- 16 Feb, 2016 1 commit
-
-
mstarzinger authored
The LazyBailout operator (modelled as a nop-call) was introduced for placing a deoptimization point into exception handlers. Now that we are no longer re-entering lazy deoptimized code, the support can be removed. R=jarin@chromium.org BUG=v8:4195 LOG=n Review URL: https://codereview.chromium.org/1697503002 Cr-Commit-Position: refs/heads/master@{#34020}
-
- 12 Feb, 2016 2 commits
-
-
machenbach authored
Revert of [turbofan] Ship turbofan try-catch. (patchset #1 id:1 of https://codereview.chromium.org/1694743003/ ) Reason for revert: [Sheriff] Might break layout tests unintended. Original issue's description: > [turbofan] Ship turbofan try-catch. > > Committed: https://crrev.com/5bb459ba4daa34e5ed2fca0dd146aa18f9b6b036 > Cr-Commit-Position: refs/heads/master@{#33938} TBR=mstarzinger@chromium.org,bmeurer@chromium.org,jarin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1688403003 Cr-Commit-Position: refs/heads/master@{#33947}
-
jarin authored
Review URL: https://codereview.chromium.org/1694743003 Cr-Commit-Position: refs/heads/master@{#33938}
-
- 11 Feb, 2016 1 commit
-
-
ishell authored
This CL also removes tail call support made so far from Crankshaft. BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1683793004 Cr-Commit-Position: refs/heads/master@{#33885}
-
- 19 Jan, 2016 1 commit
-
-
nikolaos authored
After 1564083002, spread expressions are desugared and should not survive in the AST after parsing. This patch removes dead code related to this. It also eliminates the kSpread bailout reason and the concat_iterable_to_array_builtin. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1592713002 Cr-Commit-Position: refs/heads/master@{#33385}
-
- 07 Jan, 2016 1 commit
-
-
bmeurer authored
This correctly marks functions containing a new.target reference as being disabled with Crankshaft, which would have bailed out anyways. Also note that this will trigger TurboFan for such functions and hence widens the TurboFan intake valve. Review URL: https://codereview.chromium.org/1568763002 Cr-Commit-Position: refs/heads/master@{#33146}
-
- 31 Dec, 2015 1 commit
-
-
mvstanton authored
TurboFan can accept them, it calls a runtime function to initialize the rest object as a JSArray. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1543253002 Cr-Commit-Position: refs/heads/master@{#33071}
-
- 16 Dec, 2015 1 commit
-
-
bmeurer authored
R=hablich@chromium.org Review URL: https://codereview.chromium.org/1531653002 Cr-Commit-Position: refs/heads/master@{#32886}
-
- 04 Dec, 2015 1 commit
-
-
caitpotter88 authored
Attempt #<really big number> Parses, and lazily rewrites Destructuring Assignment expressions. The rewriting strategy involves inserting a placeholder RewritableAssignmentExpression into the AST, whose content expression can be completely rewritten at a later time. Lazy rewriting ensures that errors do not occur due to eagerly rewriting nodes which form part of a binding pattern, thus breaking the meaning of the pattern --- or by eagerly rewriting ambiguous constructs that are not immediately known BUG=v8:811 LOG=Y R=adamk@chromium.org, bmeurer@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/1309813007 Cr-Commit-Position: refs/heads/master@{#32623}
-
- 01 Dec, 2015 2 commits
-
-
mstarzinger authored
Revert of [turbofan] Ship TurboFan with new.target references. (patchset #1 id:1 of https://codereview.chromium.org/1482733002/ ) Reason for revert: Tanks sunspider/date-format-tofte because of the Date constructor being turbofanned. Original issue's description: > [turbofan] Ship TurboFan with new.target references. > > This correctly marks functions containing a new.target reference as > being disabled with Crankshaft, which would have bailed out anyways. > Also note that this will trigger TurboFan for such functions and hence > widens the TurboFan intake valve. > > R=bmeurer@chromium.org > > Committed: https://crrev.com/2ec6fcd1520bb8a09c9924ac5498eb9b437670b0 > Cr-Commit-Position: refs/heads/master@{#32444} TBR=bmeurer@chromium.org,rossberg@chromium.org,hablich@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1489833002 Cr-Commit-Position: refs/heads/master@{#32455}
-
mstarzinger authored
This correctly marks functions containing a new.target reference as being disabled with Crankshaft, which would have bailed out anyways. Also note that this will trigger TurboFan for such functions and hence widens the TurboFan intake valve. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1482733002 Cr-Commit-Position: refs/heads/master@{#32444}
-
- 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}
-
- 18 Nov, 2015 1 commit
-
-
mstarzinger authored
This triggers TurboFan whenever functions containing spread expressions of any kind are marked for optimization. Note that this increases the set of functions being eligible for optimization. R=rossberg@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1461603002 Cr-Commit-Position: refs/heads/master@{#32083}
-
- 04 Nov, 2015 1 commit
-
-
ishell authored
Review URL: https://codereview.chromium.org/1412223018 Cr-Commit-Position: refs/heads/master@{#31785}
-
- 21 Oct, 2015 1 commit
-
-
caitpotter88 authored
Adds an implementation of "do expression" parsing (https://webcache.googleusercontent.com/search?q=cache:MIGALjqPDNgJ:wiki.ecmascript.org/doku.php%3Fid%3Dstrawman:do_expressions+&cd=1&hl=en&ct=clnk&gl=us). This feature provides a way to evaluate a block of statements within an expression context, producing the resulting completion value. This is very helpful for implementing certain language features via desugaring. BUG=v8:4488 LOG=N R=adamk@chromium.org, bmeurer@chromium.org, rossberg@chromium.org, wingo@igalia.com Review URL: https://codereview.chromium.org/1399893002 Cr-Commit-Position: refs/heads/master@{#31428}
-
- 15 Oct, 2015 1 commit
-
-
adamk authored
This adds a bit of boilerplate to some AstVisitors (they now have to declare their own zone_ member and zone() accessor), but makes it clearer what DEFINE_AST_VISITOR_SUBCLASS_MEMBERS is for: stack limit checking. Review URL: https://codereview.chromium.org/1394303008 Cr-Commit-Position: refs/heads/master@{#31287}
-
- 14 Oct, 2015 1 commit
-
-
adamk authored
Previously, any AstVisitor subclasses which wanted to make use of the shared stack overflow checking code needed to depend on Isolate. With this patch, it will be easy to create a second InitializeAstVisitor overload taking a stack_limit directly, for use in code that has no Isolate available (such as code running in the parser). AstVisitor subclasses which depended upon the isolate() accessor have been fixed to either have their own isolate_ member or get it from somewhere else convenient. Review URL: https://codereview.chromium.org/1387383005 Cr-Commit-Position: refs/heads/master@{#31260}
-
- 13 Oct, 2015 1 commit
-
-
mvstanton authored
The lack of a vector slot for the keyed store operation in filling in non-constant array literal properties led to undesirable contortions in compilers downwind of full-codegen. The use of a single slot to initialize all the array elements is sufficient. BUG= Review URL: https://codereview.chromium.org/1405503002 Cr-Commit-Position: refs/heads/master@{#31242}
-
- 01 Oct, 2015 1 commit
-
-
ishell authored
This CL also allows to use arbitrary number of feedback vector elements for particular slot kind. Review URL: https://codereview.chromium.org/1370303004 Cr-Commit-Position: refs/heads/master@{#31050}
-
- 28 Sep, 2015 2 commits
-
-
ishell authored
Review URL: https://codereview.chromium.org/1372003002 Cr-Commit-Position: refs/heads/master@{#30974}
-
ishell authored
This is a second step towards merging FeedbackVectorSlot and FeedbackVectorICSlot. Review URL: https://codereview.chromium.org/1376443002 Cr-Commit-Position: refs/heads/master@{#30971}
-
- 21 Sep, 2015 1 commit
-
-
littledan authored
ES2015 specifies very particular semantics for functions defined in blocks. In strict mode, it is simply a lexical binding scoped to that block. In sloppy mode, in addition to that lexical binding, there is a var-style binding in the outer scope, which is overwritten with the local binding when the function declaration is evaluated, *as long as* introducing ths var binding would not create a var/let conflict in the outer scope. This patch implements the semantics by introducing a DelegateStatement, which is initially filled in with the EmptyStatement and overwritten with the assignment when the scope is closed out and it can be checked that there is no conflict. This patch is tested with a new mjsunit test, and I tried staging it and running test262, finding that the tests that we have disabled due to lack of Annex B support now pass. R=adamk,rossberg LOG=Y BUG=v8:4285 Review URL: https://codereview.chromium.org/1332873003 Cr-Commit-Position: refs/heads/master@{#30842}
-
- 10 Sep, 2015 1 commit
-
-
mvstanton authored
The refactoring is because it's awkward and error-prone to deterimine which IC slot an ObjectLiteralProperty uses for feedback. The fix is for each one to know it's own slot. In the numbering pass, we allocate slots for the ObjectLiteral, then hand out those slots into the properties. It adds one word to the ObjectLiteralProperty expression - I'm investigating if thats a problem. This changes makes compiling the object literal cleaner across the three compilers. Also, the slot allocation logic in ObjectLiteral::ComputeFeedbackRequirements() was refactoring to mimic the style in full-codegen. This is useful since it must remain in sync with FullCodegen::VisitObjectLiteral(). Review URL: https://codereview.chromium.org/1321993004 Cr-Commit-Position: refs/heads/master@{#30686}
-
- 08 Sep, 2015 1 commit
-
-
mstarzinger authored
This switches Isolate::ComputeLocation to use baseline code when computing message locations. This unifies locations between optimized and non-optimized code by always going through the FrameSummary for location computation. R=bmeurer@chromium.org TEST=message/regress/regress-4266 BUG=v8:4266 LOG=n Review URL: https://codereview.chromium.org/1331603002 Cr-Commit-Position: refs/heads/master@{#30635}
-
- 26 Aug, 2015 1 commit
-
-
wingo authored
BUG=v8:4211 LOG=Y R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1315823002 Cr-Commit-Position: refs/heads/master@{#30373}
-
- 24 Aug, 2015 1 commit
-
-
yangguo authored
Revert of Parse arrow functions at proper precedence level (patchset #2 id:60001 of https://codereview.chromium.org/1286383005/ ) Reason for revert: Breaks layout test. Please change test expectation on blink first. --- /mnt/data/b/build/slave/V8-Blink_Linux_64/build/layout-test-results/inspector/sources/debugger-pause/debugger-pause-in-internal-expected.txt +++ /mnt/data/b/build/slave/V8-Blink_Linux_64/build/layout-test-results/inspector/sources/debugger-pause/debugger-pause-in-internal-actual.txt @@ -1,4 +1,4 @@ -CONSOLE ERROR: line 9: Uncaught SyntaxError: Expected () to start arrow function, but got '}' instead of '=>' +CONSOLE ERROR: line 9: Uncaught SyntaxError: Unexpected token ) Tests that pause on exception in internal script does not crash. Script source was shown. Original issue's description: > Parse arrow functions at proper precedence level > > BUG=v8:4211 > LOG=Y > R=rossberg@chromium.org > > Committed: https://crrev.com/9271b0ccf9ddb217deb1f0b9ef9b59b64dc40214 > Cr-Commit-Position: refs/heads/master@{#30298} TBR=rossberg@chromium.org,mstarzinger@chromium.org,fennyfanny655@gmail.com,machenbach@chromium.org,wingo@igalia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4211 Review URL: https://codereview.chromium.org/1315503002 Cr-Commit-Position: refs/heads/master@{#30318}
-
- 21 Aug, 2015 1 commit
-
-
wingo authored
BUG=v8:4211 LOG=Y R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1286383005 Cr-Commit-Position: refs/heads/master@{#30298}
-
- 14 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1297583002 Cr-Commit-Position: refs/heads/master@{#30172}
-
- 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}
-
- 30 Jul, 2015 1 commit
-
-
mvstanton authored
When a Property or a VariableProxy is used as the left hand side of an assignment statement, there is no need to allocate a LOAD_IC feedback vector slot for it. Alter the numbering phase to support this. BUG= Review URL: https://codereview.chromium.org/1262803002 Cr-Commit-Position: refs/heads/master@{#29924}
-
- 20 Jul, 2015 1 commit
-
-
mstarzinger authored
This adds the implicit function variable for a function literal to the declarations list in scope analysis, instead of specially handling it throughout all back-ends. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1245603003 Cr-Commit-Position: refs/heads/master@{#29754}
-
- 16 Jul, 2015 2 commits
-
-
adamk authored
Revert of [turbofan] Ship TF for try-catch statements. (patchset #1 id:1 of https://codereview.chromium.org/1216373002/) Reason for revert: Causes gbemu-part1 to time out on Linux dbg builders http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/3867/ http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug%20-%20code%20serializer/builds/3386/ http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug%20-%20greedy%20allocator/builds/828/ Original issue's description: > [turbofan] Ship TF for try-catch statements. > > R=hablich@chromium.org > BUG=v8:4131 > LOG=N > > Committed: https://crrev.com/1251d02e7bb2a13ae5cf6fda5d3403730d2ae12f > Cr-Commit-Position: refs/heads/master@{#29708} TBR=hablich@chromium.org,mstarzinger@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4131 Review URL: https://codereview.chromium.org/1234363003 Cr-Commit-Position: refs/heads/master@{#29711}
-
mstarzinger authored
R=hablich@chromium.org BUG=v8:4131 LOG=N Review URL: https://codereview.chromium.org/1216373002 Cr-Commit-Position: refs/heads/master@{#29708}
-
- 10 Jul, 2015 1 commit
-
-
bmeurer authored
EnumtSet has been deprecated for quite some time, and replaced with the more general and type safe base::Flags template class. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1229233002 Cr-Commit-Position: refs/heads/master@{#29564}
-
- 19 Jun, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1187563011 Cr-Commit-Position: refs/heads/master@{#29162}
-