- 08 Dec, 2016 18 commits
-
-
mvstanton authored
The patch was reverted due to a bug - we failed to evict OSR-optimized code in the case where the SharedFunctionInfo OptimizedCodeMap was empty/cleared. Since we OSR code rarely, it makes sense to store it and look for it on the native context rather than the SharedFunctionInfo. This makes the OptimizedCodeMap data structure more space efficient, as it doesn't have to store an ast ID for the OSR entry point. Review-Url: https://codereview.chromium.org/2561083002 Cr-Commit-Position: refs/heads/master@{#41584}
-
rmcilroy authored
BUG=v8:5723 Review-Url: https://codereview.chromium.org/2555263002 Cr-Commit-Position: refs/heads/master@{#41583}
-
neis authored
This CL attempts to set the maybe-assigned flag for variables that are written to as part of a destructuring or loop header. For instance, in the following two cases we now mark x as maybe-assigned. a) [x] = [1]; b) for (x of [1,2,3]) {}; There's more work to do here, this is just a first step. R=adamk@chromium.org, mstarzinger@chromium.org BUG=v8:5636 Review-Url: https://codereview.chromium.org/2562443003 Cr-Commit-Position: refs/heads/master@{#41582}
-
bradnelson authored
Using x&(x-1) to check for power of two masks usable at runtime speeds up the life benchmark. Borrowing this from SimplifiedLowering for the AsmJsRemS internal wasm opcode. Leaving this out for general wasm as we should be doing this optimization in LLVM. BUG=v8:4203 TEST=None R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2556963005 Cr-Commit-Position: refs/heads/master@{#41581}
-
petermarshall authored
Speeds up some benchmarks that make heavy use of derived constructors. BUG=chromium:672075 Review-Url: https://codereview.chromium.org/2557963004 Cr-Commit-Position: refs/heads/master@{#41580}
-
mstarzinger authored
R=bmeurer@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2557693006 Cr-Commit-Position: refs/heads/master@{#41579}
-
qiuyi.zqy authored
Currently when the number passed to TryNumberToSize is 1 << 64, it gets away with a bug caused by rounding of mantissa. Then the number will be casted to 0 and TryNumberToSize will return true. This patch fix this by making the range check more accurate. BUG=v8:5712 Review-Url: https://codereview.chromium.org/2548243004 Cr-Commit-Position: refs/heads/master@{#41578}
-
neis authored
R=adamk@chromium.org, mstarzinger@chromium.org BUG= Review-Url: https://codereview.chromium.org/2554363002 Cr-Commit-Position: refs/heads/master@{#41577}
-
bradnelson authored
BUG=672047 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2555203002 Cr-Commit-Position: refs/heads/master@{#41576}
-
adamk authored
As of https://github.com/tc39/ecma262/commit/13906140a, the spec now returns true when [[SetPrototypeOf]] is invoked with null on a module namespace object. R=neis@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2557923004 Cr-Commit-Position: refs/heads/master@{#41575}
-
mtrofin authored
We were losing the stats for the first instance. Recording them as soon as code objects are produced. This way, we have them available for compile-only benchmarks. Review-Url: https://codereview.chromium.org/2556963003 Cr-Commit-Position: refs/heads/master@{#41574}
-
bmeurer authored
First step towards making arguments and rest parameters optimizable by splitting the allocations for the actual object and the elements. The object allocations can already be escape analyzed this way, the elements would need special support in the deoptimizer and the escape analysis, but that can be done as a second separate step. R=jarin@chromium.org BUG=v8:5726 Review-Url: https://codereview.chromium.org/2557283002 Cr-Commit-Position: refs/heads/master@{#41573}
-
yangguo authored
Yes. I thought I was being smart. And yes. It's just a one-liner. TBR=cbruni@chromium.org BUG=chromium:672009 Review-Url: https://codereview.chromium.org/2555213005 Cr-Commit-Position: refs/heads/master@{#41572}
-
bmeurer authored
Revert of Store OSR'd optimized code on the native context. (patchset #8 id:140001 of https://codereview.chromium.org/2549753002/ ) Reason for revert: Speculative revert WebGL breakage reported in https://bugs.chromium.org/p/chromium/issues/detail?id=672367 Original issue's description: > Store OSR'd optimized code on the native context. > > Since we OSR code rarely, it makes sense to store it and look for it on the native context rather than the SharedFunctionInfo. This makes the OptimizedCodeMap data structure more space efficient, as it doesn't have to store an ast ID for the OSR entry point. > > BUG= > > Committed: https://crrev.com/378b6b22fb7925ac5b672335a54599f5739e7758 > Cr-Commit-Position: refs/heads/master@{#41554} TBR=mstarzinger@chromium.org, mvstanton@chromium.org, ulan@chromium.org BUG= Review-Url: https://codereview.chromium.org/2562623003 Cr-Commit-Position: refs/heads/master@{#41571}
-
mgiuca authored
BUG=v8:5725 Review-Url: https://codereview.chromium.org/2559933002 Cr-Commit-Position: refs/heads/master@{#41570}
-
gsathya authored
-- Moves promiseHasHandlerSymbol to inobject property -- Ports PromiseResolveClosure to TF -- Fix a non spec async-await test which fails now because we do a map check for native promise check (instead of IsPromise). Changing the constructor (in the test) invalidates the map check. This patch results in a 7.1% performance improvement in the bluebird benchmark (over 5 runs). BUG=v8:5343 Review-Url: https://codereview.chromium.org/2541283002 Cr-Commit-Position: refs/heads/master@{#41569}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/788dcd7..53448a6 Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/415a532..11d3d44 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/7f925e3..caccf42 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2555223003 Cr-Commit-Position: refs/heads/master@{#41568}
-
lpy authored
jasongin@ created this patch. https://github.com/jasongin/nodejs/commit/dcc50445a364664586164f42f9250732bd372982 This patch adds the support to emit a trace event by using a comma-separated list of categories, so that the trace event will be emitted if there is at least one category is enabled in the categories list. TBR=jochen@chromium.org Review-Url: https://codereview.chromium.org/2558193002 Cr-Commit-Position: refs/heads/master@{#41567}
-
- 07 Dec, 2016 22 commits
-
-
luoe authored
Due to the isOwn check, functions inherited through prototype will not be included in a preview. BUG=645053 Review-Url: https://codereview.chromium.org/2554623003 Cr-Commit-Position: refs/heads/master@{#41566}
-
luoe authored
Getter properties are not currently included in the protocol's Runtime.ObjectPreview. DevTools currently shows getter properties when evaluating arrays in the console, and this CL brings them into the preview generated for RemoteObjects. Corresponding DevTools CL: https://codereview.chromium.org/2521513006/ BUG=666882 Review-Url: https://codereview.chromium.org/2508423002 Cr-Commit-Position: refs/heads/master@{#41565}
-
gsathya authored
Previously we created 3 FixedArrays and then filled them up with values. This meant that during the creation of the second and third FixedArray, there were one and two FixedArrays respectively, without any values in it which broke the FixedArrayVerify. This patch fills each FixedArray with the correct values before creating new ones. BUG=chromium:672051 Review-Url: https://codereview.chromium.org/2554323003 Cr-Commit-Position: refs/heads/master@{#41564}
-
jwolfe authored
We're still collecting use counter data for this situation. BUG=v8:4973 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2510873005 Cr-Commit-Position: refs/heads/master@{#41563}
-
bjaideep authored
Port 378b6b22 Original Commit Message: Since we OSR code rarely, it makes sense to store it and look for it on the native context rather than the SharedFunctionInfo. This makes the OptimizedCodeMap data structure more space efficient, as it doesn't have to store an ast ID for the OSR entry point. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2557113002 Cr-Commit-Position: refs/heads/master@{#41562}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2560893002 Cr-Commit-Position: refs/heads/master@{#41561}
-
jwolfe authored
When an octal escape sequence is in a string in strict mode: - Octal literals are not allowed in strict mode. + Octal escape sequences are not allowed in strict mode. When an octal escape sequence is in a template string: - Octal literals are not allowed in template strings. + Octal escape sequences are not allowed in template strings. BUG=v8:4973 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2551633002 Cr-Commit-Position: refs/heads/master@{#41560}
-
lpy authored
This patch introduces: 1. ICStats class to store ic statistics items produced by V8, 2. A disabled by default tracing category v8.ic_stats, 3. An trace event V8.ICStats that contains ic statistics items in args, We store ic statistics items in an array until the array is full to reduce the number of trace events. TBR=jkummerow@chromium.org,ishell@chromium.org Review-Url: https://codereview.chromium.org/2503183002 Cr-Commit-Position: refs/heads/master@{#41559}
-
ulan authored
marking needs finalization. TBR=mlippautz@chromium.org BUG=chromium:671994,chromium:670675 Review-Url: https://codereview.chromium.org/2560813002 Cr-Commit-Position: refs/heads/master@{#41558}
-
bradnelson authored
The asm.js spec requires exports to be identifiers, this was DCHECKED in the asm-wasm-builder, but not the typer. BUG=672046 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2552913004 Cr-Commit-Position: refs/heads/master@{#41557}
-
dcheng authored
When v8 fails an access check, it invokes a helper to try to see if it can service the request via an access check interceptor. Invoking the access check interceptor can throw an exception (e.g. a SecurityError). Unfortunately, the failed access check property helpers and the interceptor helpers don't agree on how to propagate the exception: if the interceptor helper detects a scheduled exception, it promotes the exception to a pending exception and returns to the failed access check property helper. The failed access check property helper also has an early return in case of a scheduled exception. However, this doesn't work, as the previously thrown exception is no longer scheduled, as it's been promoted to a pending exception. Thus, the failed access check property helper always end up calling the failed access check callback as well. Since Blink's implementation of the failed access check callback also throws an exception, this conflicts with the previously-thrown, already-pending exception. With this patch, the failed access check property helpers check for a pending exception rather than a scheduled exception after invoking the interceptor, so the exception can be propagated correctly. BUG=v8:5715 R=yangguo@chromium.org,jochen@chromium.org Review-Url: https://codereview.chromium.org/2550423002 Cr-Commit-Position: refs/heads/master@{#41556}
-
caitp authored
Introduces: - a new AST node representing the GetIterator() algorithm in the specification, to be used by ForOfStatement, YieldExpression (in the case of delegating yield*), and the future `for-await-of` loop proposed in http://tc39.github.io/proposal-async-iteration/#sec-async-iterator-value-unwrap-functions. - a new opcode (JumpIfJSReceiver), which is useful for `if Type(object) is not Object` checks which are common throughout the specification. This node is easily eliminated by TurboFan. The AST node is desugared specially in bytecode, rather than manually when building the AST. The benefit of this is that desugaring in the BytecodeGenerator is much simpler and easier to understand than desugaring the AST. This also reduces parse time very slightly, and allows us to use LoadIC rather than KeyedLoadIC, which seems to have better baseline performance. This results in a ~20% improvement in test/js-perf-test/Iterators micro-benchmarks, which I believe owes to the use of the slightly faster LoadIC as opposed to the KeyedLoadIC in the baseline case. Both produce identical optimized code via TurboFan when the type check can be eliminated, and the load can be replaced with a constant value. BUG=v8:4280 R=bmeurer@chromium.org, rmcilroy@chromium.org, adamk@chromium.org, neis@chromium.org, jarin@chromium.org TBR=rossberg@chromium.org Review-Url: https://codereview.chromium.org/2557593004 Cr-Commit-Position: refs/heads/master@{#41555}
-
mvstanton authored
Since we OSR code rarely, it makes sense to store it and look for it on the native context rather than the SharedFunctionInfo. This makes the OptimizedCodeMap data structure more space efficient, as it doesn't have to store an ast ID for the OSR entry point. BUG= Review-Url: https://codereview.chromium.org/2549753002 Cr-Commit-Position: refs/heads/master@{#41554}
-
mlippautz authored
BUG=chromium:468240,chromium:668060 Review-Url: https://codereview.chromium.org/2551973005 Cr-Commit-Position: refs/heads/master@{#41553}
-
clemensh authored
There were two bugs, one partly hiding the other one: 1) We generate the ToNumber conversion for each WASM_TO_JS wrapper, even if the expected return type is void. 2) The return node in the WASM_TO_JS wrapper did not use the effect of the ToNumber conversion. This CL fixes both, and adds test cases to check that we do throw an error trying to convert (e.g.) Symbol to a number, but only if the return type is not void. Additional test check that a user-provided valueOf method is actually called the correct number of times. R=titzer@chromium.org, bradnelson@chromium.org BUG=v8:4203 Review-Url: https://codereview.chromium.org/2552123004 Cr-Commit-Position: refs/heads/master@{#41552}
-
mstarzinger authored
R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/2561563002 Cr-Commit-Position: refs/heads/master@{#41551}
-
jgruber authored
Both @@match and @@split internally use dynamically growing fixed arrays. Shrink to fit when wrapping these in a JSArray to avoid excessive memory usage. BUG=chromium:670205,chromium:670708 Review-Url: https://codereview.chromium.org/2556773002 Cr-Commit-Position: refs/heads/master@{#41550}
-
yangguo authored
R=jgruber@chromium.org, kozyatinskiy@chromium.org BUG=v8:5510 Review-Url: https://codereview.chromium.org/2530093002 Cr-Commit-Position: refs/heads/master@{#41549}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2560663002 Cr-Commit-Position: refs/heads/master@{#41548}
-
ishell authored
The flag must be used only by CodeStubAssemblerGraphsCorrectness cctest for now and once all the verification issues are fixed the flag will be enabled in debug mode by default. This CL also relaxes some checks for code stub graphs and fixes some issues in the stubs. BUG= Review-Url: https://codereview.chromium.org/2558653002 Cr-Commit-Position: refs/heads/master@{#41547}
-
henrique.ferreiro authored
This allows to detect a static property also named 'name', and also makes sure 'name' is added last, to be standards-compliant. BUG=v8:4199 Review-Url: https://codereview.chromium.org/2423053002 Cr-Commit-Position: refs/heads/master@{#41546}
-
alph authored
BUG=chromium:665398 Review-Url: https://codereview.chromium.org/2556833003 Cr-Commit-Position: refs/heads/master@{#41545}
-