- 21 Jul, 2016 14 commits
-
-
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}
-
bmeurer authored
We can actually eliminate certain effectful operations like loads and speculative number operations during representation selection if we discover that their value outputs are unused (we also propagate this information through pure operations as well, so that we remove the maximum number of effectful nodes possible). R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2168023002 Cr-Commit-Position: refs/heads/master@{#37928}
-
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}
-
dpranke authored
Because of the somewhat strange way default toolchains and custom toolchains and user-specified arguments work in GN, if you did a v8 build that just set v8_target_cpu, you could end up building two identical copies of v8 (see the comments in the change for more). This CL identifies that case and fixes it. R=machenbach@chromium.org BUG=629825 Review-Url: https://codereview.chromium.org/2166173002 Cr-Commit-Position: refs/heads/master@{#37926}
-
machenbach authored
Revert of [Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode (patchset #3 id:80001 of https://codereview.chromium.org/2156753002/ ) Reason for revert: Breaks tsan: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/10758 Original issue's description: > [Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode > > Always use the BytecodeGraphBuilder when the --turbo-from-bytecode > is enabled, assuming the function should be compiled for Ignition. > Adds a new MaybeOptimizeIgnition function to runtime-profiler > which is called if the function should be optimized from bytecode > rather than going via full-codegen. > > BUG=v8:4280 > > Committed: https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4 > Cr-Commit-Position: refs/heads/master@{#37921} TBR=mstarzinger@chromium.org,rmcilroy@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/2165223002 Cr-Commit-Position: refs/heads/master@{#37925}
-
jochen authored
R=machenbach@chromium.org BUG= Review-Url: https://codereview.chromium.org/2167723004 Cr-Commit-Position: refs/heads/master@{#37924}
-
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}
-
yangguo authored
R=franzih@chromium.org Review-Url: https://codereview.chromium.org/2157363005 Cr-Commit-Position: refs/heads/master@{#37922}
-
rmcilroy authored
Always use the BytecodeGraphBuilder when the --turbo-from-bytecode is enabled, assuming the function should be compiled for Ignition. Adds a new MaybeOptimizeIgnition function to runtime-profiler which is called if the function should be optimized from bytecode rather than going via full-codegen. BUG=v8:4280 Review-Url: https://codereview.chromium.org/2156753002 Cr-Commit-Position: refs/heads/master@{#37921}
-
marja authored
Putting SloppyBlockFunctionStatement into local_zone_ was too early. It needs to go into parser_zone_ because Scope refers to it. It will be moved back to local_zone_ when we can put Scopes into temporary Zones. A test (to demonstrate we crash without this CL) will follow in a separate CL. R=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2170813002 Cr-Commit-Position: refs/heads/master@{#37920}
-
bmeurer authored
The optimizing compilers actually invoke %TransitionElementsKind for any kind of JSObject, the only relevant thing is the elements kind. The runtime function was however checking for JSArray unnecessarily. This only worked by coincindence in Crankshaft because the stub would normally not call into the runtime fallback. R=jarin@chromium.org BUG=chromium:629823 Review-Url: https://codereview.chromium.org/2166963004 Cr-Commit-Position: refs/heads/master@{#37919}
-
marja authored
BUG= Review-Url: https://codereview.chromium.org/2166633003 Cr-Commit-Position: refs/heads/master@{#37918}
-
v8-autoroll authored
Rolling v8/base/trace_event/common to 315bf1e2d45be7d53346c31cfcc37424a32c30c8 Rolling v8/build to 47d75963ee42a9b9688e4f85c097b3a15d4f2bb2 Rolling v8/buildtools to 60f7f9a8b421ebf9a46041dfa2ff11c0fe59c582 Rolling v8/tools/mb to 1815b6867db701b1bba1c223e4f67811196122ea TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2168733003 Cr-Commit-Position: refs/heads/master@{#37917}
-
yangguo authored
There is simply no point in converting between relative and absolute source positions in both C++ and Javascript code. R=jgruber@chromium.org Review-Url: https://codereview.chromium.org/2169463002 Cr-Commit-Position: refs/heads/master@{#37916}
-
- 20 Jul, 2016 26 commits
-
-
bbudge authored
Fixes bug in test-gap-resolver.cc that didn't test different move reps. Fixes test canonicalization so all slots have the same type (non-float). Improve test failure text output. LOG=N BUG=v8:5187 Review-Url: https://codereview.chromium.org/2169493002 Cr-Commit-Position: refs/heads/master@{#37915}
-
adamk authored
SharedFunctionInfo::name is always a String if present (never a Symbol), so there's no need to first test it for IsName() before testing IsString(). This is enforced by a check in %FunctionSetName. As a bonus, the code no longer looks invalid (unconditionally casting a Name to a String). The logic came into this broken-looking state accidentally in the flag cleanup CL https://codereview.chromium.org/2096933002/. Review-Url: https://codereview.chromium.org/2162853003 Cr-Commit-Position: refs/heads/master@{#37914}
-
mattloring authored
Allows jitted code to be annotated in perf. To use: 1) Report generated code in code-(pid)-1.asm. perf record -- d8 --print-code --redirect-code-traces script.js 2) Run perf report from the directory containing the above code file. perf report --objdump=v8/tools/objdump-v8 This script supports generated code from both crankshaft or turbofan. BUG= Review-Url: https://codereview.chromium.org/2167553002 Cr-Commit-Position: refs/heads/master@{#37913}
-
verwaest authored
NewScope automatically uses scope(), whereas NewScopeWithParent can pass along any local Scope* as outer scope. The number of calls to NewScopeWithParent should be reduced over time. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2164943002 Cr-Commit-Position: refs/heads/master@{#37912}
-
ahaas authored
This CL more or less reverts commit https://codereview.chromium.org/2107733002/ The use of the MathPow code stub that was introduced by that commit caused problems on arm64, and the MathPow code stub was also an obstacle in the implementation of parallel code generation. In addition this CL turns on the mjsunit/wasm/embenchen tests for arm64 which were turned off because of problems with MathPow on arm64. R=titzer@chromium.org, bradnelson@chromium.org Review-Url: https://codereview.chromium.org/2166793002 Cr-Commit-Position: refs/heads/master@{#37911}
-
ishell authored
This CL fixes weird performance implications when changing layout of Code::flags field: it happened that the unused ICStateField with MONOMORPHIC value in the handlers' flags was accidentally offsetting the underflow bug in stub cache probing code on arm, arm64, mips and mips64. Stub cache tests now work even when snapshot is enabled. Drive-by-change: Fixed counters manipulation on arm64 and mips64. BUG=chromium:618701 Review-Url: https://codereview.chromium.org/2161153002 Cr-Commit-Position: refs/heads/master@{#37910}
-
jgruber authored
R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2163933002 Cr-Commit-Position: refs/heads/master@{#37909}
-
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}
-
verwaest authored
It's the only Scope type that has outer scope nullptr; and it always has outer scope nullptr. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2158913005 Cr-Commit-Position: refs/heads/master@{#37907}
-
jochen authored
BUG=v8:5215 R=marja@chromium.org Review-Url: https://codereview.chromium.org/2161033003 Cr-Commit-Position: refs/heads/master@{#37906}
-
jochen authored
That way, backtraces should work BUG= R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2168593002 Cr-Commit-Position: refs/heads/master@{#37905}
-
klaasb authored
For some bytecodes it is beneficial to always look for a Star bytecode when dispatching to the next and inline perform it without dispatching to the Star handler. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2142273003 Cr-Commit-Position: refs/heads/master@{#37904}
-
machenbach authored
BUG=chromium:629025 NOTRY=true NOPRESUBMIT=true TBR=sergiyb@chromium.org Review-Url: https://codereview.chromium.org/2165883003 Cr-Commit-Position: refs/heads/master@{#37903}
-
verwaest authored
This additionally makes the invariant obvious that outer_scope==nullptr+is_with_scope is impossible. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2165923002 Cr-Commit-Position: refs/heads/master@{#37902}
-
jochen authored
It takes the number of additional elements, not the total target capacity. Also, avoid right-shifting a negative integer as this is undefined in general BUG=v8:4909 R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2162333002 Cr-Commit-Position: refs/heads/master@{#37901}
-
mstarzinger authored
By now TurboFan is shipping on a broad range of language constructs and wholesale disabling TurboFan can still be done with the --turbo-filter flag. A dedicated flag controlling AST numbering heuristics is no longer needed. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2155243006 Cr-Commit-Position: refs/heads/master@{#37900}
-
bmeurer authored
Revert of [turbofan] Introduce TruncateTaggedToBit operator for ToBoolean truncation. (patchset #2 id:20001 of https://codereview.chromium.org/2167593002/ ) Reason for revert: Breaks arm64 gc stress: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/builds/1605 Original issue's description: > [turbofan] Introduce TruncateTaggedToBit operator for ToBoolean truncation. > > Add a dedicated simplified operator to inline the general case for the > ToBoolean conversion. In a follow up CL we will also use the ToBoolean > hints gathered by the baseline compiler. > > Committed: https://crrev.com/8c50b51ab3d21efcd2f6900d83962159f21e1590 > Cr-Commit-Position: refs/heads/master@{#37882} TBR=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/2170433002 Cr-Commit-Position: refs/heads/master@{#37899}
-
verwaest authored
This creates the guarantee that we can compute the parent scope later on. We'll do the same for other types of scopes as well (with perhaps a limited number of exceptions that will need to be eagerly allocated). BUG=v8:5209 Review-Url: https://codereview.chromium.org/2168563002 Cr-Commit-Position: refs/heads/master@{#37898}
-
neis authored
As required by the spec. This is a variant of what I reverted in f47e7224. It will probably still cause a regression but now it's easier to migrate (parts of) the current implementation to C++, which is expected to make things faster again. BUG=chromium:627729,v8:5113 Review-Url: https://codereview.chromium.org/2164923002 Cr-Commit-Position: refs/heads/master@{#37897}
-
machenbach authored
This prepares for relanding: https://codereview.chromium.org/2058033002/ All toplevel variables are visible in files including v8.gni. This works around potential name clashes. BUG=chromium:616034 Review-Url: https://codereview.chromium.org/2169443002 Cr-Commit-Position: refs/heads/master@{#37896}
-
jacob.bramley authored
This avoids implementation-defined signed overflow in the simulator's AddWithCarry implementation. The implementation of AddWithCarry now uses unsigned arithmetic exclusively. Testing coverage is also significantly improved. BUG= Review-Url: https://codereview.chromium.org/2157283003 Cr-Commit-Position: refs/heads/master@{#37895}
-
verwaest authored
BUG=v8:5209 Review-Url: https://codereview.chromium.org/2158393002 Cr-Commit-Position: refs/heads/master@{#37894}
-
marja authored
Using Isolate is unsafe, because we might parse (and do scope analysis) on a background thread. The illegal access happens when encountering f(arguments) { ... }. Kudos to verwaest@ for finding this bug. R=verwaest@chromium.org, rossberg@chromium.org BUG= Review-Url: https://codereview.chromium.org/2158343002 Cr-Commit-Position: refs/heads/master@{#37893}
-
yangguo authored
Review-Url: https://codereview.chromium.org/2162503002 Cr-Commit-Position: refs/heads/master@{#37892}
-
bmeurer authored
Look at the output type instead of the output representation, when converting to tagged representation. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2159373004 Cr-Commit-Position: refs/heads/master@{#37891}
-
jarin authored
BUG=chromium:608617 Review-Url: https://codereview.chromium.org/2163173002 Cr-Commit-Position: refs/heads/master@{#37890}
-