- 19 Jan, 2017 1 commit
-
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 (Previously landed as #42168 / af51befe) (Previously landed as #42193 / 4c699e34) (Previously landed as #42235 / ec45e6ed) Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42503}
-
- 17 Jan, 2017 1 commit
-
-
titzer authored
R=jochen@chromium.org BUG= Review-Url: https://codereview.chromium.org/2637923002 Cr-Commit-Position: refs/heads/master@{#42391}
-
- 16 Jan, 2017 1 commit
-
-
zhengxing.li authored
port aa75904e (r42270) original commit message: BUG= Review-Url: https://codereview.chromium.org/2626043005 Cr-Commit-Position: refs/heads/master@{#42352}
-
- 12 Jan, 2017 2 commits
-
-
jkummerow authored
Revert of Internalize strings in-place (patchset #20 id:380001 of https://codereview.chromium.org/2549773002/ ) Reason for revert: Blocks roll, ASan detects leaking ExternalStrings. Original issue's description: > Internalize strings in-place (reland^2) > > using newly introduced ThinStrings, which store a pointer to the actual, > internalized string they represent. > > BUG=v8:4520 > > (Previously landed as #42168 / af51befe) > (Previously landed as #42193 / 4c699e34) > > Review-Url: https://codereview.chromium.org/2549773002 > Cr-Commit-Position: refs/heads/master@{#42235} > Committed: https://chromium.googlesource.com/v8/v8/+/ec45e6ed2e11698c713e664b1510bc31bcdbbdba TBR=ishell@chromium.org,hpayer@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4520 Review-Url: https://codereview.chromium.org/2626893005 Cr-Commit-Position: refs/heads/master@{#42271}
-
jkummerow authored
BUG=v8:5269 Review-Url: https://codereview.chromium.org/2622003004 Cr-Commit-Position: refs/heads/master@{#42261}
-
- 11 Jan, 2017 3 commits
-
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 (Previously landed as #42168 / af51befe) (Previously landed as #42193 / 4c699e34) Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42235}
-
jkummerow authored
Revert of Internalize strings in-place (patchset #17 id:320001 of https://codereview.chromium.org/2549773002/ ) Reason for revert: blocks roll, see: https://codereview.chromium.org/2628733002/ Debug mode runs into an Abort("External string expected, but not found"). Original issue's description: > Internalize strings in-place (reland) > > using newly introduced ThinStrings, which store a pointer to the actual, > internalized string they represent. > > BUG=v8:4520 > > (Previously landed as #42168 / af51befe. > > Review-Url: https://codereview.chromium.org/2549773002 > Cr-Commit-Position: refs/heads/master@{#42193} > Committed: https://chromium.googlesource.com/v8/v8/+/4c699e349a4986b28574b3a51e8780e3a3d067b1 TBR=ishell@chromium.org,hpayer@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4520 Review-Url: https://codereview.chromium.org/2625073002 Cr-Commit-Position: refs/heads/master@{#42212}
-
zhengxing.li authored
port 0c4b8ff4 (r42192) original commit message: - Refactor Dispatch tables to have separate function, signature tables - New Relocation type for WasmFunctionTableReference, assembler, compiler support. - RelocInfo helper functions for Wasm references BUG= Review-Url: https://codereview.chromium.org/2623133002 Cr-Commit-Position: refs/heads/master@{#42208}
-
- 10 Jan, 2017 4 commits
-
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 (Previously landed as #42168 / af51befe. Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42193}
-
machenbach authored
Revert of Internalize strings in-place (patchset #16 id:300001 of https://codereview.chromium.org/2549773002/ ) Reason for revert: gc stress failures: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/8024 Original issue's description: > Internalize strings in-place > > using newly introduced ThinStrings, which store a pointer to the actual, > internalized string they represent. > > BUG=v8:4520 > > Review-Url: https://codereview.chromium.org/2549773002 > Cr-Commit-Position: refs/heads/master@{#42168} > Committed: https://chromium.googlesource.com/v8/v8/+/af51befe694fe039db3554d4b9165f7d6baceb77 TBR=ishell@chromium.org,hpayer@chromium.org,bmeurer@chromium.org,jkummerow@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4520 Review-Url: https://codereview.chromium.org/2621913002 Cr-Commit-Position: refs/heads/master@{#42170}
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42168}
-
zhengxing.li authored
port 38602f1f (r42146) original commit message: This changes the NewClosure interface descriptor, but ignores the additional vector/slot arguments for now. The feedback vector gets larger, as it holds a space for each literal array. A follow-on CL will constructively use this space. BUG= Review-Url: https://codereview.chromium.org/2616403007 Cr-Commit-Position: refs/heads/master@{#42157}
-
- 05 Jan, 2017 1 commit
-
-
zhengxing.li authored
port d3ed71ed(r42021) original commit message: Don't fallback to the %StrictEqual / %Equal runtime functions for the generic CompareIC slow path, but use the (new) StrictEqual and Equal builtins instead. This avoids a performance cliff when mixing input types for strict equality sites. BUG= Review-Url: https://codereview.chromium.org/2612693002 Cr-Commit-Position: refs/heads/master@{#42080}
-
- 03 Jan, 2017 1 commit
-
-
zhengxing.li authored
port 5b02a98b (r41986) original commit message: In the process, convert from a code stub into a builtin. BUG= Review-Url: https://codereview.chromium.org/2608203002 Cr-Commit-Position: refs/heads/master@{#42018}
-
- 27 Dec, 2016 1 commit
-
-
danno authored
Review-Url: https://codereview.chromium.org/2600763002 Cr-Commit-Position: refs/heads/master@{#41956}
-
- 19 Dec, 2016 1 commit
-
-
jkummerow authored
Review-Url: https://codereview.chromium.org/2580653002 Cr-Commit-Position: refs/heads/master@{#41813}
-
- 01 Dec, 2016 1 commit
-
-
danno authored
BUG=chromium:608675 LOG=N Review-Url: https://codereview.chromium.org/2532483002 Cr-Commit-Position: refs/heads/master@{#41439}
-
- 30 Nov, 2016 1 commit
-
-
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}
-
- 29 Nov, 2016 1 commit
-
-
rmcilroy authored
MarkingParity was used to avoid performing an operation on an object if it was marked multiple times. We no longer mark things multiple times, so this concept is no longer required. BUG=chromium:666275 Review-Url: https://codereview.chromium.org/2529173002 Cr-Commit-Position: refs/heads/master@{#41354}
-
- 22 Nov, 2016 2 commits
-
-
jkummerow authored
The handwritten-assembly implementations of both dispatcher and generic stub have been replaced by Turbofan-generated stubs. Review-Url: https://codereview.chromium.org/2523473002 Cr-Commit-Position: refs/heads/master@{#41188}
-
neis authored
TBR=littledan@chromium.org BUG= Review-Url: https://codereview.chromium.org/2517143003 Cr-Commit-Position: refs/heads/master@{#41180}
-
- 18 Nov, 2016 1 commit
-
-
ulan authored
We never increment live bytes concurrent to the sweeper. BUG= Review-Url: https://codereview.chromium.org/2504193002 Cr-Commit-Position: refs/heads/master@{#41097}
-
- 16 Nov, 2016 1 commit
-
-
jing.bao authored
BUG= Review-Url: https://codereview.chromium.org/2509603002 Cr-Commit-Position: refs/heads/master@{#41020}
-
- 15 Nov, 2016 1 commit
-
-
ishell authored
This is to fix the performance regression by avoiding creation of a frame in LoadIC dispatcher caused by complicated logic of CSA::EmitLoadICProtoArrayCheck(). BUG=v8:5561, chromium:660795 Review-Url: https://codereview.chromium.org/2496333002 Cr-Commit-Position: refs/heads/master@{#40986}
-
- 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}
-
ulan authored
BUG=chromium:652721 Review-Url: https://codereview.chromium.org/2490523003 Cr-Commit-Position: refs/heads/master@{#40972}
-
- 02 Nov, 2016 1 commit
-
-
zhengxing.li authored
port 5ef1bddf (r40690) original commit message: All vector ICs use the TypeFeedbackVector::ComputeCounts method now, while the remaining patching ICs still use the traditional way of counting on the TypeFeedbackInfo hanging off the fullcodegen code object. This fixes the problem that counts were sometimes off. BUG= Drive-by-fix: Move FullCodeGenerator::CallIC to fullcodegen.cc. Review-Url: https://codereview.chromium.org/2470063002 Cr-Commit-Position: refs/heads/master@{#40692}
-
- 31 Oct, 2016 1 commit
-
-
ishell authored
The old code does not work properly when the allocation memento object ends exactly at page boundary. This CL addresses DBC mentioned in https://codereview.chromium.org/2313093002/ BUG=v8:5269 Review-Url: https://codereview.chromium.org/2466573002 Cr-Commit-Position: refs/heads/master@{#40676}
-
- 27 Oct, 2016 1 commit
-
-
ishell authored
The reasons are: 1) Type feedback vectors are not shared between different native contexts and therefore the IC handler created for one native context will not be reused in other native context. 2) Access rights revocation is not supported at all, therefore given (1) once we pass the access check we don't have to check access rights again. BUG=v8:5561 Review-Url: https://codereview.chromium.org/2455953002 Cr-Commit-Position: refs/heads/master@{#40627}
-
- 25 Oct, 2016 1 commit
-
-
jgruber authored
This CL removes code that is now unused since the port of regexp.js has been completed. Removed functions / classes are: * regexp.js (GetSubstitution moved to string.js) * RegExpConstructResult stub * RegExpFlags intrinsic * RegExpSource intrinsic * RegExpInitializeAndCompile runtime function BUG=v8:5339 Review-Url: https://codereview.chromium.org/2448463002 Cr-Commit-Position: refs/heads/master@{#40547}
-
- 20 Oct, 2016 1 commit
-
-
jkummerow authored
Review-Url: https://chromiumcodereview.appspot.com/2434753003 Cr-Commit-Position: refs/heads/master@{#40459}
-
- 18 Oct, 2016 2 commits
-
-
bmeurer authored
These intrinsics are unused now, and so we can drop all the code in fullcodegen and Crankshaft that deals with those. TurboFan and Ignition never tried to optimize those. R=mstarzinger@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2427673004 Cr-Commit-Position: refs/heads/master@{#40401}
-
zhengxing.li authored
port 3f6e0a4e (r40354) original commit message: RIP, handwritten KeyedLoadICStub, handwritten KeyedLoadIC_Megamorphic, and hydrogenized KeyedLoadGeneric! BUG= Review-Url: https://codereview.chromium.org/2430613003 Cr-Commit-Position: refs/heads/master@{#40388}
-
- 17 Oct, 2016 1 commit
-
-
jkummerow authored
RIP, handwritten KeyedLoadICStub, handwritten KeyedLoadIC_Megamorphic, and hydrogenized KeyedLoadGeneric! Review-Url: https://codereview.chromium.org/2424433002 Cr-Commit-Position: refs/heads/master@{#40354}
-
- 14 Oct, 2016 1 commit
-
-
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}
-
- 13 Oct, 2016 1 commit
-
-
zhengxing.li authored
port c15c5827 (r40206) original commit message: This is the next step to unify the Call/Construct feedback collection and prepare it to be able to collect SharedFunctionInfo feedback. This also reduces the CallICStub overhead quite a bit since we only need one stub per mode (and tail call mode), not also one per call arity. BUG= Review-Url: https://codereview.chromium.org/2409953005 Cr-Commit-Position: refs/heads/master@{#40244}
-
- 12 Oct, 2016 4 commits
-
-
ishell authored
Review-Url: https://codereview.chromium.org/2412613004 Cr-Commit-Position: refs/heads/master@{#40220}
-
ishell authored
[stubs] Drop StoreICStub and StoreICTrampolineStub (the non-TurboFan implementations of StoreIC dispatchers). Because of the planned improvements of IC system it does not make sense to keep the old platform version of the stub around. Review-Url: https://codereview.chromium.org/2413653003 Cr-Commit-Position: refs/heads/master@{#40216}
-
ishell authored
[stubs] Drop LoadICStub and LoadICTrampolineStub (the non-TurboFan implementations of LoadIC dispatchers). Because of the planned improvements of IC system it does not make sense to keep the old platform version of the stub around. Review-Url: https://codereview.chromium.org/2418513002 Cr-Commit-Position: refs/heads/master@{#40211}
-
zhengxing.li authored
port 9192db20 (r40162) original commit message: Remove the special side channel from the CallICStub to the ArrayConstructorStub and make the CallICStub always use the general entry point. BUG= Review-Url: https://codereview.chromium.org/2410083004 Cr-Commit-Position: refs/heads/master@{#40197}
-