- 19 Jul, 2016 7 commits
-
-
mstarzinger authored
This allows to pass deoptimization reasons to the profiler without the requirement of always providing a source position. The absence of deopt reasons is now communicated via a sentinel as the deopt id value. The deoptimization reasons recently added to TurboFan are now passed to the profiler. R=bmeurer@chromium.org TEST=cctest/test-cpu-profiler Review-Url: https://codereview.chromium.org/2159793002 Cr-Commit-Position: refs/heads/master@{#37852}
-
nikolaos authored
R=adamk@chromium.org, littledan@chromium.org BUG= LOG=N Review-Url: https://codereview.chromium.org/2154253002 Cr-Commit-Position: refs/heads/master@{#37851}
-
bmeurer authored
We need to pay attention to potential side effects from parameter evaluation when inlining the fast case Array.prototype.shift. R=yangguo@chromium.org BUG=chromium:614644 Review-Url: https://codereview.chromium.org/2161943002 Cr-Commit-Position: refs/heads/master@{#37850}
-
bmeurer authored
Introduce a proper CodeStubAssembler::BranchIfToBooleanIsTrue helper method, that branches to if_true/if_false labels depending on whether the value that is passed would yield true or false when fed to ToBoolean. Use this helper to implement the bytecode handlers w/o having to materialize the temporary booleans and essentially branching twice. The CodeStubAssembler::BranchIfToBooleanIsTrue helper favors the most likely case of a Boolean constant now. Also migrate the ToBooleanStub to a ToBoolean TurboFan builtin, that also uses the helper method under the hood. Remove the now obsolete Oddball::to_boolean field. R=hpayer@chromium.org, rmcilroy@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/2151163002 Cr-Commit-Position: refs/heads/master@{#37849}
-
marija.antic authored
Port of 26ecb4a1 TEST=mjsunit/es6/math-fround Review-Url: https://codereview.chromium.org/2156123002 Cr-Commit-Position: refs/heads/master@{#37848}
-
v8-autoroll authored
Rolling v8/base/trace_event/common to f8c51e1c3b08cd1c03986f098732b87ba98a3475 Rolling v8/build to 1303552bdbd1791ad26b62f7c7052cbbf0326574 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2161933002 Cr-Commit-Position: refs/heads/master@{#37847}
-
weiliang.lin authored
BUG= Review-Url: https://codereview.chromium.org/2158923002 Cr-Commit-Position: refs/heads/master@{#37846}
-
- 18 Jul, 2016 33 commits
-
-
ivica.bogosavljevic authored
In case of deoptimization after WordCompare test, the control flow is lost in the unoptimized version of the code because wrong register is used for comparision (a0 instead of v0) TEST=mjsunit/regress/regress-3717 BUG= Review-Url: https://codereview.chromium.org/2160533003 Cr-Commit-Position: refs/heads/master@{#37845}
-
thakis authored
Review-Url: https://codereview.chromium.org/2160633002 Cr-Commit-Position: refs/heads/master@{#37844}
-
jochen authored
I want to use those methods from ApiNatives so move them to a shared location. BUG= R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2156153002 Cr-Commit-Position: refs/heads/master@{#37843}
-
jochen authored
Original issue's description: > Don't compile functions in a context the caller doesn't have access to > > Instead just return undefined > > A side effect of this is that it's no longer possible to compile > functions in a detached context. > > BUG=chromium:541703 > R=verwaest@chromium.org,bmeurer@chromium.org BUG=chromium:541703 R=verwaest@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng Review-Url: https://codereview.chromium.org/2155503004 Cr-Commit-Position: refs/heads/master@{#37842}
-
machenbach authored
Broke in https://codereview.chromium.org/2116913002/ due to rebase. BUG=chromium:474921 NOTRY=true TBR=jochen@chromium.org, dpranke@chromium.org Review-Url: https://codereview.chromium.org/2156993002 Cr-Commit-Position: refs/heads/master@{#37841}
-
verwaest authored
This is a first step towards reducing memory usage by scopes in the parser. Peak zone memory usage on octane-codeload goes down by ~10% BUG= Review-Url: https://codereview.chromium.org/2159573002 Cr-Commit-Position: refs/heads/master@{#37840}
-
machenbach authored
BUG=chromium:474921 NOTRY=true TBR=jochen@chromium.org, vogelheim@chromium.org Review-Url: https://codereview.chromium.org/2156063003 Cr-Commit-Position: refs/heads/master@{#37839}
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5197 Review-Url: https://codereview.chromium.org/2158793003 Cr-Commit-Position: refs/heads/master@{#37838}
-
jgruber authored
Calling into JS from stack trace generation becomes an issue during stack overflows: we'd detect a stack overflow, attempt to create an exception, call into JS, detect a stack overflow, and repeat. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2147193002 Cr-Commit-Position: refs/heads/master@{#37837}
-
rmcilroy authored
BUG=chromium:610407 Review-Url: https://codereview.chromium.org/2156073002 Cr-Commit-Position: refs/heads/master@{#37836}
-
daniel.bevenius authored
When reading through the source code (v8.h) I found some minor typos which I wanted to report. BUG= Review-Url: https://codereview.chromium.org/2130513002 Cr-Commit-Position: refs/heads/master@{#37835}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2149663003 Cr-Commit-Position: refs/heads/master@{#37834}
-
yangguo authored
The bug occurs because we do not canonicalize character class ranges before adding case equivalents. While adding case equivalents, we abort early for one-byte subject strings, assuming that the ranges are sorted. Which they are not. R=marja@chromium.org BUG=v8:5199 Review-Url: https://codereview.chromium.org/2159683002 Cr-Commit-Position: refs/heads/master@{#37833}
-
jarin authored
This makes sure that we preserve call's tailness even if we have introduced a loop exit between the call and the return. BUG=chromium:628773 Review-Url: https://codereview.chromium.org/2155123002 Cr-Commit-Position: refs/heads/master@{#37832}
-
mvstanton authored
In int32 multiplication, if we have a positive integer as input, then we know we can't produce a -0 answer. The same is true if truncation is applied (x * y | 0). Without this information, we have to rather annoyingly check if the result of multiplication is 0, then OR the inputs to check for negativity, and possibly return -0. In TurboFan, we'll deopt in this case. BUG= Review-Url: https://codereview.chromium.org/2154073002 Cr-Commit-Position: refs/heads/master@{#37831}
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5197 Review-Url: https://codereview.chromium.org/2152923003 Cr-Commit-Position: refs/heads/master@{#37830}
-
bbudge authored
LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2157873002 Cr-Commit-Position: refs/heads/master@{#37829}
-
georgia.kouveli authored
Based on 317dc057. BUG= Review-Url: https://codereview.chromium.org/2152253002 Cr-Commit-Position: refs/heads/master@{#37828}
-
franzih authored
For angular.js on Speedometer, this results in 8.96% speed up, i.e., the tests take on average 762ms with this patch, 837ms without. BUG= v8:5175 Review-Url: https://codereview.chromium.org/2134803002 Cr-Commit-Position: refs/heads/master@{#37827}
-
ahaas authored
These tests seem to pass just fine. R=titzer@chromium.org BUG=v8:4795 Review-Url: https://codereview.chromium.org/2162433002 Cr-Commit-Position: refs/heads/master@{#37826}
-
bangfu.tao authored
BUG= A bug in android-run.py, which caused the android_arm.release.check throws error: data/local/tmp/v8/test/mjsunit/wasm/function-prototype.js:7: Error loading file load("test/mjsunit/wasm/wasm-constants.js"); Review-Url: https://codereview.chromium.org/2070323002 Cr-Commit-Position: refs/heads/master@{#37825}
-
jochen authored
BUG= R=ulan@chromium.org,verwaest@chromium.org Review-Url: https://codereview.chromium.org/2153423002 Cr-Commit-Position: refs/heads/master@{#37824}
-
bmeurer authored
So far TurboFan wasn't adding the deoptimization reasons for eager/soft deoptimization exits that can be used by either the DevTools profiler or the --trace-deopt flag. This adds basic support for deopt reasons on Deoptimize, DeoptimizeIf and DeoptimizeUnless nodes and threads through the reasons to the code generation. Also moves the DeoptReason to it's own file (to resolve include cycles) and drops unused reasons. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2161543002 Cr-Commit-Position: refs/heads/master@{#37823}
-
machenbach authored
Revert of Add force_dynamic_crt to build as static library but with /MD on windows (patchset #3 id:40001 of https://codereview.chromium.org/2149963002/ ) Reason for revert: Fails gyp build with chromium: https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/builds/37051 Blocks roll: https://codereview.chromium.org/2157903002/ Please add the trybot ios-simulator on reland. Original issue's description: > [build] Add force_dynamic_crt option to build a static library with /MD on windows > > Adds option to build a V8 library statically, but with the options on > windows that allows it to be subsequently included in another DLL. On > Windows this is required for it to correclty link against the correct > C++ runtime. Require for our Node.js shared library build. > > Reference: https://github.com/nodejs/node/pull/7487 > > BUG= > R=machenbach@chromium.org, michael_dawson@ca.ibm.com > > Committed: https://crrev.com/9cf88c1c364cf76c1e745aa63196768435e8ef5d > Cr-Commit-Position: refs/heads/master@{#37814} TBR=michael_dawson@ca.ibm.com,franzih@chromium.org,sxa@uk.ibm.com # 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/2155073002 Cr-Commit-Position: refs/heads/master@{#37822}
-
oth authored
Revert of [interpeter] Move to table based peephole optimizer. (patchset #38 id:730001 of https://codereview.chromium.org/2118183002/ ) Reason for revert: Break MIPS port. Original issue's description: > [interpeter] Move to table based peephole optimizer. > > Introduces a lookup table for peephole optimizations. > > Fixes some tests using BytecodePeepholeOptimizer::Write() that should > have been update to use BytecodePeepholeOptimizer::WriteJump(). > > BUG=v8:4280 > LOG=N > > Committed: https://crrev.com/f4234422b93b21a286b0f31799009bcbe8b90b9e > Cr-Commit-Position: refs/heads/master@{#37819} TBR=rmcilroy@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280 Review-Url: https://codereview.chromium.org/2161563002 Cr-Commit-Position: refs/heads/master@{#37821}
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5197 Review-Url: https://codereview.chromium.org/2155633002 Cr-Commit-Position: refs/heads/master@{#37820}
-
oth authored
Introduces a lookup table for peephole optimizations. Fixes some tests using BytecodePeepholeOptimizer::Write() that should have been update to use BytecodePeepholeOptimizer::WriteJump(). BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2118183002 Cr-Commit-Position: refs/heads/master@{#37819}
-
mstarzinger authored
This fixes the deoptimization information for the lazy bailout point after a [[ToObject]] operation inserted for with statements. The result value was pushed on the operand stack but erroneously ignored and left on the operand stack by the FullCodeGenerator. R=jarin@chromium.org TEST=mjsunit/regress/regress-5205 BUG=v8:5205 Review-Url: https://codereview.chromium.org/2158443002 Cr-Commit-Position: refs/heads/master@{#37818}
-
marja authored
crbug.com/518788 looks like AstValueFactory::strings_ would contain nullptrs which shouldn't be possible. This CL makes us crash earlier before putting nullptrs into it. It's paranoid, since Zone should already crash before returning nullptr. BUG=518788 LOG=n R=adamk@chromium.org Review-Url: https://codereview.chromium.org/2156513002 Cr-Commit-Position: refs/heads/master@{#37817}
-
marja authored
BUG= Review-Url: https://codereview.chromium.org/2145753006 Cr-Commit-Position: refs/heads/master@{#37816}
-
neis authored
Highlights: - Record all imports and exports in the ModuleDescriptor. - Remove ImportDeclaration; instead, introduce a new variable kind for imports. - Set name on default exported anonymous functions. Still to do: declaration of namespace imports. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2108193003 Cr-Commit-Position: refs/heads/master@{#37815}
-
sxa authored
Adds option to build a V8 library statically, but with the options on windows that allows it to be subsequently included in another DLL. On Windows this is required for it to correclty link against the correct C++ runtime. Require for our Node.js shared library build. Reference: https://github.com/nodejs/node/pull/7487 BUG= R=machenbach@chromium.org, michael_dawson@ca.ibm.com Review-Url: https://codereview.chromium.org/2149963002 Cr-Commit-Position: refs/heads/master@{#37814}
-
weiliang.lin authored
Review-Url: https://codereview.chromium.org/2161503002 Cr-Commit-Position: refs/heads/master@{#37813}
-