- 21 Jul, 2016 26 commits
-
-
verwaest authored
Replace the zonelist with a link from a scope to any of its inner scopes, and a link to any sibling scope. This makes scopes that track inner scopes use roughly the same amount of space as previously scopes without inner scopes would use for the empty zonelist (pointer to the memory + length field, which, granted could be slightly smaller on 64bit). BUG=v8:5209 Review-Url: https://codereview.chromium.org/2162143005 Cr-Commit-Position: refs/heads/master@{#37941}
-
cbruni authored
Only start checking if new keys are shadowed after the first prototype has added non-enumerable shadow keys. This helps minimally in some corner cases if there are few enumerable properties on the prototype compared to the receiver. BUG=chromium:628173 Review-Url: https://codereview.chromium.org/2169523002 Cr-Commit-Position: refs/heads/master@{#37940}
-
titzer authored
R=ahaas@chromium.org, rossberg@chromium.org BUG= Review-Url: https://codereview.chromium.org/2170773003 Cr-Commit-Position: refs/heads/master@{#37939}
-
marja authored
It's anyway just the "same" AstNodeFactory (i.e., it's passed the same AstValueFactory), so no need to have several of them for each FunctionState. R=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2169823002 Cr-Commit-Position: refs/heads/master@{#37938}
-
weiliang.lin authored
BUG= Review-Url: https://codereview.chromium.org/2161513002 Cr-Commit-Position: refs/heads/master@{#37937}
-
machenbach authored
Revert of Fix double-building of v8 in GN builds when setting just v8_target_cpu. (patchset #1 id:1 of https://codereview.chromium.org/2166173002/ ) Reason for revert: Breaks: https://build.chromium.org/p/client.v8.fyi/builders/V8%20Android%20GN%20%28dbg%29/builds/4590 And also the trybot: https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/99806 Original issue's description: > Fix double-building of v8 in GN builds when setting just v8_target_cpu. > > 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 > > Committed: https://crrev.com/3536db45c9409c9aadc4eee6004cf337c0588cdb > Cr-Commit-Position: refs/heads/master@{#37926} TBR=dpranke@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=629825 Review-Url: https://codereview.chromium.org/2167113002 Cr-Commit-Position: refs/heads/master@{#37936}
-
bmeurer authored
Use better names for the query methods on the Truncation class, that express more clearly what you intend to query. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2171703002 Cr-Commit-Position: refs/heads/master@{#37935}
-
cbruni authored
Use the ForInFilterStub directly. Hence we will only jump to the runtime for special receivers (instance_type <= LAST_SPECIAL_RECEIVER_TYPE) and for converting element indices which are not in the string cache. BUG= Review-Url: https://codereview.chromium.org/2151773002 Cr-Commit-Position: refs/heads/master@{#37934}
-
jacob.bramley authored
BUG=v8:5214 Review-Url: https://codereview.chromium.org/2166743003 Cr-Commit-Position: refs/heads/master@{#37933}
-
cbruni authored
BUG= Review-Url: https://codereview.chromium.org/2162393002 Cr-Commit-Position: refs/heads/master@{#37932}
-
rmcilroy authored
Move VisitLiteral to decide what type of literal is being emitted by checking the raw ASTValue type, instead of the internalized on-heap value. This is required for concurrent bytecode generation. As part of this change, the NUMBER AstValue constructor is modified to try to convert numbers without a dot to SMIs where possible. This is to maintain the behavior in NewNumber where such numbers are internalized as SMIs, and ensures that we still emit LdaSmi bytecodes for these values in the generated bytecode. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2152853002 Cr-Commit-Position: refs/heads/master@{#37931}
-
mstarzinger authored
This removes a duplicate control scope. The visitor for ForOfStatement nodes in the AST uses VisitIterationBody which pushes a separate control scope. The number of control scopes will be off when we use them for tracking loop depths. R=rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2164503005 Cr-Commit-Position: refs/heads/master@{#37930}
-
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 14 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}
-