- 17 Nov, 2016 1 commit
-
-
kozyatinskiy authored
Inspector uses this type for all internal scripts, e.g. injected-script-source.js. Scripts with new type are not reported by remote debugging protocol, frames from them are ignored. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel BUG=none R=yangguo@chromium.org,dgozman@chromium.org Review-Url: https://codereview.chromium.org/2499273003 Cr-Commit-Position: refs/heads/master@{#41056}
-
- 16 Nov, 2016 3 commits
-
-
machenbach authored
Revert of Refactor SharedFunctionInfo::IsBuiltin. (patchset #1 id:1 of https://codereview.chromium.org/2505853003/ ) Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/11394 Original issue's description: > Refactor SharedFunctionInfo::IsBuiltin. > > This method is a slight misnomer. What we actually want to know is > whether the function was defined in a user-provided script. > > Also remove redundant Script::hide_source flag. > > R=bmeurer@chromium.org, ulan@chromium.org TBR=bmeurer@chromium.org,ulan@chromium.org,yangguo@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/2512463002 Cr-Commit-Position: refs/heads/master@{#41050}
-
ishell authored
BUG=chromium:665886 Review-Url: https://codereview.chromium.org/2502393002 Cr-Commit-Position: refs/heads/master@{#41045}
-
yangguo authored
This method is a slight misnomer. What we actually want to know is whether the function was defined in a user-provided script. Also remove redundant Script::hide_source flag. R=bmeurer@chromium.org, ulan@chromium.org Review-Url: https://codereview.chromium.org/2505853003 Cr-Commit-Position: refs/heads/master@{#41036}
-
- 15 Nov, 2016 2 commits
-
-
cbruni authored
In case of an allocation failure in for-in over holey elements, use precise number of elements to allocate a smaller buffer for the collected indices. Drive-by-fix: make is_the_hole accept the isolate for faster checks. BUG=chromium:609761 Review-Url: https://codereview.chromium.org/2041963003 Cr-Commit-Position: refs/heads/master@{#41010}
-
clemensh authored
Before, we allocated one script per function per instance, and each script referenced the wasm instance and the function index. Now we only allocate one script per compiled wasm module, so the script also only references this WasmCompiledModule, which causes changes to many interfaces. Instead of fixing the disassemble API only used via debug.js, I decided to drop it for now. Some later CL will reintroduce it via DebugInterface. BUG=v8:5530,chromium:659715 R=yangguo@chromium.org, titzer@chromium.org CC=jgruber@chromium.org Review-Url: https://codereview.chromium.org/2493823003 Cr-Commit-Position: refs/heads/master@{#41004}
-
- 14 Nov, 2016 2 commits
-
-
tebbi authored
This CL enables precise source positions for all V8 compilers. It merges compiler::SourcePosition and internal::SourcePosition to a single class used throughout the codebase. The new internal::SourcePosition instances store an id identifying an inlined function in addition to a script offset. SourcePosition::InliningId() refers to a the new table DeoptimizationInputData::InliningPositions(), which provides the following data for every inlining id: - The inlined SharedFunctionInfo as an offset into DeoptimizationInfo::LiteralArray - The SourcePosition of the inlining. Recursively, this yields the full inlining stack. Before the Code object is created, the same information can be found in CompilationInfo::inlined_functions(). If SourcePosition::InliningId() is SourcePosition::kNotInlined, it refers to the outer (non-inlined) function. So every SourcePosition has full information about its inlining stack, as long as the corresponding Code object is known. The internal represenation of a source position is a positive 64bit integer. All compilers create now appropriate source positions for inlined functions. In the case of Turbofan, this required using AstGraphBuilderWithPositions for inlined functions too. So this class is now moved to a header file. At the moment, the additional information in source positions is only used in --trace-deopt and --code-comments. The profiler needs to be updated, at the moment it gets the correct script offsets from the deopt info, but the wrong script id from the reconstructed deopt stack, which can lead to wrong outputs. This should be resolved by making the profiler use the new inlining information for deopts. I activated the inlined deoptimization tests in test-cpu-profiler.cc for Turbofan, changing them to a case where the deopt stack and the inlining position agree. It is currently still broken for other cases. The following additional changes were necessary: - The source position table (internal::SourcePositionTableBuilder etc.) supports now 64bit source positions. Encoding source positions in a single 64bit int together with the difference encoding in the source position table results in very little overhead for the inlining id, since only 12% of the source positions in Octane have a changed inlining id. - The class HPositionInfo was effectively dead code and is now removed. - SourcePosition has new printing and information facilities, including computing a full inlining stack. - I had to rename compiler/source-position.{h,cc} to compiler/compiler-source-position-table.{h,cc} to avoid clashes with the new src/source-position.cc file. - I wrote the new wrapper PodArray for ByteArray. It is a template working with any POD-type. This is used in DeoptimizationInputData::InliningPositions(). - I removed HInlinedFunctionInfo and HGraph::inlined_function_infos, because they were only used for the now obsolete Crankshaft inlining ids. - Crankshaft managed a list of inlined functions in Lithium: LChunk::inlined_functions. This is an analog structure to CompilationInfo::inlined_functions. So I removed LChunk::inlined_functions and made Crankshaft use CompilationInfo::inlined_functions instead, because this was necessary to register the offsets into the literal array in a uniform way. This is a safe change because LChunk::inlined_functions has no other uses and the functions in CompilationInfo::inlined_functions have a strictly longer lifespan, being created earlier (in Hydrogen already). BUG=v8:5432 Review-Url: https://codereview.chromium.org/2451853002 Cr-Commit-Position: refs/heads/master@{#40975}
-
caitp authored
Adds a protector cell to prevent inlining (which will likely lead to deopt loops) when a JSArrayIterator's array transitions from a fast JSArray to a slow JSArray (such as, when the array is touched during iteration in a way which triggers a map transition). Also adds TODO comments relating to the spec update proposed by Dan at https://github.com/tc39/ecma262/pull/724 BUG=v8:5388 R=bmeurer@chromium.org, mstarzinger@chromium.org TBR=hpayer@chromium.org, ulan@chromium.org Review-Url: https://codereview.chromium.org/2484003002 Cr-Commit-Position: refs/heads/master@{#40970}
-
- 11 Nov, 2016 1 commit
-
-
gsathya authored
- Creates a new promise-utils.{h, cc} which refactors out the logic to create resolving functions. This is shared between the runtime functions and builtins. - Changes PromiseResolveThenableJobInfo to store the context since we no longer create the resolving functions in JS. - Changes EnqueuPromiseResolveThenableJob to take in the promise and not the callbacks. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2487053002 Cr-Commit-Position: refs/heads/master@{#40941}
-
- 10 Nov, 2016 1 commit
-
-
jkummerow authored
BUG=v8:5269,v8:5561 Review-Url: https://codereview.chromium.org/2444353002 Cr-Commit-Position: refs/heads/master@{#40896}
-
- 09 Nov, 2016 1 commit
-
-
rmcilroy authored
Adds an IsInterpreted() function to both SharedFunctionInfo and JSFunction. This is used to fix the test-heap code-aging tests since Ignition doesn't age code. BUG=v8:4680 Review-Url: https://codereview.chromium.org/2481433002 Cr-Commit-Position: refs/heads/master@{#40868}
-
- 07 Nov, 2016 2 commits
-
-
neis authored
This makes use of the newly introduced cell indices to speed up variable accesses. Imports and local exports are now directly stored in (separate) arrays. In the future, we may merge the two arrays into a single one, or even into the module context. This CL also replaces the LoadImport and LoadExport runtime functions with a single LoadVariable taking a variable index as argument (rather than a name). BUG=v8:1569 Review-Url: https://codereview.chromium.org/2465283004 Cr-Commit-Position: refs/heads/master@{#40808}
-
neis authored
R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2473993002 Cr-Commit-Position: refs/heads/master@{#40795}
-
- 04 Nov, 2016 4 commits
-
-
vogelheim authored
Some accessors requires little to no computation at all, its result can be cached in a private property, avoiding the call overhead. Calls to the getter are translated into a cheap property load. Follow-on to crrev.com/2347523003, from peterssen@google.com BUG=chromium:634276, v8:5548 Review-Url: https://codereview.chromium.org/2405213002 Cr-Commit-Position: refs/heads/master@{#40765}
-
dcheng authored
BUG=v8:5588 R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2475433008 Cr-Commit-Position: refs/heads/master@{#40755}
-
neis authored
It always has the same number of slots. R=adamk@chromium.org TBR=bmeurer@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2460353002 Cr-Commit-Position: refs/heads/master@{#40754}
-
neis authored
Instead of having a MODULE variable's index be 0 or 1, let it be the index of its cell. In this CL, we assign the indices but we continue to only use them to distinguish imports from exports. Actually using them to directly access the cells will be done in a later CL. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2460233003 Cr-Commit-Position: refs/heads/master@{#40752}
-
- 02 Nov, 2016 1 commit
-
-
jochen authored
Original CL description: > Create internal fields on global proxy objects > > BUG=v8:5588 > R=verwaest@chromium.org BUG=v8:5588 TBR=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2472573004 Cr-Commit-Position: refs/heads/master@{#40705}
-
- 01 Nov, 2016 1 commit
-
-
machenbach authored
This reverts commit 26547761. Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/bui... See also: https://github.com/v8/v8/wiki/Blink-layout-tests BUG=v8:5588 TBR=jochen@chromium.org, verwaest@chromium.org, hablich@chromium.org Review-Url: https://codereview.chromium.org/2467073002 Cr-Commit-Position: refs/heads/master@{#40686}
-
- 31 Oct, 2016 2 commits
-
-
ishell authored
This CL adds support for primitive maps to 1) PrototypeIterator, 2) PropertyHandlerCompiler::CheckPrototypes(), 3) Map::GetOrCreatePrototypeChainValidityCell(), 4) Prototype checks in data-driven ICs. BUG=v8:5561 Review-Url: https://codereview.chromium.org/2466553002 Cr-Commit-Position: refs/heads/master@{#40673}
-
jochen authored
BUG=v8:5588 R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2467463002 Cr-Commit-Position: refs/heads/master@{#40670}
-
- 28 Oct, 2016 1 commit
-
-
jochen authored
This is useful for things that don't ever change, but we don't want to eagerly compute the result. Doing this from the embedder is difficult, using DefineOwnProperty would read the property to get the property descriptor, creating an endless recursion. R=verwaest@chromium.org,haraken@chromium.org BUG= Review-Url: https://codereview.chromium.org/2449783006 Cr-Commit-Position: refs/heads/master@{#40648}
-
- 27 Oct, 2016 1 commit
-
-
leszeks authored
Reuses (and renames) the SFI "mark for optimization" flag to also permit marking for baseline recompilation. The flag now represents a "tier up" request, and CompileLazy can get baseline code as well as optimized code. BUG=v8:5512 Review-Url: https://codereview.chromium.org/2448933002 Cr-Commit-Position: refs/heads/master@{#40612}
-
- 26 Oct, 2016 1 commit
-
-
neis authored
For instance, when an import cannot be resolved, actually point at the corresponding import statement. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2451153002 Cr-Commit-Position: refs/heads/master@{#40594}
-
- 25 Oct, 2016 4 commits
-
-
neis authored
Setting variables is not yet implemented. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2445683002 Cr-Commit-Position: refs/heads/master@{#40566}
-
machenbach authored
Revert of [modules] Add partial support for debug-scopes. (patchset #1 id:1 of https://codereview.chromium.org/2445683002/ ) Reason for revert: Breaks https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/9349 Original issue's description: > [modules] Add partial support for debug-scopes. > > Setting variables is not yet implemented.. > > R=adamk@chromium.org > BUG=v8:1569 TBR=adamk@chromium.org,yangguo@chromium.org,neis@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:1569 Review-Url: https://codereview.chromium.org/2449883002 Cr-Commit-Position: refs/heads/master@{#40564}
-
neis authored
Setting variables is not yet implemented.. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2445683002 Cr-Commit-Position: refs/heads/master@{#40559}
-
cbruni authored
Object.create(null) is most likely to be used for dictionary-like objects. Hence it would be beneficial to directly create a slow-mode object and avoid additional overhead later-on. BUG= Review-Url: https://codereview.chromium.org/2430273007 Cr-Commit-Position: refs/heads/master@{#40551}
-
- 21 Oct, 2016 1 commit
-
-
leszeks authored
The current method of marking functions for optimization, which replaces the JSFunction's code object with one that triggers optimization, would never allow unnamed functions to be optimized. This is an issue for a style of programming which heavily relies on passing around closures. This patch sets a bit on the SharedFunctionInfo when a JSFunction is marked. When another JSFunction referring to the same SharedFunctionInfo is lazily compiled, it immediately triggers a non-concurrent optimize. BUG=v8:5512 Review-Url: https://chromiumcodereview.appspot.com/2437043002 Cr-Commit-Position: refs/heads/master@{#40506}
-
- 19 Oct, 2016 1 commit
-
-
titzer authored
R=clemensh@chromium.org,ahaas@chromium.org BUG= Review-Url: https://chromiumcodereview.appspot.com/2428343005 Cr-Commit-Position: refs/heads/master@{#40426}
-
- 18 Oct, 2016 2 commits
-
-
jwolfe authored
BUG=v8:5388 Review-Url: https://codereview.chromium.org/2422383002 Cr-Commit-Position: refs/heads/master@{#40406}
-
caitp authored
Implements the variations of CreateArrayIterator() in TFJ builtins (ArrayPrototypeValues, ArrayPrototypeEntries and ArrayPrototypeKeys), and provides two new Object types with numerous maps which identify certain behaviours, which will be useful for inlining. Removes src/js/array-iterator.js entirely Also adds support for printing Symbol literals inserted by the Parser during desugaring when FLAG_print_builtin_ast is set to true. BUG=v8:5388 R=bmeurer@chromium.org, cbruni@chromium.org TBR=ulan@chromium.org Review-Url: https://codereview.chromium.org/2405253006 Cr-Commit-Position: refs/heads/master@{#40373}
-
- 17 Oct, 2016 4 commits
-
-
gsathya authored
BUG=v8:5343 Review-Url: https://codereview.chromium.org/2415023002 Cr-Commit-Position: refs/heads/master@{#40369}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2428473002 Cr-Commit-Position: refs/heads/master@{#40358}
-
jochen authored
R=machenbach@chromium.org,titzer@chromium.org,bmeurer@chromium.org,jgruber@chromium.org BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_win_dbg,v8_mac_dbg;master.tryserver.chromium.android:android_arm64_dbg_recipe Review-Url: https://codereview.chromium.org/2416243002 Cr-Commit-Position: refs/heads/master@{#40350}
-
neis authored
Also hide some implementation details behind abstract predicates and clean up the heap verifier functions. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2407183002 Cr-Commit-Position: refs/heads/master@{#40336}
-
- 14 Oct, 2016 2 commits
-
-
jgruber authored
Now that all accesses to the last match info are in C++ and TF code, we can finally turn the last match info into a FixedArray. Similar to the ArrayList, it uses its first field to store its length and grows dynamically in amortized O(1) time. Unlike previously, this means that the last match info pointer stored on the context can actually change (in case the FixedArray needs to grow). BUG=v8:5339 Review-Url: https://codereview.chromium.org/2415103002 Cr-Commit-Position: refs/heads/master@{#40308}
-
jochen authored
R=machenbach@chromium.org,jgruber@chromium.org,mythria@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_win_dbg,v8_mac_dbg;master.tryserver.chromium.android:android_arm64_dbg_recipe Review-Url: https://codereview.chromium.org/2410353005 Cr-Commit-Position: refs/heads/master@{#40300}
-
- 13 Oct, 2016 2 commits
-
-
ishell authored
This CL also adds separate runtime call stats buckets for data handlers. BUG= Review-Url: https://codereview.chromium.org/2419513002 Cr-Commit-Position: refs/heads/master@{#40281}
-
mvstanton authored
R=ishell@chromium.org BUG= Review-Url: https://codereview.chromium.org/2410353004 Cr-Commit-Position: refs/heads/master@{#40270}
-