- 28 Aug, 2016 1 commit
-
-
mlippautz authored
Revert of "[heap] Switch to 500k pages" (patchset #1 id:1 of https://codereview.chromium.org/2278653003/ ) Reason for revert: Tanks pretty much alle metrics across the board. Probably LO space limit too low but needs investigation. Original issue's description: > [heap] Switch to 500k pages > > Decrease regular heap object size to 400k. In a follow up, we can now get rid of > the new space border page while keeping the 1M minimum new space size. > > This reverts commit 1617043c. > > BUG=chromium:636331 > > Committed: https://crrev.com/2101e691caeef656eb91f1c98620b3955d337c83 > Cr-Commit-Position: refs/heads/master@{#38916} TBR=ulan@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:636331 NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2289493002 Cr-Commit-Position: refs/heads/master@{#38960}
-
- 27 Aug, 2016 1 commit
-
-
verwaest authored
Revert of Always deserialize scope infos for parsing (patchset #3 id:40001 of https://codereview.chromium.org/2280933002/ ) Reason for revert: Significantly tanks parsing. We probably should just keep on doing what we're doing: partially deserialize while resolving variables. If we do scope-info backed resolution after regular resolution based on remaining free variables, we can probably reduce the time-frame of that part. We soon after anyway need to sync with the main thread. Original issue's description: > Always deserialize scope infos for parsing > > When looking up variables in the ScopeInfo, we did a linear scan of the > ScopeInfo. Since that's unacceptably slow, a context slot cache was added > that would speed up repeated lookups of the same variable. > > Instead, just always fully convert the ScopeInfo into scopes, so they can > lookup variables without scanning the ScopeInfo. > > This also allows for removing the now unused ContextSlotCache. > > R=adamk@chromium.org,verwaest@chromium.org,marja@chromium.org > BUG=v8:5315 > > Committed: https://crrev.com/81f824cad18e4dc873a8838943217eb9c9f0c1f0 > Cr-Commit-Position: refs/heads/master@{#38953} TBR=adamk@chromium.org,marja@chromium.org,jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5315 Review-Url: https://codereview.chromium.org/2287783003 Cr-Commit-Position: refs/heads/master@{#38958}
-
- 26 Aug, 2016 1 commit
-
-
jochen authored
When looking up variables in the ScopeInfo, we did a linear scan of the ScopeInfo. Since that's unacceptably slow, a context slot cache was added that would speed up repeated lookups of the same variable. Instead, just always fully convert the ScopeInfo into scopes, so they can lookup variables without scanning the ScopeInfo. This also allows for removing the now unused ContextSlotCache. R=adamk@chromium.org,verwaest@chromium.org,marja@chromium.org BUG=v8:5315 Review-Url: https://codereview.chromium.org/2280933002 Cr-Commit-Position: refs/heads/master@{#38953}
-
- 25 Aug, 2016 1 commit
-
-
mlippautz authored
Decrease regular heap object size to 400k. In a follow up, we can now get rid of the new space border page while keeping the 1M minimum new space size. This reverts commit 1617043c. BUG=chromium:636331 Review-Url: https://codereview.chromium.org/2278653003 Cr-Commit-Position: refs/heads/master@{#38916}
-
- 24 Aug, 2016 2 commits
-
-
jgruber authored
This makes some information passed implicitly (e.g. the ForceConstructor flag used to be a special symbol passed as the receiver) explicit. BUG= Review-Url: https://codereview.chromium.org/2274823002 Cr-Commit-Position: refs/heads/master@{#38870}
-
jgruber authored
A FrameArray encodes information about a set of stack frames into a fixed array. This commit is a pure refactoring to make the structure of fixed array-encoded frames explicit. BUG= Review-Url: https://codereview.chromium.org/2270783002 Cr-Commit-Position: refs/heads/master@{#38852}
-
- 22 Aug, 2016 1 commit
-
-
caitp authored
BUG=v8:5264, v8:5268 R=mstarzinger@chromium.org, bmeurer@chromium.org, epertoso@chromium.org Review-Url: https://codereview.chromium.org/2247353005 Cr-Commit-Position: refs/heads/master@{#38792}
-
- 19 Aug, 2016 1 commit
-
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Fixing it: - Don't include stuff in headers unless necessary. - Include the stuff you need, not some other stuff that happens to include the stuff you need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2260483002 Cr-Commit-Position: refs/heads/master@{#38740}
-
- 18 Aug, 2016 2 commits
-
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Fixing it: - Don't include stuff in headers unless necessary. - Include the stuff you need, not some other stuff that happens to include the stuff you need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2246203005 Cr-Commit-Position: refs/heads/master@{#38708}
-
jgruber authored
Revert of Use a custom Struct for stack trace storage (patchset #4 id:60001 of https://codereview.chromium.org/2230953002/ ) Reason for revert: Performance regressions in Gameboy, Life, CodeLoad and others. See crbug.com/638210. Original issue's description: > Refactor data structures for simple stack traces > > Simple stack traces are captured through Isolate::CaptureSimpleStackTrace. > Captured frames are stored in a FixedArray, which in turn is stored as a > property (using a private symbol) on the error object itself. Actual formatting > of the textual stack trace is done lazily when the user reads the stack > property of the error object. > > This would involve many conversions back and forth between index-encoded raw > data (receiver, function, offset and code), JS CallSite objects, and C++ > CallSite objects. > > This commit refactors the C++ CallSite class into a Struct class called > StackTraceFrame, which is the new single point of truth frame information. > Isolate::CaptureSimpleStackTrace stores an array of StackTraceFrames, and JS > CallSite objects (now created only when the user specifies custom stack trace > formatting through Error.prepareStackTrace) internally only store a reference > to a StackTraceFrame. > > BUG= > > Committed: https://crrev.com/b4c1aefb9c369f1a33a6ca94a5de9b06ea4bf5c4 > Cr-Commit-Position: refs/heads/master@{#38645} TBR=yangguo@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= Review-Url: https://codereview.chromium.org/2252783007 Cr-Commit-Position: refs/heads/master@{#38700}
-
- 16 Aug, 2016 1 commit
-
-
jgruber authored
Simple stack traces are captured through Isolate::CaptureSimpleStackTrace. Captured frames are stored in a FixedArray, which in turn is stored as a property (using a private symbol) on the error object itself. Actual formatting of the textual stack trace is done lazily when the user reads the stack property of the error object. This would involve many conversions back and forth between index-encoded raw data (receiver, function, offset and code), JS CallSite objects, and C++ CallSite objects. This commit refactors the C++ CallSite class into a Struct class called StackTraceFrame, which is the new single point of truth frame information. Isolate::CaptureSimpleStackTrace stores an array of StackTraceFrames, and JS CallSite objects (now created only when the user specifies custom stack trace formatting through Error.prepareStackTrace) internally only store a reference to a StackTraceFrame. BUG= Review-Url: https://codereview.chromium.org/2230953002 Cr-Commit-Position: refs/heads/master@{#38645}
-
- 15 Aug, 2016 1 commit
-
-
gsathya authored
Review-Url: https://codereview.chromium.org/2246963002 Cr-Commit-Position: refs/heads/master@{#38639}
-
- 12 Aug, 2016 3 commits
-
-
mlippautz authored
Revert of "[heap] Switch to 500k pages" (patchset #11 id:220001 of https://codereview.chromium.org/2232653003/ ) Reason for revert: Breaks benchmark with --turbo on avx2 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20avx2/builds/9895 Original issue's description: > Reland of "[heap] Switch to 500k pages" > > Decrease regular heap object size to 400k. In a follow up, we can now get rid of > the new space border page while keeping the 1M minimum new space size. > > BUG=chromium:636331 > > This reverts commit 555c9619. > > Committed: https://crrev.com/20e2ea80e169e85c5b8231adc02901fb6c989609 > Cr-Commit-Position: refs/heads/master@{#38608} TBR=hpayer@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:636331 Review-Url: https://codereview.chromium.org/2239323002 Cr-Commit-Position: refs/heads/master@{#38613}
-
mlippautz authored
Decrease regular heap object size to 400k. In a follow up, we can now get rid of the new space border page while keeping the 1M minimum new space size. BUG=chromium:636331 This reverts commit 555c9619. Review-Url: https://codereview.chromium.org/2232653003 Cr-Commit-Position: refs/heads/master@{#38608}
-
hpayer authored
BUG=chromium:636368,chromium:635965,chromium:634900 Review-Url: https://codereview.chromium.org/2245483004 Cr-Commit-Position: refs/heads/master@{#38598}
-
- 07 Aug, 2016 1 commit
-
-
ulan authored
This patch folds --optimize-for-size flag and check for low-memory device into Heap::ShouldOptimizeForMemoryUsage() predicate. It has the following side effects: - the heap growing factor for low-memory devices is capped at 1.3 (old value was 2.0). - the memory reducer will be more aggressive for low-memory devices. BUG=chromium:634900 Review-Url: https://codereview.chromium.org/2218703004 Cr-Commit-Position: refs/heads/master@{#38406}
-
- 05 Aug, 2016 3 commits
-
-
cbruni authored
Reland of [api] Clean up scopes and precheck instantiations cache (patchset #1 id:1 of https://codereview.chromium.org/2216903003/ ) Reason for revert: asan failures are caused by a flaky stack-verflow (see https://codereview.chromium.org/2218033002 for a fix). Original issue's description: > Revert of [api] Clean up scopes and precheck instantiations cache (patchset #3 id:40001 of https://codereview.chromium.org/2206773003/ ) > > Reason for revert: > [Sheriff] Leads to mac asan failures: > https://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/7835 > > Original issue's description: > > [api] Clean up scopes and precheck instantiations cache > > > > Make sure all the scopes used in api-natives.cc have inlineable constructors > > and destructors. Additionally directly precheck the instantiations cache before > > trying to enter the InvokeScope which sets the save_context. > > > > BUG=chromium:630217 > > > > Committed: https://crrev.com/a2496b942cad524f0f3144b107936eaa9a7c9fd5 > > Cr-Commit-Position: refs/heads/master@{#38346} > > TBR=yangguo@chromium.org,cbruni@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=chromium:630217 > > Committed: https://crrev.com/e1b5cb43a9b90546ff5d6cea89ba17c485e842fb > Cr-Commit-Position: refs/heads/master@{#38356} TBR=yangguo@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:630217 Review-Url: https://codereview.chromium.org/2217353002 Cr-Commit-Position: refs/heads/master@{#38401}
-
yangguo authored
R=mstarzinger@chromium.org BUG=chromium:633999 Review-Url: https://codereview.chromium.org/2215713002 Cr-Commit-Position: refs/heads/master@{#38358}
-
machenbach authored
Revert of [api] Clean up scopes and precheck instantiations cache (patchset #3 id:40001 of https://codereview.chromium.org/2206773003/ ) Reason for revert: [Sheriff] Leads to mac asan failures: https://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/7835 Original issue's description: > [api] Clean up scopes and precheck instantiations cache > > Make sure all the scopes used in api-natives.cc have inlineable constructors > and destructors. Additionally directly precheck the instantiations cache before > trying to enter the InvokeScope which sets the save_context. > > BUG=chromium:630217 > > Committed: https://crrev.com/a2496b942cad524f0f3144b107936eaa9a7c9fd5 > Cr-Commit-Position: refs/heads/master@{#38346} TBR=yangguo@chromium.org,cbruni@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:630217 Review-Url: https://codereview.chromium.org/2216903003 Cr-Commit-Position: refs/heads/master@{#38356}
-
- 04 Aug, 2016 2 commits
-
-
cbruni authored
Make sure all the scopes used in api-natives.cc have inlineable constructors and destructors. Additionally directly precheck the instantiations cache before trying to enter the InvokeScope which sets the save_context. BUG=chromium:630217 Review-Url: https://codereview.chromium.org/2206773003 Cr-Commit-Position: refs/heads/master@{#38346}
-
neis authored
This reverts an unintended change that was part of my recent CL (https://codereview.chromium.org/2203803002). BUG= Review-Url: https://codereview.chromium.org/2208473008 Cr-Commit-Position: refs/heads/master@{#38334}
-
- 03 Aug, 2016 2 commits
-
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2206573002 Cr-Commit-Position: refs/heads/master@{#38289}
-
neis authored
In the parser, we desugar yield* with the help of a regular yield. One particular implementation detail of this desugaring is that when the user calls the generator's throw method, this throws an exception that we immediately catch. This exception should not be visible to the user, but through Devtools' "Pause on Caught Exceptions" feature it used to be. This CL extends the type of catch predictions with a new value for such internal exceptions and uses that for the offending try-catch statement in yield*. It instruments the debugger to _not_ trigger an exception event in that case. R=yangguo@chromium.org TBR=littledan@chromium.org BUG=v8:5218 Review-Url: https://codereview.chromium.org/2203803002 Cr-Commit-Position: refs/heads/master@{#38286}
-
- 02 Aug, 2016 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2197183002 Cr-Commit-Position: refs/heads/master@{#38247}
-
- 01 Aug, 2016 2 commits
-
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2191293002 Cr-Commit-Position: refs/heads/master@{#38212}
-
jochen authored
Also remove unnecessary includes of scopeinfo.h all over the place R=marja@chromium.org TBR=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2197973002 Cr-Commit-Position: refs/heads/master@{#38204}
-
- 26 Jul, 2016 2 commits
-
-
cbruni authored
The showed up unnaturally high while profiling DOM node creation. BUG=chromium:630217 Review-Url: https://codereview.chromium.org/2181323002 Cr-Commit-Position: refs/heads/master@{#38068}
-
mlippautz authored
BUG=chromium:631094 Review-Url: https://codereview.chromium.org/2181333002 Cr-Commit-Position: refs/heads/master@{#38066}
-
- 22 Jul, 2016 3 commits
-
-
caitp authored
BUG=v8:5134 R=cbruni@chromium.org, littledan@chromium.org, neis@chromium.org Review-Url: https://codereview.chromium.org/2131383002 Cr-Commit-Position: refs/heads/master@{#37987}
-
jgruber authored
This allows us to skip complicated logic for setting the accessors. BUG= Review-Url: https://codereview.chromium.org/2164903004 Cr-Commit-Position: refs/heads/master@{#37969}
-
yangguo authored
This is in preparation to implementing exception prediction for async functions. Each handler table entry can now predict "caught", "uncaught", or "promise". The latter indicates that the exception will lead to a promise rejection. To mark the relevant try-catch blocks, we add a new native syntax. try { } %catch (e) { } indicates a TryCatchStatement with the "promise" prediction. The previous implementation of using the function to tell the relevant try-catch apart from inner try-catch blocks will not work for async functions since these can have inner try-catch blocks inside the same function. BUG=v8:5167 Review-Url: https://codereview.chromium.org/2161263003 Cr-Commit-Position: refs/heads/master@{#37966}
-
- 21 Jul, 2016 4 commits
-
-
jgruber authored
We no longer need to prepare the stack overflow error in advance now that Errors are constructed in C++. R=yangguo@chromium.org BUG= Committed: https://crrev.com/ba95d10ccbe13e2fca427228483b045576f2dc4c Review-Url: https://codereview.chromium.org/2161953003 Cr-Original-Commit-Position: refs/heads/master@{#37923} Cr-Commit-Position: refs/heads/master@{#37949}
-
ahaas authored
Original message: Calling Runtime::kAbort through a builtin instead of the c-entry stub will allow to generate the call in a background thread, because a builtin provides its own handle, whereas a code stub does not. @v8-mips-ports: Could you take a special look at the padding that is done in MacroAssembler::Abort()? Reason for revert: The reason for reverting is: Blocks roll: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/1622 The problem was that on arm64 the builtin for Abort() contained a call to Abort(). The problem is fixed by using a NoUseRealAbortsScope in the code generation of Abort(). R=titzer@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com Review-Url: https://codereview.chromium.org/2163263002 Cr-Commit-Position: refs/heads/master@{#37929}
-
jgruber authored
Revert of Remove stack overflow boilerplate (patchset #3 id:40001 of https://codereview.chromium.org/2161953003/ ) Reason for revert: Clusterfuzz failures in parent CL https://codereview.chromium.org/2142933003/ Original issue's description: > Remove stack overflow boilerplate > > We no longer need to prepare the stack overflow error in advance now that > Errors are constructed in C++. > > R=yangguo@chromium.org > BUG= > > Committed: https://crrev.com/ba95d10ccbe13e2fca427228483b045576f2dc4c > Cr-Commit-Position: refs/heads/master@{#37923} TBR=yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2169563003 Cr-Commit-Position: refs/heads/master@{#37927}
-
jgruber authored
We no longer need to prepare the stack overflow error in advance now that Errors are constructed in C++. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2161953003 Cr-Commit-Position: refs/heads/master@{#37923}
-
- 20 Jul, 2016 3 commits
-
-
jgruber authored
This ports a large portion of Error methods to C++, including the constructor, stack setter and getter, and Error.prototype.toString. BUG= Committed: https://crrev.com/5742da056a290caa13a0b8717ddb1e43424e0d31 Review-Url: https://codereview.chromium.org/2142933003 Cr-Original-Commit-Position: refs/heads/master@{#37870} Cr-Commit-Position: refs/heads/master@{#37908}
-
hablich authored
Revert of [builtins] Introduce a builtin for Abort(). (patchset #5 id:80001 of https://codereview.chromium.org/2156923002/ ) Reason for revert: Blocks roll: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/1622 Original issue's description: > [builtins] Introduce a builtin for Abort(). > > Calling Runtime::kAbort through a builtin instead of the c-entry stub > will allow to generate the call in a background thread, because a > builtin provides its own handle, whereas a code stub does not. > > @v8-mips-ports: Could you take a special look at the padding that is > done in MacroAssembler::Abort()? > > R=bmeurer@chromium.org, titzer@chromium.org, mstarzinger@chromium.org, v8-mips-ports@googlegroups.com, v8-arm-ports@googlegroups.com > > Committed: https://crrev.com/9be015a254cfff871c56cd129523a729637e9158 > Cr-Commit-Position: refs/heads/master@{#37854} TBR=bmeurer@chromium.org,mstarzinger@chromium.org,titzer@chromium.org,v8-arm-ports@googlegroups.com,v8-mips-ports@googlegroups.com,akos.palfi@imgtec.com,ahaas@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/2163603003 Cr-Commit-Position: refs/heads/master@{#37883}
-
jgruber authored
Revert of Move Error methods to C++ (patchset #11 id:200001 of https://codereview.chromium.org/2142933003/ ) Reason for revert: Clusterfuzz failures: https://bugs.chromium.org/p/chromium/issues/detail?id=629749 Original issue's description: > Move Error methods to C++ > > This ports a large portion of Error methods to C++, > including the constructor, stack setter and getter, > and Error.prototype.toString. > > BUG= > > Committed: https://crrev.com/5742da056a290caa13a0b8717ddb1e43424e0d31 > Cr-Commit-Position: refs/heads/master@{#37870} TBR=yangguo@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2159223004 Cr-Commit-Position: refs/heads/master@{#37881}
-
- 19 Jul, 2016 2 commits
-
-
jgruber authored
This ports a large portion of Error methods to C++, including the constructor, stack setter and getter, and Error.prototype.toString. BUG= Review-Url: https://codereview.chromium.org/2142933003 Cr-Commit-Position: refs/heads/master@{#37870}
-
ahaas authored
Calling Runtime::kAbort through a builtin instead of the c-entry stub will allow to generate the call in a background thread, because a builtin provides its own handle, whereas a code stub does not. @v8-mips-ports: Could you take a special look at the padding that is done in MacroAssembler::Abort()? R=bmeurer@chromium.org, titzer@chromium.org, mstarzinger@chromium.org, v8-mips-ports@googlegroups.com, v8-arm-ports@googlegroups.com Review-Url: https://codereview.chromium.org/2156923002 Cr-Commit-Position: refs/heads/master@{#37854}
-