- 21 Sep, 2016 34 commits
-
-
littledan authored
BUG=v8:5411 Review-Url: https://codereview.chromium.org/2354333003 Cr-Commit-Position: refs/heads/master@{#39603}
-
ahaas authored
TEST=unittests/WasmModuleVerifyTest.Regression_648070 BUG=chromium:648070 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2356253002 Cr-Commit-Position: refs/heads/master@{#39602}
-
littledan authored
Review-Url: https://codereview.chromium.org/2353503006 Cr-Commit-Position: refs/heads/master@{#39601}
-
ahaas authored
This behavior is required by the WebAssembly spec. TEST=mjsunit/wasm/ffi-error.js:I64ParamsInSignatureThrows R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2360653002 Cr-Commit-Position: refs/heads/master@{#39600}
-
rmcilroy authored
This CL optimizes the code in BytecodeArrayBuilder and BytecodeArrayWriter by making the following main changes: - Move operand scale calculation out of BytecodeArrayWriter to the BytecodeNode constructor, where the decision on which operands are scalable can generally be statically decided by the compiler. - Move the maximum register calculation out of BytecodeArrayWriter and into BytecodeRegisterOptimizer (which is the only place outside BytecodeGenerator which updates which registers are used). This avoids the BytecodeArrayWriter needing to know the operand types of a node as it writes it. - Modify EmitBytecodes to use individual push_backs rather than building a buffer and calling insert, since this turns out to be faster. - Initialize BytecodeArrayWriter's bytecode vector by reserving 512 bytes, - Make common functions in Bytecodes constexpr so that they can be statically calculated by the compiler. - Move common functions and constructors in Bytecodes and BytecodeNode to the header so that they can be inlined. - Change large static switch statements in Bytecodes to const array lookups, and move to the header to allow inlining. I also took the opportunity to remove a number of unused helper functions, and rework some others for consistency. This reduces the percentage of time spent in making BytecodeArrays in CodeLoad from ~15% to ~11% according to perf. The CoadLoad score increase by around 2%. BUG=v8:4280 Review-Url: https://codereview.chromium.org/2351763002 Cr-Commit-Position: refs/heads/master@{#39599}
-
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}
-
rmcilroy authored
Review-Url: https://codereview.chromium.org/2353343002 Cr-Commit-Position: refs/heads/master@{#39597}
-
hpayer authored
BUG=chromium:648568 Review-Url: https://codereview.chromium.org/2360513002 Cr-Commit-Position: refs/heads/master@{#39596}
-
ahaas authored
Changing the global state can effect the outcome of later tests. R=jpp@chromium.org Review-Url: https://codereview.chromium.org/2359573003 Cr-Commit-Position: refs/heads/master@{#39595}
-
mstarzinger authored
This add support for ConsString objects allocated inline to the escape analysis pass. The raw hash field in such strings needs special handling similar to existing raw fields. This also contains materialization code within the deoptimizer as usual. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-648737 BUG=chromium:648737 Review-Url: https://codereview.chromium.org/2357153002 Cr-Commit-Position: refs/heads/master@{#39594}
-
ishell authored
Each stub should have more meaningful descriptor instead. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2356163002 Cr-Commit-Position: refs/heads/master@{#39593}
-
machenbach authored
This also adds sources missing for PPC and x87, fixes a few missing files in gyp due to wrong quotation and a few that were simply not included. The gn files are now authoritative, but the gcmole gyp and gn source lists are enforced to match exactly. This additional enforcement helped finding the bugs above and will be removed when we deprecate the gyp files. BUG=614645 NOTRY=true Review-Url: https://codereview.chromium.org/2352103002 Cr-Commit-Position: refs/heads/master@{#39592}
-
jarin authored
Review-Url: https://codereview.chromium.org/2360523002 Cr-Commit-Position: refs/heads/master@{#39591}
-
ishell authored
This cleanup is necessary to make HCallWithDescriptor support passing arguments on the stack. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2352163004 Cr-Commit-Position: refs/heads/master@{#39590}
-
cbruni authored
Minidumps have gotten bigger stack ranges leading to long load times when using grokdump's web interface. A major factor seems to be the output size of the generated table. Using shorter class names and avoiding quotes for most attributes we can get a significant size reduction. BUG= Review-Url: https://codereview.chromium.org/2352303002 Cr-Commit-Position: refs/heads/master@{#39589}
-
ahaas authored
Set up Wasm Table and Memory constructors This only provides skeletons so far: the constructors work, but the types are not wired up with the import/export mechanism yet; methods are still nops. Also, fix errors generated from Wasm to be proper Error/TypeError instances instead of just strings. I took over this CL from rossberg@chromium.org. The original CL is https://codereview.chromium.org/2342623002 R=titzer@chromium.org, rossberg@chromium.org Review-Url: https://codereview.chromium.org/2350643003 Cr-Commit-Position: refs/heads/master@{#39588}
-
nikolaos authored
This patch moves the following parsing method to ParserBase: - ParseForStatement R=adamk@chromium.org, marja@chromium.org BUG= LOG=N Review-Url: https://codereview.chromium.org/2351233002 Cr-Commit-Position: refs/heads/master@{#39587}
-
cbruni authored
Handlify pointers in IncludesValueImpl and DirectCollectElementIndicesImpl. BUG=chromium:648373 Review-Url: https://codereview.chromium.org/2354773006 Cr-Commit-Position: refs/heads/master@{#39586}
-
hpayer authored
Do not overwrite a collector decision. BUG= Review-Url: https://codereview.chromium.org/2336943003 Cr-Commit-Position: refs/heads/master@{#39585}
-
balazs.kilvady authored
Review-Url: https://codereview.chromium.org/2184843002 Cr-Commit-Position: refs/heads/master@{#39584}
-
mstarzinger authored
This removes an optimization from the code generator that tries to materialize certain constants (i.e. context and closure) from the stackframe when possible. This does not work with Harmony tail calls which are split into several instructions. There have already been numerous bugs in this optimization, it is too fragile in its current form. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-648539 BUG=chromium:648539 Review-Url: https://codereview.chromium.org/2357583003 Cr-Commit-Position: refs/heads/master@{#39583}
-
marija.antic authored
Port of https://crrev.com/14a5c18cc35b2c55b37de3bd0ad27941cf21cb68 BUG= Review-Url: https://codereview.chromium.org/2355743003 Cr-Commit-Position: refs/heads/master@{#39582}
-
verwaest authored
After parsing a function, if there's no masking declaration in the function scope, DeclareFunctionVar will also bind the function name to a variable. It will either bind it to the const/const-legacy function_ variable, or to a dynamic non-local if the function calls sloppy eval. Even if the variable is masked or sloppy eval is called, we still declare the function-var. The client immediately sets up the variable by assigning the resulting function to it. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2274133002 Cr-Commit-Position: refs/heads/master@{#39581}
-
machenbach authored
Revert of [inspector] provide more usefull error message for non serializable value (patchset #3 id:40001 of https://codereview.chromium.org/2345263003/ ) Reason for revert: Breaks https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/9932 See also https://github.com/v8/v8/wiki/Blink-layout-tests Original issue's description: > [inspector] provide more usefull error message for non serializable value > > Runtime.evaluate can return result by value. We need to provide more details why method call was failed. > > BUG=chromium:645640 > R=dgozman@chromium.org,alph@chromium.org > > Committed: https://crrev.com/0965b9b5df532d3aa0583966ca60794b54f56943 > Cr-Commit-Position: refs/heads/master@{#39574} TBR=dgozman@chromium.org,alph@chromium.org,kozyatinskiy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:645640 Review-Url: https://codereview.chromium.org/2352263003 Cr-Commit-Position: refs/heads/master@{#39580}
-
vogelheim authored
(This should enable to drop the BOM handling in the Blink bindings.) R=marja@chromium.org BUG=v8:4947 Review-Url: https://codereview.chromium.org/2354973002 Cr-Commit-Position: refs/heads/master@{#39579}
-
https://codereview.chromium.org/2360463002/machenbach authored
Reason for revert: Breaks https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug%20builder/builds/3144 Original issue's description: > Update V8 DEPS. > > Rolling v8/base/trace_event/common to 199985e01e17b5a4888f83648b7cc119779e9245 > > Rolling v8/build to 4803815de7294778a1496c4e7f3e84ee48e243ef > > Rolling v8/buildtools to 57649e5e2001ba1f5e5d45f5a838c616ea0e9cb9 > > Rolling v8/tools/clang to cca919b21f2436ba1585f7e9de2702ba64fbd8bf > > TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org > > Committed: https://crrev.com/0ed1254d8103b40d5880601bf73b6c56e4d5716d > Cr-Commit-Position: refs/heads/master@{#39570} TBR=hablich@chromium.org,vogelheim@chromium.org,v8-autoroll@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/2351943005 Cr-Commit-Position: refs/heads/master@{#39578}
-
mstarzinger authored
R=marja@chromium.org Review-Url: https://codereview.chromium.org/2359443002 Cr-Commit-Position: refs/heads/master@{#39577}
-
ivica.bogosavljevic authored
BUG= Review-Url: https://codereview.chromium.org/2353943002 Cr-Commit-Position: refs/heads/master@{#39576}
-
bmeurer authored
When we added the new MachineRepresentation::kTaggedSigned and MachineRepresentation::kTaggedPointer, we didn't extend the logic for memory operand covering, and so for map checks and other comparisons with fields we'd always need an additional register. This fixes that and does reduce register pressure in some cases. R=jarin@chromium.org BUG=v8:5267,v8:5270 Review-Url: https://codereview.chromium.org/2354863003 Cr-Commit-Position: refs/heads/master@{#39575}
-
kozyatinskiy authored
Runtime.evaluate can return result by value. We need to provide more details why method call was failed. BUG=chromium:645640 R=dgozman@chromium.org,alph@chromium.org Review-Url: https://codereview.chromium.org/2345263003 Cr-Commit-Position: refs/heads/master@{#39574}
-
bmeurer authored
R=hablich@chromium.org, jarin@chromium.org Review-Url: https://codereview.chromium.org/2355113003 Cr-Commit-Position: refs/heads/master@{#39573}
-
kozyatinskiy authored
BUG=chromium:635948 R=alph@chromium.org Review-Url: https://codereview.chromium.org/2359533002 Cr-Commit-Position: refs/heads/master@{#39572}
-
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}
-
v8-autoroll authored
Rolling v8/base/trace_event/common to 199985e01e17b5a4888f83648b7cc119779e9245 Rolling v8/build to 4803815de7294778a1496c4e7f3e84ee48e243ef Rolling v8/buildtools to 57649e5e2001ba1f5e5d45f5a838c616ea0e9cb9 Rolling v8/tools/clang to cca919b21f2436ba1585f7e9de2702ba64fbd8bf TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2360463002 Cr-Commit-Position: refs/heads/master@{#39570}
-
- 20 Sep, 2016 6 commits
-
-
adamk authored
This patch gives the ability for the embedder to ask for the module requests of a module, and to pass a ResolveCallback into Module::Instantiate(). In d8, I've implemented a simple module_map that's used along with this API to allow loading, compiling, instantiating, and evaluating a whole tree of modules. No path resolution is yet implemented, meaning that all import paths are relative to whatever directory d8 runs in. And no imports are linked to the exports of the requested module. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2351113004 Cr-Commit-Position: refs/heads/master@{#39569}
-
neis authored
This is in preparation for basic support of import statements. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2357003002 Cr-Commit-Position: refs/heads/master@{#39568}
-
littledan authored
This patch ensures that variables like .new_target aren't overwritable using with scopes. It does this by ensuring that scope analysis does not consider with scopes (or eval scopes) for such 'synthetic variables', similarly to how the 'this' variable was already handled. The patch also adds a DCHECK for the dynamic parallel to this case, replacing a previous unreachable path for a particular instance. BUG=v8:5405 Review-Url: https://codereview.chromium.org/2353623002 Cr-Commit-Position: refs/heads/master@{#39567}
-
littledan authored
This patch uses temporaries rather than unresolved variables for .promise and .debug_is_active. For .promise, a new field is added to the FunctionState, similarly to .generator_object. This change fixes a bug where .promise was locally shadowable by with, affecting program semantics. BUG=v8:5405 Review-Url: https://codereview.chromium.org/2359513002 Cr-Commit-Position: refs/heads/master@{#39566}
-
littledan authored
To improve performance, this patch makes Promise.all and Promise.race not perform correct catch prediction when the debugger is not open. The case may come up if Promise.race or Promise.all is called, then DevTools is open, then a component Promise is rejected. In this case, the user would falsely get an exception event even if the "pause on caught exceptions" box is unchecked. There are tests which triggered this case; however, it seems both unlikely and and acceptable to have an event in this case. Many analogous events are already produced when DevTools is enabled during the operation of a program. BUG=v8:3093 Review-Url: https://codereview.chromium.org/2350363002 Cr-Commit-Position: refs/heads/master@{#39565}
-
littledan authored
This patch knits together Promises returned by async/await such that when one async function awaits the result of another one, catch prediction works across the boundaries, whether the exception comes synchronously or asynchronously. Edges are added in three places: - When a locally uncaught await happens, if the value passed into await is a Promise, from the awaited value to the Promise under construction in the broader async function - From a "throwaway" Promise, which may be found on the Promise debug stack, to the Promise under construction in the async function that surrounds it - When a Promise is resolved with another Promise (e.g., when returning a Promise from an async function) In this reland, the caught tests are broken up into four parts to avoid timeouts. BUG=v8:5167 Review-Url: https://codereview.chromium.org/2346363004 Cr-Commit-Position: refs/heads/master@{#39564}
-