- 23 Jan, 2017 6 commits
-
-
petermarshall authored
Also, emit a NewWithSpread bytecode for CallNew AST nodes where possible, rather than desugaring in the parser. BUG=v8:5511 Review-Url: https://codereview.chromium.org/2629363002 Cr-Original-Commit-Position: refs/heads/master@{#42455} Committed: https://chromium.googlesource.com/v8/v8/+/4bae43471d5685e34d8bd74458889b83e60235a0 Review-Url: https://codereview.chromium.org/2629363002 Cr-Commit-Position: refs/heads/master@{#42590}
-
bmeurer authored
For calls from ToPrimitive we already now that the receiver cannot be null or undefined, since a property lookup succeeded before the call, which would have thrown an exception in case of null or undefined. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2649093002 Cr-Commit-Position: refs/heads/master@{#42589}
-
zhengxing.li authored
port ea925431 (r42545) original commit message: On ia32 return statements in C++ automatically convert signalling NaNs to quiet NaNs, even when bit_cast is used. This CL removes all uses of bit_cast<float> and bit_cast<double> in the wasm compiler and wasm interpreter. BUG= Review-Url: https://codereview.chromium.org/2648203002 Cr-Commit-Position: refs/heads/master@{#42588}
-
zhengxing.li authored
port 037200e6 (r42486) original commit message: The IA32AddPair and IA32SubPair instructions were using an input register as a temporary value, which led to registers sometimes being clobbered when they shouldn't have been. This led to problems, for example, in calling printf to format doubles: printf("%f", 1.2345) => 0.61725 (on x86) BUG= Review-Url: https://codereview.chromium.org/2645233002 Cr-Commit-Position: refs/heads/master@{#42587}
-
zhengxing.li authored
port 0b8200c7 (r42444) original commit message: BUG= Review-Url: https://codereview.chromium.org/2646343002 Cr-Commit-Position: refs/heads/master@{#42586}
-
zhengxing.li authored
port 95a9b761 (r42344) original commit message: Recognize and emit in-memory comparisons of 8-bit and 16-bit values with immediate values that fit. BUG= Review-Url: https://codereview.chromium.org/2651553002 Cr-Commit-Position: refs/heads/master@{#42585}
-
- 22 Jan, 2017 1 commit
-
-
franzih authored
Property backing store size for object literals is the number of constant and named properties (possibly over-allocating for the same names). We do not reserve space in the backing store for __proto__. We do not reserve space in the backing store for index keys. Currently, we account for index keys in the runtime when iterating over the boilerplate properties. Since the boilerplate properties only include the properties up to the first computed property name, the property backing store size includes space for index keys if seen after the first computed property. R=verwaest@chromium.org BUG=v8:5625 Review-Url: https://codereview.chromium.org/2650593002 Cr-Commit-Position: refs/heads/master@{#42584}
-
- 21 Jan, 2017 3 commits
-
-
hablich authored
Revert of [build] Introduce an embedder version string (patchset #3 id:40001 of https://codereview.chromium.org/2619213002/ ) Reason for revert: Blocks roll https://codereview.chromium.org/2647183002/ Original issue's description: > [build] Introduce an embedder version string > > Sometimes, the embedder might want to merge a fix to an abandoned branch > or to a supported branch but the fix is not relevant to Chromium. > This adds a new version string that the embedder can set on compile time > and that will be appended to the official V8 version. > The separator must be provided in the string. For instance, to have a > full version string like "5.5.372.37.custom.1", the embedder must set > V8_EMBEDDER_STRING to ".custom.1". > > Related Node.js issue: https://github.com/nodejs/node/pull/9754 > > BUG=v8:5740 > R=machenbach@chromium.org,hablich@chromium.com,ofrobots@google.com > > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng > > Review-Url: https://codereview.chromium.org/2619213002 > Cr-Original-Commit-Position: refs/heads/master@{#42175} > Committed: https://chromium.googlesource.com/v8/v8/+/fc86d4329b253bf21c1dd85469f1ef4b6e5ba01a > Review-Url: https://codereview.chromium.org/2619213002 > Cr-Commit-Position: refs/heads/master@{#42582} > Committed: https://chromium.googlesource.com/v8/v8/+/2c1d1e60883882011ed50310a9b09e95dc61234a TBR=hablich@chromium.com,machenbach@chromium.org,ofrobots@google.com,mic.besace@gmail.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5740 Review-Url: https://codereview.chromium.org/2643393004 Cr-Commit-Position: refs/heads/master@{#42583}
-
mic.besace authored
Sometimes, the embedder might want to merge a fix to an abandoned branch or to a supported branch but the fix is not relevant to Chromium. This adds a new version string that the embedder can set on compile time and that will be appended to the official V8 version. The separator must be provided in the string. For instance, to have a full version string like "5.5.372.37.custom.1", the embedder must set V8_EMBEDDER_STRING to ".custom.1". Related Node.js issue: https://github.com/nodejs/node/pull/9754 BUG=v8:5740 R=machenbach@chromium.org,hablich@chromium.com,ofrobots@google.com CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng Review-Url: https://codereview.chromium.org/2619213002 Cr-Original-Commit-Position: refs/heads/master@{#42175} Committed: https://chromium.googlesource.com/v8/v8/+/fc86d4329b253bf21c1dd85469f1ef4b6e5ba01a Review-Url: https://codereview.chromium.org/2619213002 Cr-Commit-Position: refs/heads/master@{#42582}
-
gsathya authored
Convert strings to numbers if possible in the runtime call and store in excluded property list. BUG=v8:5549 Review-Url: https://codereview.chromium.org/2639333004 Cr-Commit-Position: refs/heads/master@{#42581}
-
- 20 Jan, 2017 30 commits
-
-
rmcilroy authored
This enables us to produce the list of eager inner functions for compilation in one go during the outer function's renumbering step, and avoid having to do renumbering explicitly on the inner functions, simplifying the zone ownership. BUG=v8:5203, v8:5215 Review-Url: https://codereview.chromium.org/2648503002 Cr-Original-Commit-Position: refs/heads/master@{#42540} Committed: https://chromium.googlesource.com/v8/v8/+/3541a074e241421b64ba41d81d8a99bb6ac62c5e Review-Url: https://codereview.chromium.org/2648503002 Cr-Commit-Position: refs/heads/master@{#42580}
-
jgruber authored
This moves AsyncFunctionAwait{Caught,Uncaught} to CSA, and removes async-await.js. BUG=v8:5639 Review-Url: https://codereview.chromium.org/2643023002 Cr-Commit-Position: refs/heads/master@{#42579}
-
gdeepti authored
BUG=v8:5863 R=titzer@chromium.org, dschuff@chromium.org Review-Url: https://codereview.chromium.org/2640403004 Cr-Commit-Position: refs/heads/master@{#42578}
-
jgruber authored
Revert of [regexp] Create property on result for each named capture (patchset #7 id:120001 of https://codereview.chromium.org/2630233003/ ) Reason for revert: Breaks arm64. Original issue's description: > [regexp] Store named captures on the regexp result > > This implements storing named captures on the regexp result object. > For instance, /(?<a>.)/u.exec("b") will return a result such that: > > result.group.a // "b" > > The spec proposal is not yet final, so this may still change in the future. > > BUG=v8:5437 > > Review-Url: https://codereview.chromium.org/2630233003 > Cr-Original-Commit-Position: refs/heads/master@{#42532} > Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1fcf154 > Review-Url: https://codereview.chromium.org/2630233003 > Cr-Commit-Position: refs/heads/master@{#42570} > Committed: https://chromium.googlesource.com/v8/v8/+/ee94fa11ed63477393c6534c352ebac6e502396c TBR=yangguo@chromium.org,littledan@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5437 Review-Url: https://codereview.chromium.org/2639403008 Cr-Commit-Position: refs/heads/master@{#42577}
-
franzih authored
Allocate space in the backing store for computed property names. The property backing store was pre-allocated for the constant properties up to the first non-constant (computed name) property. To use lowering for storing data properties in literals with computed property names effectively, a fast store is needed, i.e., available space in the property backing store for properties with computed names. backing_store_size is the number of all properties (including computed names, but without __proto__) that is calculated in the ast and passed to the runtime function that allocates the property backing store. backing_store_size and constant_properties constitute a BoilerplateDescription. backing_store_size might be slightly too high because computed names can evaluate to the same name, but that should be a rare case so over-allocating is OK. If a property is __proto__, we don't store it as a regular property, because the map changes. Keep track of has_seen_proto in the parser to calculate the backing store size correctly. BUG=v8:5625 Review-Url: https://codereview.chromium.org/2632503003 Cr-Commit-Position: refs/heads/master@{#42576}
-
mtrofin authored
Additionally, fixed invalid check in WebAssembly.Module constructor. The constructor takes precisely one argument. BUG=v8:5875 Review-Url: https://codereview.chromium.org/2644993002 Cr-Commit-Position: refs/heads/master@{#42575}
-
mstarzinger authored
The flag in question was on by defautl for a while now and has never been supported for optimized code generated from bytecode. We no longer support eliding stack-checks within loops just in optimized code. R=bmeurer@chromium.org BUG=v8:5653 Review-Url: https://codereview.chromium.org/2643773008 Cr-Commit-Position: refs/heads/master@{#42574}
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#42573}
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#42572}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2645083003 Cr-Commit-Position: refs/heads/master@{#42571}
-
jgruber authored
This implements storing named captures on the regexp result object. For instance, /(?<a>.)/u.exec("b") will return a result such that: result.group.a // "b" The spec proposal is not yet final, so this may still change in the future. BUG=v8:5437 Review-Url: https://codereview.chromium.org/2630233003 Cr-Original-Commit-Position: refs/heads/master@{#42532} Committed: https://chromium.googlesource.com/v8/v8/+/70000946eb2a9155679528702a766219a1fcf154 Review-Url: https://codereview.chromium.org/2630233003 Cr-Commit-Position: refs/heads/master@{#42570}
-
machenbach authored
Also switch on validate asm in all configuration to zero out any comparisons. BUG=chromium:673246 NOTRY=true TBR=mstarzinger@chromium.org, rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2647493004 Cr-Commit-Position: refs/heads/master@{#42569}
-
mtrofin authored
BUG=v8:5876 Review-Url: https://codereview.chromium.org/2644893004 Cr-Commit-Position: refs/heads/master@{#42568}
-
tebbi authored
Create different json files for diffferent optimization attempts of the same function. This allows to analyze the graphs of early optimization attempts that lead to deopts or to produce a proper json file in the case of a deopt loop. R=danno@chromium.org Review-Url: https://codereview.chromium.org/2649513003 Cr-Commit-Position: refs/heads/master@{#42567}
-
clemensh authored
In this particular case, we just did a (lhs)op(rhs), ignoring the case that lhs and rhs might have different signedness. This CL changes that to use the proper Cmp##op##Impl implementation, which does two comparisions for signed-vs-unsigned checks, avoiding compiler errors. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2642383002 Cr-Commit-Position: refs/heads/master@{#42566}
-
mlippautz authored
Do not DCHECK live bytes as they might be inconsistent. BUG= TBR=hpayer@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2647573004 Cr-Commit-Position: refs/heads/master@{#42565}
-
titzer authored
R=rossberg@chromium.org BUG=chromium:682659 Review-Url: https://codereview.chromium.org/2646093003 Cr-Commit-Position: refs/heads/master@{#42564}
-
marja authored
E.g., ast/ast.h uses Label but shouldn't need to include assembler.h for that. With this change, we can hope for proper layering in the future (not quite there yet). Also includes minor random include lowering and relevant IWYU fixes. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2645063002 Cr-Commit-Position: refs/heads/master@{#42563}
-
rmcilroy authored
Moves ownership of the parsing Zone to ParseInfo with a shared_ptr. This is in preperation for enabling background compilation jobs for inner functions share the AST in the outer-function's parse zone memory (read-only), with the and zone being released when all compilation jobs have completed. BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2632123006 Cr-Original-Commit-Position: refs/heads/master@{#42539} Committed: https://chromium.googlesource.com/v8/v8/+/839b06b64fcaaaa9cceb2c3fd8fd5429e2932095 Review-Url: https://codereview.chromium.org/2632123006 Cr-Commit-Position: refs/heads/master@{#42562}
-
petermarshall authored
FAST_DOUBLE_ELEMENTS and FAST_HOLEY_DOUBLE_ELEMENTS kinds should both be handled by the runtime. Review-Url: https://codereview.chromium.org/2644643011 Cr-Commit-Position: refs/heads/master@{#42561}
-
clemensh authored
Test that setting breakpoints works for wasm, and that they are hit correctly. This basically tests all the layers involved: Compiling and running wasm interpreter entries, passing arguments to the interpreter, storing break point infos in wasm objects, getting the right BreakLocation from wasm frames, and getting stack information from interpreted frames. BUG=v8:5822 R=titzer@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/2629883002 Cr-Commit-Position: refs/heads/master@{#42560}
-
ahaas authored
The index input of load and store nodes has to be of type int32. However it is still possible that this index input was lowered by the Int64Lowering, for example if the index was a kTruncateInt64ToInt32 node. With this CL we check if there exists a replacement of the index and if so, use the replacement instead of the original index as the input for the lowered load and store nodes. BUG=v8:5874 R=titzer@chromium.org, eholk@chromium.org Review-Url: https://codereview.chromium.org/2644603004 Cr-Commit-Position: refs/heads/master@{#42559}
-
machenbach authored
TBR=maruel@chromium.org BUG=v8:5872 Review-Url: https://codereview.chromium.org/2645053002 Cr-Commit-Position: refs/heads/master@{#42558}
-
titzer authored
R=clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2644323002 Cr-Commit-Position: refs/heads/master@{#42557}
-
rossberg authored
R=titzer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2640113005 Cr-Commit-Position: refs/heads/master@{#42556}
-
mlippautz authored
BUG=chromium:651354 Review-Url: https://codereview.chromium.org/2637403011 Cr-Commit-Position: refs/heads/master@{#42555}
-
ishell authored
BUG=chromium:682706 Review-Url: https://codereview.chromium.org/2644853003 Cr-Commit-Position: refs/heads/master@{#42554}
-
yangguo authored
This particular test case is a hack that abuses Turbofan to generate code that contains a switch table. Now that some builtins use the CodeStubAssembler to implement switch tables we don't need this test case anymore. TBR=jarin@chromium.org Review-Url: https://codereview.chromium.org/2645943003 Cr-Commit-Position: refs/heads/master@{#42553}
-
marja authored
BUG=v8:5402 Review-Url: https://codereview.chromium.org/2642353002 Cr-Commit-Position: refs/heads/master@{#42552}
-
clemensh authored
Frame inspection is currently limited to locations of execution. Further details like local variables or stack content will follow later. The FrameInspector now stores a pointer to the interpreted wasm frame, and redirects certain requests there, just as for deoptimized frames. Hitting breakpoints is now also supported for wasm frames. R=yangguo@chromium.org, titzer@chromium.org BUG=v8:5822 Review-Url: https://codereview.chromium.org/2629823003 Cr-Commit-Position: refs/heads/master@{#42551}
-