- 16 Feb, 2016 35 commits
-
-
balazs.kilvady authored
Port 09d84535 More fix after 3b980234 Original commit message: The FastNewStrictArgumentsStub is very similar to the recently added FastNewRestParameterStub, it's actually almost a copy of it, except that it doesn't have the fast case we have for the empty rest parameter. This patch improves strict arguments in TurboFan and fullcodegen by up to 10x compared to the previous version. Also introduce proper JSSloppyArgumentsObject and JSStrictArgumentsObject for the in-object properties instead of having them as constants in the Heap class. Drive-by-fix: Use this stub and the FastNewRestParameterStub in the interpreter to avoid the runtime call overhead for strict arguments and rest parameter creation. BUG= Review URL: https://codereview.chromium.org/1699183002 Cr-Commit-Position: refs/heads/master@{#34043}
-
fmeawad authored
BUG=559117 LOG=N Review URL: https://codereview.chromium.org/1684963002 Cr-Commit-Position: refs/heads/master@{#34042}
-
hpayer authored
BUG=chromium:587026 LOG=n Review URL: https://codereview.chromium.org/1696413002 Cr-Commit-Position: refs/heads/master@{#34041}
-
rmcilroy authored
Various places assume that GetExpression returns the locals for a frame. Modify InterpretedFrames such that GetExpression(0) returns the first local, not the fixed parts of the interpreter frame. BUG=v8:4690,v8:4680 LOG=N Review URL: https://codereview.chromium.org/1697223003 Cr-Commit-Position: refs/heads/master@{#34040}
-
titzer authored
This CL splits up some long-running bytecode graph builder tests. There's a lot of working going on here that probably should be split up into smaller tests and/or mjsunit tests once we have the full ignition pipeline. This one just targets the top offenders for now. R=rmcilroy@chromium.org, oth@chromium.org BUG= Review URL: https://codereview.chromium.org/1699113002 Cr-Commit-Position: refs/heads/master@{#34039}
-
rmcilroy authored
Reduces time for ConstantArrayBuilderTest.AllocateAllEntries from 21000ms to 106ms in debug mode. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1696363002 Cr-Commit-Position: refs/heads/master@{#34038}
-
bmeurer authored
Drive-by-fix: Remove the (now) unused %_SetValueOf and %_JSValueGetValue intrinsics from the various compilers and the runtime. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1698343002 Cr-Commit-Position: refs/heads/master@{#34037}
-
mstarzinger authored
R=bmeurer@chromium.org BUG=v8:3956 LOG=n Review URL: https://codereview.chromium.org/1693833002 Cr-Commit-Position: refs/heads/master@{#34036}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1696333002 Cr-Commit-Position: refs/heads/master@{#34035}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1694403002 Cr-Commit-Position: refs/heads/master@{#34034}
-
machenbach authored
Revert of [tools] add --pretty switch to run_perf.py (patchset #8 id:140001 of https://codereview.chromium.org/1681283004/ ) Reason for revert: [Sheriff] Still fails on android. Original issue's description: > reland [tools] add --pretty switch to run_perf.py > > This CL improves running our internal benchmarks locally by adding the > --pretty option to tools/run_perf.py. With the flag enabled we print > the run-time of each benchmark directly and avoid the json output at > the end. > > NOTRY=true > > Committed: https://crrev.com/b543c40d78c3aa8283a7d9fccb6c9e26a9a81f90 > Cr-Commit-Position: refs/heads/master@{#34023} TBR=cbruni@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/1700953002 Cr-Commit-Position: refs/heads/master@{#34033}
-
rmcilroy authored
Replaces the push of the dispatch table on the interpreted stack frame with a push of the bytecode array. This enables the debugger to replace the bytecode array with a patched version containing breakpoints. BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1699013002 Cr-Commit-Position: refs/heads/master@{#34032}
-
ulan authored
This new class provides a unified interface for recording and iterating slots in store and slots buffers: RememberedSet<OLD_TO_NEW>::Insert(page, slot); RememberedSet<OLD_TO_OLD>::Insert(page, slot); RememberedSet<OLD_TO_NEW>::Iterate(heap, callback); RememberedSet<OLD_TO_OLD>::Iterate(heap, callback); After this change the store buffer is responsible only for collecting slots from the generated code. Subsequent CLs will remove the slots buffer. BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1683653002 Cr-Commit-Position: refs/heads/master@{#34031}
-
danno authored
Before this CL, the context of the parent frame was used when deoptimizing a stub failure rather than the context value passed to the stub itself. In order to guarantee that the right context is passed to the runtime upon stub failure, this CL adds the context explicitly to the stub's environment that's used to compute the failure deoptimizing translations. The context can then be extracted during deoptimization translation to ensure that the precise context that was passed to the stub is also passed to the runtime. R=jarin@chromium.org LOG=N Review URL: https://codereview.chromium.org/1694183003 Cr-Commit-Position: refs/heads/master@{#34030}
-
martyn.capewell authored
Support SBFX in the instruction selector for sign-extension patterns like Sar(Shl(x, a), b), where a and b are immediate values. BUG= Review URL: https://codereview.chromium.org/1695293002 Cr-Commit-Position: refs/heads/master@{#34029}
-
rodolph.perfetta authored
Let me know if this is not the right approach Review URL: https://codereview.chromium.org/1698483002 Cr-Commit-Position: refs/heads/master@{#34028}
-
jkummerow authored
Revert of Tweak type info threshold. (patchset #1 id:1 of https://codereview.chromium.org/1684093002/ ) Reason for revert: Tanks Mandreel-latency. Original issue's description: > Tweak type info threshold. > > Let the world know (if it cares) that this is the kind of > silliness that JS engines have to partake in if they want > to look good on Sunspider (this should give 5% overall). > > Committed: https://crrev.com/4f62af4234e8ad74abd8e4cd3e492f7727efc768 > Cr-Commit-Position: refs/heads/master@{#33866} TBR=yangguo@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. Review URL: https://codereview.chromium.org/1699063002 Cr-Commit-Position: refs/heads/master@{#34027}
-
jarin authored
Review URL: https://codereview.chromium.org/1700923002 Cr-Commit-Position: refs/heads/master@{#34026}
-
epertoso authored
Before this fix, we always ended up calling Runtime_LoadPropertyWithInterceptor, which caused the performance regression reported in http://crbug.com/585764. BUG=585764 LOG=y Review URL: https://codereview.chromium.org/1699913002 Cr-Commit-Position: refs/heads/master@{#34025}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1702443002 Cr-Commit-Position: refs/heads/master@{#34024}
-
cbruni authored
This CL improves running our internal benchmarks locally by adding the --pretty option to tools/run_perf.py. With the flag enabled we print the run-time of each benchmark directly and avoid the json output at the end. NOTRY=true Review URL: https://codereview.chromium.org/1681283004 Cr-Commit-Position: refs/heads/master@{#34023}
-
cbruni authored
EnsureJSArrayWithWritableFastElements Having several handles pointing to the backing store of an array that gets left-trimmed might cause the gc to start marking a stale-handle still pointing to the old backing-store start. By introducing a separate handle scope for EnsureJSArrayWithWritableFastElements we avoid this issue. Additionally a SLOW_DCHECK in Heap::LeftTrimFixedArray ensurse that there are no more than one active handle pointing to the backing store. BUG=chr:585787 LOG=n Review URL: https://codereview.chromium.org/1699733003 Cr-Commit-Position: refs/heads/master@{#34022}
-
hpayer authored
BUG=chromium:587026 LOG=n Review URL: https://codereview.chromium.org/1698983002 Cr-Commit-Position: refs/heads/master@{#34021}
-
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}
-
bmeurer authored
Revert of [turbofan] Combine GenericLoweringPhase and ChangeLoweringPhase. (patchset #1 id:1 of https://codereview.chromium.org/1697133002/ ) Reason for revert: Seems to tank stuff. Original issue's description: > [turbofan] Combine GenericLoweringPhase and ChangeLoweringPhase. > > There's no need to use a dedicated ChangeLoweringPhase before we go to > GenericLoweringPhase; instead that change lowering (which is really > simplified lowering by now) should run together with generic lowering. > > R=jarin@chromium.org > > Committed: https://crrev.com/0835ed9caf44427755065eb45f9187678ec9844c > Cr-Commit-Position: refs/heads/master@{#34008} TBR=jarin@chromium.org,bmeurer@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1698273002 Cr-Commit-Position: refs/heads/master@{#34019}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1700903002 Cr-Commit-Position: refs/heads/master@{#34018}
-
machenbach authored
Revert of [tools] add --pretty switch to run_perf.py (patchset #7 id:120001 of https://codereview.chromium.org/1681283004/ ) Reason for revert: [Sheriff] Breaks android runs. Will look later why. Original issue's description: > [tools] add --pretty switch to run_perf.py > > This CL improves running our internal benchmarks locally by adding the > --pretty option to tools/run_perf.py. With the flag enabled we print > the run-time of each benchmark directly and avoid the json output at > the end. > > NOTRY=true > > Committed: https://crrev.com/83f69507ab1b9380b56758b747d4f3fabc849e49 > Cr-Commit-Position: refs/heads/master@{#33981} TBR=cbruni@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/1696293002 Cr-Commit-Position: refs/heads/master@{#34017}
-
rmcilroy authored
Fixes a bug in Ignition on Arm64 where lr gets trashed in StaContextSlot which causes the stack walker to get confused and crash. BUG=v8:4680 LOG=N Review URL: https://codereview.chromium.org/1694263002 Cr-Commit-Position: refs/heads/master@{#34016}
-
bmeurer authored
This was actually only necessary for dealing with %_Arguments and %_ArgumentsLength in Crankshaft, which have been removed recently, so there's no need to keep this piece of awesomeness around any longer. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1695193003 Cr-Commit-Position: refs/heads/master@{#34015}
-
danno authored
This functionality is useful for stubs that need to walk the stack. The new machine operator, LoadParentFramePointer dosn't force the currently compiling method to have a frame in contrast to LoadFramePointer. Instead, it adapts accordingly when frame elision is possible, making efficient stack walks possible without incurring a performance penalty for small stubs that can benefit from frame elision. R=bmeurer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1695313002 Cr-Commit-Position: refs/heads/master@{#34014}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1697283002 Cr-Commit-Position: refs/heads/master@{#34013}
-
zhengxing.li authored
port 4ff159bd(r33880) original commit message: Add dedicated %LoadLookupSlot, %LoadLookupSlotInsideTypeof, %LoadLookupSlotForCall, %StoreLookupSlot_Sloppy and %StoreLookupSlot_Strict runtime entry points and use them appropriately in the various compilers. This way we can finally drop the machine operators from the JS graph level completely in TurboFan. Also drop the funky JSLoadDynamic operator from TurboFan, which was by now just a small wrapper around the runtime call to %LoadLookupSlot. BUG= Review URL: https://codereview.chromium.org/1694343002 Cr-Commit-Position: refs/heads/master@{#34012}
-
zhengxing.li authored
port d1c28849(r33873) original commit message: Moves InterpreterAssembler out of the compiler directory and into the interpreter directory. Makes InterpreterAssembler as subclass of CodeStubAssembler. As part of this change, the special bytecode dispatch linkage type is removed and instead we use a InterfaceDispatchDescriptor and a normal CodeStub linkage type. Removes a bunch of duplicated logic in InterpreterAssembler and instead uses the CodeStubAssembler logic. Refactors Interpreter with these changes. Modifies CodeStubAssembler to add the extra operations required by the Interpreter (extra call types, raw memory access and some extra binary ops). Also adds the ability for subclasses to add extra prologue and epilogue operations around calls, which is required for the Interpreter. BUG= Review URL: https://codereview.chromium.org/1696263002 Cr-Commit-Position: refs/heads/master@{#34011}
-
v8-autoroll authored
Rolling v8/tools/clang to 7a1ebdd9ae15490c88e87bf9b34417c318fe1986 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1702543002 Cr-Commit-Position: refs/heads/master@{#34010}
-
bradnelson authored
BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=manual R=titzer@chromium.org,aseemgarg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1697723002 Cr-Commit-Position: refs/heads/master@{#34009}
-
- 15 Feb, 2016 5 commits
-
-
bmeurer authored
There's no need to use a dedicated ChangeLoweringPhase before we go to GenericLoweringPhase; instead that change lowering (which is really simplified lowering by now) should run together with generic lowering. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1697133002 Cr-Commit-Position: refs/heads/master@{#34008}
-
verwaest authored
This avoids quite expensive computation further downstream. Review URL: https://codereview.chromium.org/1697173002 Cr-Commit-Position: refs/heads/master@{#34007}
-
mbrandy authored
Port 4eff883b c72b49bd Original commit message: Ideally we would not need the StoreWriteBarrier instructions at all, but represent the RecordWrite functionality as machine subgraph, but that'll take some time to get there. In the mean time we can have a shorter instruction sequence by recognizing immediate indices here. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1695333002 Cr-Commit-Position: refs/heads/master@{#34006}
-
mbrandy authored
Port e0129d0f Original commit message: Turn the fast case of ArgumentsAccessStub into a new stub FastNewSloppyArgumentsStub, which is similar to the existing FastNewStrictArgumentsStub, although not polished yet, and the slow case always went to the runtime anyway, so we can just directly emit a runtime call there. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1699923002 Cr-Commit-Position: refs/heads/master@{#34005}
-
mbrandy authored
Port 0d59772b Original commit message: for the special case where the same register is used as both left and right input. R=jkummerow@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1698903002 Cr-Commit-Position: refs/heads/master@{#34004}
-