- 26 Sep, 2016 1 commit
-
-
jgruber authored
V8 is collecting a growing amount of fuzzers, all of which take substantial space on the bots and in chromium build archives. This CL improves that situation by allowing component (shared library) builds for almost all fuzzers. The parser fuzzer is handled as an exception since it would require exporting a large number of additional functions. A component build results in about a 50-100x improvement in file size for each fuzzer (~50M-100M to around 1.1M). BUG=chromium:648864 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe Review-Url: https://codereview.chromium.org/2360983002 Cr-Commit-Position: refs/heads/master@{#39709}
-
- 21 Sep, 2016 3 commits
-
-
gsathya authored
BUG=v8:649078 Review-Url: https://codereview.chromium.org/2362503003 Cr-Commit-Position: refs/heads/master@{#39609}
-
caitp authored
BUG=v8:5388 R=bmeurer@chromium.org, adamk@chromium.org TBR=hpayer@chromium.org Review-Url: https://codereview.chromium.org/2348493003 Cr-Commit-Position: refs/heads/master@{#39598}
-
gsathya authored
- Add a new container object to store the data required for PromiseResolveThenableJob. - Create a new runtime function to enqueue the microtask event with the required data. This patches causes a 4% regression in the bluebird benchmark. BUG=v8:5343 Review-Url: https://codereview.chromium.org/2314903004 Cr-Commit-Position: refs/heads/master@{#39571}
-
- 20 Sep, 2016 4 commits
-
-
adamk authored
Also simplify Factory::NewModule to take only the SharedFunctionInfo. R=neis@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2355033002 Cr-Commit-Position: refs/heads/master@{#39563}
-
jgruber authored
This commit ensures that the d8 shared library build uses the same logic as the standard static build by exporting relevant functions and classes. BUG=chromium:646337 Committed: https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65 Review-Url: https://codereview.chromium.org/2342563002 Cr-Original-Commit-Position: refs/heads/master@{#39503} Cr-Commit-Position: refs/heads/master@{#39547}
-
machenbach authored
Revert of [d8] Fix the shared-library build (patchset #12 id:20002 of https://codereview.chromium.org/2342563002/ ) Reason for revert: Unblocking roll Original issue's description: > [d8] Fix the shared-library build > > This commit ensures that the d8 shared library build uses the same logic as > the standard static build by exporting relevant functions and classes. > > BUG=chromium:646337 > > Committed: https://crrev.com/2c10ca8086a4d595ecf9aa843d2031b068470d65 > Cr-Commit-Position: refs/heads/master@{#39503} TBR=jochen@chromium.org,vogelheim@chromium.org,bmeurer@chromium.org,titzer@chromium.org,jgruber@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:646337 Review-Url: https://codereview.chromium.org/2356703003 Cr-Commit-Position: refs/heads/master@{#39526}
-
bmeurer authored
Crankshaft just unconditionally deoptimizes the code when the length of a string addition result would overflow. In order to protect against deopt loops we insert a global protector cell. We will use the same mechanism for inlining certain string additions into TurboFan as well, and protecting against overflow (we will also extend this to deal with String.prototype.concat and friends once we get there). BUG=v8:5404 R=jarin@chromium.org,hpayer@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux64_msan_rel Committed: https://crrev.com/cb19257a926a55209a6d6858ce26d51a0447ba71 Review-Url: https://codereview.chromium.org/2348293002 Cr-Original-Commit-Position: refs/heads/master@{#39511} Cr-Commit-Position: refs/heads/master@{#39525}
-
- 19 Sep, 2016 3 commits
-
-
machenbach authored
Revert of [crankshaft] Protect against deopt loops from string length overflows. (patchset #1 id:1 of https://codereview.chromium.org/2348293002/ ) Reason for revert: Mean https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/10910 Original issue's description: > [crankshaft] Protect against deopt loops from string length overflows. > > Crankshaft just unconditionally deoptimizes the code when the length of > a string addition result would overflow. In order to protect against > deopt loops we insert a global protector cell. > > We will use the same mechanism for inlining certain string additions > into TurboFan as well, and protecting against overflow (we will also > extend this to deal with String.prototype.concat and friends once we > get there). > > BUG=v8:5404 > R=jarin@chromium.org,hpayer@chromium.org > > Committed: https://crrev.com/cb19257a926a55209a6d6858ce26d51a0447ba71 > Cr-Commit-Position: refs/heads/master@{#39511} TBR=hpayer@chromium.org,jarin@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:5404 Review-Url: https://codereview.chromium.org/2357433002 Cr-Commit-Position: refs/heads/master@{#39518}
-
bmeurer authored
Crankshaft just unconditionally deoptimizes the code when the length of a string addition result would overflow. In order to protect against deopt loops we insert a global protector cell. We will use the same mechanism for inlining certain string additions into TurboFan as well, and protecting against overflow (we will also extend this to deal with String.prototype.concat and friends once we get there). BUG=v8:5404 R=jarin@chromium.org,hpayer@chromium.org Review-Url: https://codereview.chromium.org/2348293002 Cr-Commit-Position: refs/heads/master@{#39511}
-
jgruber authored
This commit ensures that the d8 shared library build uses the same logic as the standard static build by exporting relevant functions and classes. BUG=chromium:646337 Review-Url: https://codereview.chromium.org/2342563002 Cr-Commit-Position: refs/heads/master@{#39503}
-
- 16 Sep, 2016 2 commits
-
-
adamk authored
R=neis@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2347933002 Cr-Commit-Position: refs/heads/master@{#39481}
-
neis authored
Rename JSModule to Module and make it a Struct rather than a JSObject. We will later add a separate JSModuleNamespace object to implement the 'import * as foo' syntax. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2345823002 Cr-Commit-Position: refs/heads/master@{#39477}
-
- 12 Sep, 2016 3 commits
-
-
neis authored
This adds partial support of exports to the runtime system and to the interpreter. It introduces a new HeapObject JSModule that maps each of the module's export names to a Cell containing the exported value. Several aspects of this implementation are subject to change in follow-up CLs. BUG=v8:1569 Committed: https://crrev.com/241a0412eed919395a2e163b30b9b66071ce5c17 Review-Url: https://codereview.chromium.org/2302783002 Cr-Original-Commit-Position: refs/heads/master@{#39341} Cr-Commit-Position: refs/heads/master@{#39352}
-
neis authored
Revert of [modules] Basic support of exports (patchset #10 id:180001 of https://codereview.chromium.org/2302783002/ ) Reason for revert: Failures related to deopt. Original issue's description: > [modules] Basic support of exports > > This adds partial support of exports to the runtime system and > to the interpreter. It introduces a new HeapObject JSModule that > maps each of the module's export names to a Cell containing the > exported value. > > Several aspects of this implementation are subject to change in > follow-up CLs. > > BUG=v8:1569 > > Committed: https://crrev.com/241a0412eed919395a2e163b30b9b66071ce5c17 > Cr-Commit-Position: refs/heads/master@{#39341} TBR=adamk@chromium.org,rmcilroy@chromium.org,ulan@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/2328283002 Cr-Commit-Position: refs/heads/master@{#39345}
-
neis authored
This adds partial support of exports to the runtime system and to the interpreter. It introduces a new HeapObject JSModule that maps each of the module's export names to a Cell containing the exported value. Several aspects of this implementation are subject to change in follow-up CLs. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2302783002 Cr-Commit-Position: refs/heads/master@{#39341}
-
- 06 Sep, 2016 1 commit
-
-
jochen authored
This will allow for chaining ScopeInfos together to form the same chains as contexts chains currently do. BUG=v8:5215 R=mstarzinger@chromium.org,marja@chromium.org,bmeurer@chromium.org,rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2314483002 Cr-Commit-Position: refs/heads/master@{#39192}
-
- 05 Sep, 2016 1 commit
-
-
jochen authored
Since the extension field is already used for the catch name, store a ContextExtension there instead. In the future, this will allow for chaining ScopeInfos together, so we no longer need a context chain for lazy parsing / compilation. BUG=v8:5215 R=bmeurer@chromium.org,neis@chromium.org,marja@chromium.org Review-Url: https://codereview.chromium.org/2302013002 Cr-Commit-Position: refs/heads/master@{#39164}
-
- 01 Sep, 2016 1 commit
-
-
jochen authored
The plan is to also use it for With and Catch scopes, so all kinds of contexts have a pointer back to their ScopeInfo R=neis@chromium.org,marja@chromium.org BUG=v8:5215 Review-Url: https://codereview.chromium.org/2301913002 Cr-Commit-Position: refs/heads/master@{#39092}
-
- 31 Aug, 2016 1 commit
-
-
neis authored
This introduces a new heap object ModuleInfo, which is to ModuleDescriptor what ScopeInfo is to Scope. When deserializing a scope info that contains a module info, we deserialize the module info into a module descriptor and put it into the synthesized module scope. Currently, module infos only store exports. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2277253003 Cr-Commit-Position: refs/heads/master@{#39049}
-
- 24 Aug, 2016 1 commit
-
-
jgruber authored
A FrameArray encodes information about a set of stack frames into a fixed array. This commit is a pure refactoring to make the structure of fixed array-encoded frames explicit. BUG= Review-Url: https://codereview.chromium.org/2270783002 Cr-Commit-Position: refs/heads/master@{#38852}
-
- 18 Aug, 2016 1 commit
-
-
jgruber authored
Revert of Use a custom Struct for stack trace storage (patchset #4 id:60001 of https://codereview.chromium.org/2230953002/ ) Reason for revert: Performance regressions in Gameboy, Life, CodeLoad and others. See crbug.com/638210. Original issue's description: > Refactor data structures for simple stack traces > > Simple stack traces are captured through Isolate::CaptureSimpleStackTrace. > Captured frames are stored in a FixedArray, which in turn is stored as a > property (using a private symbol) on the error object itself. Actual formatting > of the textual stack trace is done lazily when the user reads the stack > property of the error object. > > This would involve many conversions back and forth between index-encoded raw > data (receiver, function, offset and code), JS CallSite objects, and C++ > CallSite objects. > > This commit refactors the C++ CallSite class into a Struct class called > StackTraceFrame, which is the new single point of truth frame information. > Isolate::CaptureSimpleStackTrace stores an array of StackTraceFrames, and JS > CallSite objects (now created only when the user specifies custom stack trace > formatting through Error.prepareStackTrace) internally only store a reference > to a StackTraceFrame. > > BUG= > > Committed: https://crrev.com/b4c1aefb9c369f1a33a6ca94a5de9b06ea4bf5c4 > Cr-Commit-Position: refs/heads/master@{#38645} TBR=yangguo@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= Review-Url: https://codereview.chromium.org/2252783007 Cr-Commit-Position: refs/heads/master@{#38700}
-
- 16 Aug, 2016 1 commit
-
-
jgruber authored
Simple stack traces are captured through Isolate::CaptureSimpleStackTrace. Captured frames are stored in a FixedArray, which in turn is stored as a property (using a private symbol) on the error object itself. Actual formatting of the textual stack trace is done lazily when the user reads the stack property of the error object. This would involve many conversions back and forth between index-encoded raw data (receiver, function, offset and code), JS CallSite objects, and C++ CallSite objects. This commit refactors the C++ CallSite class into a Struct class called StackTraceFrame, which is the new single point of truth frame information. Isolate::CaptureSimpleStackTrace stores an array of StackTraceFrames, and JS CallSite objects (now created only when the user specifies custom stack trace formatting through Error.prepareStackTrace) internally only store a reference to a StackTraceFrame. BUG= Review-Url: https://codereview.chromium.org/2230953002 Cr-Commit-Position: refs/heads/master@{#38645}
-
- 03 Aug, 2016 1 commit
-
-
caitp authored
BUG=v8:5162 R=bmeurer@chromium.org, cbruni@chromium.org Review-Url: https://codereview.chromium.org/2205883003 Cr-Commit-Position: refs/heads/master@{#38266}
-
- 02 Aug, 2016 1 commit
-
-
machenbach authored
Revert of [builtins] implement Array.prototype.includes in TurboFan (patchset #20 id:380001 of https://codereview.chromium.org/2146293003/ ) Reason for revert: [Sheriff] Breaks: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20builder/builds/2592 Original issue's description: > [builtins] implement Array.prototype.includes in TurboFan > > BUG=v8:5162 > R=bmeurer@chromium.org, ishell@chromium.org > > Committed: https://crrev.com/a488b5d8eb111a4883dc400bd826d079420edd68 > Cr-Commit-Position: refs/heads/master@{#38223} TBR=adamk@chromium.org,bmeurer@chromium.org,cbruni@chromium.org,danno@chromium.org,ishell@chromium.org,littledan@chromium.org,caitp@igalia.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5162 Review-Url: https://codereview.chromium.org/2202163002 Cr-Commit-Position: refs/heads/master@{#38226}
-
- 01 Aug, 2016 1 commit
-
-
caitp authored
BUG=v8:5162 R=bmeurer@chromium.org, ishell@chromium.org Review-Url: https://codereview.chromium.org/2146293003 Cr-Commit-Position: refs/heads/master@{#38223}
-
- 19 Jul, 2016 1 commit
-
-
bmeurer authored
Introduce a proper CodeStubAssembler::BranchIfToBooleanIsTrue helper method, that branches to if_true/if_false labels depending on whether the value that is passed would yield true or false when fed to ToBoolean. Use this helper to implement the bytecode handlers w/o having to materialize the temporary booleans and essentially branching twice. The CodeStubAssembler::BranchIfToBooleanIsTrue helper favors the most likely case of a Boolean constant now. Also migrate the ToBooleanStub to a ToBoolean TurboFan builtin, that also uses the helper method under the hood. Remove the now obsolete Oddball::to_boolean field. R=hpayer@chromium.org, rmcilroy@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/2151163002 Cr-Commit-Position: refs/heads/master@{#37849}
-
- 18 Jul, 2016 1 commit
-
-
jochen authored
I want to use those methods from ApiNatives so move them to a shared location. BUG= R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2156153002 Cr-Commit-Position: refs/heads/master@{#37843}
-
- 14 Jul, 2016 1 commit
-
-
bmeurer authored
This adds initial support for ToPrimitive in JavaScript w/o having to call out to C++. This uses the newly introduced GetPropertyStub. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2152693002 Cr-Commit-Position: refs/heads/master@{#37753}
-
- 12 Jul, 2016 1 commit
-
-
mtrofin authored
To correctly support instantiating a compiled module multiple times, we clone the compiled module each time we create an instance, since some of the data is specific to the instance - e.g. export code, wasm functions, indirect table. BUG=v8:5072 Review-Url: https://codereview.chromium.org/2134593002 Cr-Commit-Position: refs/heads/master@{#37692}
-
- 07 Jul, 2016 1 commit
-
-
jochen authored
Such an object can be used to later create a context from it. It has to have access checks with handlers enabled, as it cannot be accessed otherwise. BUG=chromium:618305 R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2107673003 Cr-Commit-Position: refs/heads/master@{#37594}
-
- 28 Jun, 2016 1 commit
-
-
neis authored
R=adamk@chromium.org BUG= Review-Url: https://codereview.chromium.org/2081733004 Cr-Commit-Position: refs/heads/master@{#37311}
-
- 27 Jun, 2016 2 commits
-
-
machenbach authored
Revert of Refactor CreateApiFunction (patchset #2 id:20001 of https://codereview.chromium.org/2095953002/ ) Reason for revert: [Sheriff] Changes a layout test. Please rebase upstream if intended: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/7742 Original issue's description: > Refactor CreateApiFunction > > BUG= > > Committed: https://crrev.com/705574970f3899a6eda0c61130c8c31693df4039 > Cr-Commit-Position: refs/heads/master@{#37290} TBR=jochen@chromium.org,verwaest@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= Review-Url: https://codereview.chromium.org/2099983004 Cr-Commit-Position: refs/heads/master@{#37299}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2095953002 Cr-Commit-Position: refs/heads/master@{#37290}
-
- 24 Jun, 2016 1 commit
-
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2095673002 Cr-Commit-Position: refs/heads/master@{#37252}
-
- 15 Jun, 2016 1 commit
-
-
jgruber authored
The Vector type is deprecated, and new code should use ZoneVector instead. This new overload of NewStringFromTwoByte will be used in an upcoming regexp CL. R=bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2065053002 Cr-Commit-Position: refs/heads/master@{#36985}
-
- 19 May, 2016 1 commit
-
-
yangguo authored
The cached resource data pointer is a source of non-determinism when creating the snapshot. Long-term we may not keep the native source in memory anyways, so caching the resource data pointer will not be possible. R=ulan@chromium.org BUG=v8:4886 LOG=N Review-Url: https://codereview.chromium.org/1990183002 Cr-Commit-Position: refs/heads/master@{#36361}
-
- 14 May, 2016 1 commit
-
-
franzih authored
Rewrite encodeURI as runtime function. We well probably repackage runtime_URIEncode as a C++ builtin. BUG=v8:4912 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/1968953002 Cr-Commit-Position: refs/heads/master@{#36257}
-
- 06 Apr, 2016 1 commit
-
-
verwaest authored
The previous code cache system required stubs to be marked with a StubType, causing them to be inserted either into a fixed array or into a dictionary-mode code cache. This could cause names to be in both cases, and lookup would just find the "fast" one first. Given that we clear out the caches on each GC, the memory overhead shouldn't be too bad. Additionally, the dictionary itself should just stay linear for small arrays; that's faster anyway. This CL additionally deletes some dead IC code. BUG= Review URL: https://codereview.chromium.org/1846963002 Cr-Commit-Position: refs/heads/master@{#35291}
-
- 05 Apr, 2016 1 commit
-
-
yangguo authored
If we use ScopeIterator inside a debug-evaluate call, we may iterate over a debug-evaluate context that we created for the debug-evaluate call. This may trigger assertions. The solution is to have the ScopeIterator hide debug-evaluate contexts by unwrapping it if it comes across any. R=cbruni@chromium.org BUG=chromium:599662 LOG=N Review URL: https://codereview.chromium.org/1859033002 Cr-Commit-Position: refs/heads/master@{#35258}
-