- 20 Dec, 2016 2 commits
-
-
yangguo authored
Currently, to find out a Promise's status and result, one has to use the debug context. This is for example done in Node.js. This new API is a better replacement, also in the context of the debug context being deprecated eventually. R=franzih@chromium.org, gsathya@chromium.org, jochen@chromium.org BUG=v8:5764 Review-Url: https://codereview.chromium.org/2589113002 Cr-Commit-Position: refs/heads/master@{#41855}
-
leszeks authored
BUG=v8:5762 Review-Url: https://codereview.chromium.org/2590843002 Cr-Commit-Position: refs/heads/master@{#41852}
-
- 16 Dec, 2016 1 commit
-
-
gsathya authored
This adds kInit, kResolve, kBefore and kAfter lifecycle hooks to promises. This also exposes an API to set the PromiseHook. BUG=v8:4643 Review-Url: https://codereview.chromium.org/2575313002 Cr-Commit-Position: refs/heads/master@{#41775}
-
- 12 Dec, 2016 1 commit
-
-
bradnelson authored
Generalize Messages to include an error level. Add a parameter to AddMessageHandler to select which error levels to receive, using a mask (default being just errors, i.e. the current behavior). BUG=v8:4203 R=dgozman@chromium.org,machenbach@chromium.org,danno@chromium.org,bmeurer@chromium.org,jochen@chromium.org Review-Url: https://codereview.chromium.org/2526703002 Cr-Commit-Position: refs/heads/master@{#41648}
-
- 07 Dec, 2016 1 commit
-
-
ishell authored
Removing elements from stub cache by Major key only does not always work. BUG= Review-Url: https://codereview.chromium.org/2551353003 Cr-Commit-Position: refs/heads/master@{#41544}
-
- 06 Dec, 2016 1 commit
-
-
yangguo authored
This is done by reimplementing Symbol.for directly on top of NameDictionary. A nice side effect is the removal of src/js/symbol.js R=jochen@chromium.org, peria@chromium.org BUG=chromium:617892 Review-Url: https://codereview.chromium.org/2551763003 Cr-Commit-Position: refs/heads/master@{#41520}
-
- 05 Dec, 2016 1 commit
-
-
ulan authored
This reverts commit aea4f1a7. Reason: performance regression on benchmarks (crbug.com/671118). BUG=chromium:671118,chromium:613518 TBR=hpayer@chromium.org Review-Url: https://codereview.chromium.org/2549053002 Cr-Commit-Position: refs/heads/master@{#41479}
-
- 02 Dec, 2016 1 commit
-
-
ulan authored
BUG=chromium:613518 Review-Url: https://codereview.chromium.org/2407153002 Cr-Commit-Position: refs/heads/master@{#41459}
-
- 29 Nov, 2016 2 commits
-
-
bmeurer authored
This introduces three new types OtherCallable, CallableProxy (and OtherProxy), and BoundFunction to make it possible to express Callable in the Type system. It also forces all undetectable receivers to be Callable, which matches the use case for undetectable, namely document.all (guarded by proper checks and tests). It also uses these new types to properly optimize instanceof (indirectly via OrdinaryHasInstance) based on the type of the constructor and the object. So we are able to constant-fold certain instanceof expressions based on types and completely avoid the builtin call. R=jarin@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2535753004 Cr-Commit-Position: refs/heads/master@{#41345}
-
cbruni authored
FunctionTemplateInfo::SetPrototypeProviderTemplate adds support for sharing prototypes between several function templates. This is used to properly set up Image.prototype and HTMLImageElement.protoype which should be equal according to the spec. BUG=chromium:2969 Review-Url: https://codereview.chromium.org/2531653002 Cr-Commit-Position: refs/heads/master@{#41343}
-
- 23 Nov, 2016 1 commit
-
-
rmcilroy authored
BUG=v8:4280,v8:5657 Review-Url: https://codereview.chromium.org/2505933008 Cr-Commit-Position: refs/heads/master@{#41209}
-
- 22 Nov, 2016 1 commit
-
-
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}
-
- 18 Nov, 2016 1 commit
-
-
marja authored
It originates from the era where we used to run a separate preparse step before parsing and store the function data. Now the usage of preparser is something completely different, so this flag doesn't make sense any more. In addition, this way we get more test coverage for preparser (for small scripts). BUG= Review-Url: https://codereview.chromium.org/2513563002 Cr-Commit-Position: refs/heads/master@{#41110}
-
- 17 Nov, 2016 2 commits
-
-
kozyatinskiy authored
After moving inspector from blink to V8, inspector can use DebugInterface to compile and mark internal scripts. BUG=v8:5530 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2502173002 Cr-Commit-Position: refs/heads/master@{#41087}
-
yangguo authored
R=jochen@chromium.org, kozyatinskiy@chromium.org Review-Url: https://codereview.chromium.org/2510633002 Cr-Commit-Position: refs/heads/master@{#41060}
-
- 15 Nov, 2016 2 commits
-
-
jbroman authored
This was causing array buffer views created by ValueDeserializer to have uninitialized internal fields, which lead to crashes in layout tests when Blink tried to read those fields. For array buffers, JSArrayBuffer::Setup is responsible for this logic (as well as initializing the V8 fields); this is similar to that. The runtime already seems to correctly initialize these for script-created array buffer views as well, which is why this issue was not detected sooner. Review-Url: https://codereview.chromium.org/2498413002 Cr-Commit-Position: refs/heads/master@{#41014}
-
domenic authored
This will allow V8 extra consumers to mark a promise as handled without adding redundant empty onRejected handlers. This is needed by streams as discussed in https://github.com/whatwg/streams/issues/547. BUG=chromium:654701 Review-Url: https://codereview.chromium.org/2498143002 Cr-Commit-Position: refs/heads/master@{#41012}
-
- 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}
-
- 11 Nov, 2016 1 commit
-
-
ulan authored
BUG=v8:5614 Review-Url: https://codereview.chromium.org/2496913002 Cr-Commit-Position: refs/heads/master@{#40931}
-
- 08 Nov, 2016 1 commit
-
-
ishell authored
The access check is generated as a: - Equality check of an execution-time and a compile-time native contexts for primitive receivers. - Equality check of an execution-time and a compile-time native contexts or equality check of a respective security tokens for global proxy receivers. - No-op for other kinds of receivers. BUG=v8:5561 Review-Url: https://codereview.chromium.org/2482913002 Cr-Commit-Position: refs/heads/master@{#40829}
-
- 04 Nov, 2016 3 commits
-
-
littledan authored
This patch fixes two bugs in V8 to allow the global object to have a frozen proto: - The immutable prototype map check is done on the map of the "real receiver", the one that's found after the hidden prototype traversal, rather than the object that SetPrototype is called on. - The immutable prototype bit from the ObjectTemplate used to instantiate the global object, as passed to Context::New, is respected when instantiating the global object. R=adamk BUG=v8:5149 Review-Url: https://codereview.chromium.org/2474843003 Cr-Commit-Position: refs/heads/master@{#40778}
-
dcheng authored
BUG=v8:5588 R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2475433008 Cr-Commit-Position: refs/heads/master@{#40755}
-
yangguo authored
- split up cctest/test-api/Threading* - shortened mjsunit/math-floor-part* - split up cctest/test-serialize/CustomSnapshotDataBlob - skipped mjsunit/regress/regress-crbug-474297 unless gc-stress - shortened cctest/test-serialize/CodeSerializerLargeCodeObject R=jkummerow@chromium.org Review-Url: https://codereview.chromium.org/2470143004 Cr-Commit-Position: refs/heads/master@{#40753}
-
- 02 Nov, 2016 3 commits
-
-
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}
-
littledan authored
To enable the global object prototype chain to be frozen, all objects in the chain need to be marked as immutable prototype exotic objects. However, a bug in the previous implementation of immutable prototype exotic objects left the check in place when initially setting up the object, which made it impossible to allow inheritance chains. This patch removes that mistaken check. BUG=v8:5149 Review-Url: https://codereview.chromium.org/2449163004 Cr-Commit-Position: refs/heads/master@{#40702}
-
rmcilroy authored
BUG=v8:4280 Review-Url: https://codereview.chromium.org/2463353002 Cr-Commit-Position: refs/heads/master@{#40697}
-
- 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
-
-
jochen authored
BUG=v8:5588 R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2467463002 Cr-Commit-Position: refs/heads/master@{#40670}
-
mstarzinger authored
This enables Ignition unconditionally for all code that is destined for optimization with TurboFan. This ensures all optimization attempts will go through the BytecodeGraphBuilder and that the AstGraphBuilder pipe is dried out in practice. patch from issue 2427953002 at patchset 120001 (http://crrev.com/2427953002#ps120001) R=mvstanton@chromium.org,rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2453973004 Cr-Commit-Position: refs/heads/master@{#40663}
-
- 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}
-
- 20 Oct, 2016 2 commits
-
-
mstarzinger authored
Breaks layout tests on Blink builders. TBR=machenbach@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2428413004 Cr-Commit-Position: refs/heads/master@{#40471}
-
mstarzinger authored
This enables Ignition unconditionally for all code that is destined for optimization with TurboFan. This ensures all optimization attempts will go through the BytecodeGraphBuilder and that the AstGraphBuilder pipe is dried out in practice. R=mvstanton@chromium.org Review-Url: https://chromiumcodereview.appspot.com/2427953002 Cr-Commit-Position: refs/heads/master@{#40462}
-
- 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}
-
- 12 Oct, 2016 4 commits
-
-
ishell authored
Review-Url: https://codereview.chromium.org/2411793004 Cr-Commit-Position: refs/heads/master@{#40219}
-
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
Review-Url: https://codereview.chromium.org/2412493006 Cr-Commit-Position: refs/heads/master@{#40212}
-
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}
-
- 07 Oct, 2016 2 commits
-
-
jgruber authored
BUG= Committed: https://crrev.com/7db0ecdec3cf330766575cb7973b983f3f1e3020 Review-Url: https://codereview.chromium.org/2381843002 Cr-Original-Commit-Position: refs/heads/master@{#40080} Cr-Commit-Position: refs/heads/master@{#40087}
-
jgruber authored
This reverts commit 7db0ecde. Manual revert since automatic revert is too large for the web interface. BUG= TBR=bmeurer@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org,ahaas@chromium.org NOPRESUBMIT=true NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2396353002 Cr-Commit-Position: refs/heads/master@{#40082}
-