- 30 Nov, 2016 23 commits
-
-
caitp authored
Before, we were treating objects with the builtin ArrayValues iterator method as array-like, where the iterator would iterate through to the full length of the object. This optimization was not sound, because it does not ensure that the next method hasn't been modified. Even if it hasn't been modified, it's entirely possible to be modified during iteration. Thus, this optimization has been removed due to its observability. BUG=v8:5699 R=littledan@chromium.org, cbruni@chromium.org Review-Url: https://codereview.chromium.org/2544503002 Cr-Commit-Position: refs/heads/master@{#41394}
-
leszeks authored
This was causing more confusion than benefit, so we're removing it. It's re-defined to empty for now, to avoid touching the ~100 files which use it, we can remove it completely during a quiet period when it's less likely to conflict with other work. Review-Url: https://codereview.chromium.org/2535383005 Cr-Commit-Position: refs/heads/master@{#41393}
-
neis authored
JS operators always have an implicit context input, so just use that instead. BUG= Review-Url: https://codereview.chromium.org/2541813002 Cr-Commit-Position: refs/heads/master@{#41392}
-
ulan authored
This is an experiment to see the impact of the limit on OOM crashes. BUG=chromium:667388 Review-Url: https://codereview.chromium.org/2514313004 Cr-Commit-Position: refs/heads/master@{#41391}
-
ishell authored
BUG=chromium:666947 Review-Url: https://codereview.chromium.org/2539013002 Cr-Commit-Position: refs/heads/master@{#41390}
-
jarin authored
BUG=chromium:669024 Review-Url: https://codereview.chromium.org/2531163006 Cr-Commit-Position: refs/heads/master@{#41389}
-
clemensh authored
These byte pointers (module_start and module_end) were only valid during decoding. During instantiation or execution, they can get invalidated by garbage collection. This CL removes them from the WasmModule struct, and introduces a new ModuleStorage struct as interface to the wasm wire bytes. Since the storage is often needed together with the ModuleEnv, a new ModuleStorageEnv struct holds both a ModuleEnv and a ModuleStorage. The pointers in the ModuleStorage should never escape the live range of this struct, as they might point into a SeqOneByteString or ArrayBuffer. Therefore, the WasmInterpreter needs to create its own copy of the whole module. Runtime functions that previously used the raw pointers in WasmModule (leading to memory errors) now have to use the SeqOneByteString in the WasmCompiledModule. R=titzer@chromium.org BUG=chromium:669518 Review-Url: https://codereview.chromium.org/2540133002 Cr-Commit-Position: refs/heads/master@{#41388}
-
rmcilroy authored
JSFrameSpecialization depends on the layout of the frame and doesn't work with interpreted frames. Disable it since it is only used for OSR from asmjs code, which shouldn't go through the bytecode graph builder in many cases. BUG=669517 Review-Url: https://codereview.chromium.org/2538823002 Cr-Commit-Position: refs/heads/master@{#41387}
-
jochen authored
Also move them to a separate interface header to avoid having to include parser.h so much BUG=v8:5589 R=verwaest@chromium.org,marja@chromium.org Review-Url: https://codereview.chromium.org/2534393002 Cr-Commit-Position: refs/heads/master@{#41386}
-
shiyu.zhang authored
Remove redundant operands swap for compare operation. BUG= Review-Url: https://codereview.chromium.org/2507683002 Cr-Commit-Position: refs/heads/master@{#41385}
-
jgruber authored
Defining the subclass within the loop significantly affects subsequent test results. For instance, the Search benchmark is 50% slower if the subclass is defined within the loop. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2537253003 Cr-Commit-Position: refs/heads/master@{#41384}
-
hpayer authored
[heap] Reduce store buffer size to increase chance to run concurrent store buffer processing thread more often. BUG= Review-Url: https://codereview.chromium.org/2529623002 Cr-Commit-Position: refs/heads/master@{#41383}
-
ahaas authored
I removed {IsWasmInstance} because it is not used anywhere, and I moved ThrowWasmError to runtime-wasm.cc R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2541633003 Cr-Commit-Position: refs/heads/master@{#41382}
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG= Review-Url: https://codereview.chromium.org/2528033002 Cr-Commit-Position: refs/heads/master@{#41381}
-
neis authored
JSLoadContext and JSStoreContext are always reduced in js-typed-lowering. R=mstarzinger@chromium.org BUG= Review-Url: https://codereview.chromium.org/2535253002 Cr-Commit-Position: refs/heads/master@{#41380}
-
clemensh authored
v8::Global is movable, so no need to heap-allocate them. R=yangguo@chromium.org, kozyatinskiy@chromium.org Review-Url: https://codereview.chromium.org/2537433002 Cr-Commit-Position: refs/heads/master@{#41379}
-
rmcilroy authored
BUG=v8:4680 Review-Url: https://codereview.chromium.org/2541563002 Cr-Commit-Position: refs/heads/master@{#41378}
-
zhengxing.li authored
port df2578d2 (r41368) original commit message: Improves performance in simple, single element case by 5% and in multiple elements cases by 2%. BUG= Review-Url: https://codereview.chromium.org/2540803004 Cr-Commit-Position: refs/heads/master@{#41377}
-
leszeks authored
Blocking roll: https://codereview.chromium.org/2537173002/ NOTRY=true Review-Url: https://codereview.chromium.org/2532103004 Cr-Commit-Position: refs/heads/master@{#41376}
-
neis authored
This adds consistency checks for function kind and scope type to SharedFunctionInfoVerify. It also fixes an inconsistency in the creation of a ScopeInfo. R=adamk@chromium.org BUG= Review-Url: https://codereview.chromium.org/2537093002 Cr-Commit-Position: refs/heads/master@{#41375}
-
neis authored
When removing a scope (see FinalizeBlockScope), remember the removal by making the scope its own sibling. This avoid recalculating the information later on. R=adamk@chromium.org BUG= Review-Url: https://codereview.chromium.org/2536993003 Cr-Commit-Position: refs/heads/master@{#41374}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/11a223f..4e4ff82 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapul/+log/3950931..2dd86f1 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clan/+log/4d70bef..f81598c TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2539733003 Cr-Commit-Position: refs/heads/master@{#41373}
-
bradnelson authored
Make the AsmWasmBuilder drive the process of typing and potentially parsing function bodies. This will allow us to keep only a single asm.js function's AST in memory as we convert to WebAssembly. This is needed to keep our memory footprint low. Add some additional output to a few tests that's helpful to see which stage they fail at. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 LOG=N R=marja@chromium.org,adamk@chromium.org,aseemgarg@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2398023002 Cr-Commit-Position: refs/heads/master@{#41372}
-
- 29 Nov, 2016 17 commits
-
-
kozyatinskiy authored
BUG=chromium:350797 R=dgozman@chromium.org TBR=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2527473004 Cr-Commit-Position: refs/heads/master@{#41371}
-
bjaideep authored
Port df2578d2 Original Commit Message: Improves performance in simple, single element case by 5% and in multiple elements cases by 2%. R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:608675 LOG=N Review-Url: https://codereview.chromium.org/2537513005 Cr-Commit-Position: refs/heads/master@{#41370}
-
alph authored
Rename it to better represent the reason. Also makes the inspector sentence "Not Optimized: Optimized too many times" look less confusing. Review-Url: https://codereview.chromium.org/2530423003 Cr-Commit-Position: refs/heads/master@{#41369}
-
danno authored
Improves performance in simple, single element case by 5% and in multiple elements cases by 2%. BUG=chromium:608675 LOG=N Review-Url: https://codereview.chromium.org/2497243002 Cr-Commit-Position: refs/heads/master@{#41368}
-
rmcilroy authored
Functions with asm-wasm data shouldn't be marked for optimization, since they will be optimized using the asm-wasm data instead. Review-Url: https://codereview.chromium.org/2537103002 Cr-Commit-Position: refs/heads/master@{#41367}
-
rmcilroy authored
Review-Url: https://codereview.chromium.org/2534123003 Cr-Commit-Position: refs/heads/master@{#41366}
-
mstarzinger authored
This removes support for dynamic scoping via with-statement constructs from the {FullCodeGenerator}. Consequently optimized code containing such constructs must use the {BytecodeGraphBuilder} and can no longer use the {AstGraphBuilder} for graph building. R=rmcilroy@chromium.org BUG=v8:5657 Review-Url: https://codereview.chromium.org/2533283002 Cr-Commit-Position: refs/heads/master@{#41365}
-
vogelheim authored
BUG=chromium:669017 Review-Url: https://codereview.chromium.org/2536783003 Cr-Commit-Position: refs/heads/master@{#41364}
-
clemensh authored
This not only potentially improves performance, but also avoids weird linker errors, like the one below, where I used Smi::kMinValue in a DCHECK_LE. > [421/649] LINK ./mksnapshot > FAILED: mksnapshot > src/base/logging.h|178| error: undefined reference to 'v8::internal::Smi::kMinValue' R=bmeurer@chromium.org, ishell@chromium.org Committed: https://crrev.com/76723502528c5af003fdffc3520632ea2a13fef3 Review-Url: https://codereview.chromium.org/2524093002 Cr-Original-Commit-Position: refs/heads/master@{#41273} Cr-Commit-Position: refs/heads/master@{#41363}
-
vogelheim authored
R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2531983004 Cr-Commit-Position: refs/heads/master@{#41362}
-
leszeks authored
Since the majority of bytecodes have a next instruction, and we iterate over the bytecodes backwards, we can keep the previous seen (i.e. sequentially next) bytecode's liveness on a variable instead of looking it up again. Review-Url: https://codereview.chromium.org/2541463002 Cr-Commit-Position: refs/heads/master@{#41361}
-
bmeurer authored
BUG=chromium:669494 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2533303002 Cr-Commit-Position: refs/heads/master@{#41360}
-
bmeurer authored
The EscapeStatusAnalysis didn't know anything about the simplified operator ConvertTaggedHoleToUndefined, thus leading to a crash. We now just handled it by pretending that any allocation that goes into such a node escapes. BUG=chromium:669451 R=tebbi@chromium.org Review-Url: https://codereview.chromium.org/2533263002 Cr-Commit-Position: refs/heads/master@{#41359}
-
mstarzinger authored
This removes reservation of unused {BailoutId} numbers for all class literals. These language constructs are by now solely funneled through bytecode and specific ids for deoptimization are no longer needed. R=rmcilroy@chromium.org BUG=v8:5657 Review-Url: https://codereview.chromium.org/2535223002 Cr-Commit-Position: refs/heads/master@{#41358}
-
mstarzinger authored
This removes support for iterator loops (i.e. for-of loop constructs) from the {FullCodeGenerator}. Consequently optimized code containing such constructs must use the {BytecodeGraphBuilder} and can no longer use the {AstGraphBuilder} for graph building. R=bmeurer@chromium.org BUG=v8:5657 Review-Url: https://codereview.chromium.org/2534883004 Cr-Commit-Position: refs/heads/master@{#41357}
-
rmcilroy authored
Adds a bytecode_age field to BytecodeArray objects. This is incremented each time the bytecode array is marked by GC, and reset to zero if the bytecode is executed. This is used to enable the CompilationCache for interpreted functions, where Interpreted entries are evicted once the bytecode becomes old. BUG=chromium:666275,v8:4680 Review-Url: https://codereview.chromium.org/2534763003 Cr-Commit-Position: refs/heads/master@{#41356}
-
leszeks authored
Replaces the graph-based liveness analyzer in the bytecode graph builder with an initial bytecode-based liveness analysis pass, which is added to the existing loop extent analysis. Now the StateValues in the graph have their inputs initialised to optimized_out, rather than being modified after the graph is built. Review-Url: https://codereview.chromium.org/2523893003 Cr-Commit-Position: refs/heads/master@{#41355}
-