- 20 Jun, 2017 5 commits
-
-
Clemens Hammacher authored
Especially in wasm, many builtins don't actually need a context parameter. We currently pass Smi::kZero instead. This CL allows to generate a CallDescriptor for calling stubs without passing a context, resulting in reduced compile time and code size, and increased performance when executing these builtins. We were calling the ThrowWasm* functions without passing a context anyway (directly from code-generator-<arch>.h). With this change, we will also call the StackCheck builtin without passing a (null) context. This saves two bytes of code in each function plus each loop, and also slightly reduces compile time (very noisy, but statistically significant). Drive-by: Use NoContextConstant instead of SmiConstant(Smi::kZero). R=mstarzinger@chromium.org, ahaas@chromium.org Change-Id: If794cc4c262a9cca8d29a68010803c01a2eef4a3 Reviewed-on: https://chromium-review.googlesource.com/541423Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#46044}
-
bmeurer authored
Add a new JSCallWithArrayLike operator that is backed by the CallWithArrayLike builtin, and use that operator for both Function.prototype.apply and Reflect.apply inlining. Also unify the handling of JSCallWithArrayLike and JSCallWithSpread in the JSCallReducer to reduce the copy&paste overhead. Drive-by-fix: Add a lot of test coverage for Reflect.apply and Function.prototype.apply in optimized code, especially for some corner cases, which was missing so far. BUG=v8:4587,v8:5269 R=petermarshall@chromium.org Review-Url: https://codereview.chromium.org/2950773002 Cr-Commit-Position: refs/heads/master@{#46041}
-
Peter Marshall authored
We can remove a lot of native code and rely on CallOrConstructVarargs to do the stack manipulation for us. This will also take advantage of the fast-path for double arrays in CallOrConstructDoubleVarargs. We can also remove Runtime_SpreadIterableFixed because it isn't used anymore. We just call directly into spread_iterable from CSA. Bug: v8:6488, chromium:704966 Change-Id: I81a18281f062619851134fff7ce88471566ee3b5 Reviewed-on: https://chromium-review.googlesource.com/535615Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#46038}
-
Daniel Ehrenberg authored
Previously, Date.toString() and friends were completely implementation-defined. However, they actually seemed to match each other's behavior with the exception of how years less than 1000 are formatted. The rough consensus among browsers seemed to be %04d, so this was standardized at TC39 [1]. V8 previously used %4d (it was the only one to do so); this patch adopts the new standard. [1] https://github.com/tc39/ecma262/commit/5d4acf3377e1b0ad4a4660c57108db1b28ef20ff Bug: v8:6076 Change-Id: I8c795a4e1b71187ad7c24a1aee8d7d66719a2586 Reviewed-on: https://chromium-review.googlesource.com/536733 Commit-Queue: Daniel Ehrenberg <littledan@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46037}
-
georgia.kouveli authored
This is to help the transition to using CSP as the stack pointer. It does not make JSSP aligned yet, just makes sure that we only modify JSSP by a multiple of 16 bytes. To do this, we might need to add a padding slot above the receiver. BUG= Review-Url: https://codereview.chromium.org/2938603002 Cr-Commit-Position: refs/heads/master@{#46030}
-
- 19 Jun, 2017 4 commits
-
-
jgruber authored
Mechanical change to remove argument adaption (should be a tad faster this way). Especially next is called without arguments in the common case. Bug: v8:6354, v8:6369 Change-Id: I4180caabfc4c1bbf1a10a881dcbcd41e03614b27 Reviewed-on: https://chromium-review.googlesource.com/535453 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Caitlin Potter <caitp@igalia.com> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46000}
-
Peter Marshall authored
Large allocations would fail due to the flag not being set. Bug: chromium:732836 Change-Id: I31686e382386a2d08582c86b29dc8f89841040d1 Reviewed-on: https://chromium-review.googlesource.com/535563Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#45999}
-
jgruber authored
Minor differences in how we dispatch on the regexp type (IRREGEXP,ATOM,NOT_COMPILED) make significant differences in benchmark performance. A simple switch turns out to be the best alternative. BUG=chromium:734035, v8:6462 Change-Id: I09c613658e828b9fd1e3082624ef692b8b4a0c5f Reviewed-on: https://chromium-review.googlesource.com/539295Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45998}
-
Leszek Swirski authored
For interpreted functions, use the optimized code slot in the feedback vector to store an optimization marker (optimize/in optimization queue) rather than changing the JSFunction's code object. Then, adapt the self-healing mechanism to also dispatch based on this optimization marker. Similarly, replace SFI marking with optimization marker checks in CompileLazy. This allows JSFunctions to share optimization information (replacing shared function marking) without leaking this information across native contexts. Non I+TF functions (asm.js or --no-turbo) use a CheckOptimizationMarker shim which generalises the old CompileOptimized/InOptimizationQueue builtins and also checks the same optimization marker as CompileLazy and InterpreterEntryTrampoline. This is a reland of https://chromium-review.googlesource.com/c/509716 Change-Id: I02b790544596562373da4c9c9f6afde5fb3bcffe Reviewed-on: https://chromium-review.googlesource.com/535460Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45997}
-
- 16 Jun, 2017 6 commits
-
-
Mythri authored
The Smi versions of arithmetic bytecodes (AddSmi, SubSmi, MulSmi, DivSmi, ModSmi) have a fast path for Smi case and call to a builtin on the slow path. However, this builtin is only used by these bytecode handlers. This cl removes the builtins and inlines them into bytecode handlers. This will also save few checks in the slow-path. Subtract, multiply, divide and modulus also share the same checks to collect type feedback on several cases. This cl also refactors them to share the same code. Also removed a couple of TODOs that are no longer relevant. Bug: v8:4280, v8:6474 Change-Id: Id23bd61c2074564a1beacb0632165f52370ff226 Reviewed-on: https://chromium-review.googlesource.com/530845 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45982}
-
Camillo Bruni authored
With the introduction of the fast-cloning double fields in the CSA stub for literals we forgot to check for deprecated maps. As a result every subsequent IC-miss would have to migrate the objects from such boilerplates. This CL makes sure we don't use the deprecated map when copying boilerplates, thus restoring the original behavior. Bug: v8:6211 chromium:728682 Change-Id: If9ea1e0c5c6fb4236cb7a82ea33306a600925ac3 Reviewed-on: https://chromium-review.googlesource.com/538677Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#45981}
-
Camillo Bruni authored
Change-Id: I224ea998eccf8fa18766b71962d487bb02768c78 Reviewed-on: https://chromium-review.googlesource.com/518146Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#45980}
-
Camillo Bruni authored
Change-Id: If9debcecd714494e24adf895eb077d5ba51528d2 Reviewed-on: https://chromium-review.googlesource.com/535619 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45979}
-
Camillo Bruni authored
Storing the boilerplate on the first run leads to memory ovehead for code that is run only once. Hence we directly return the creating literal on the first run and only start creating copies from the second run on. Bug: v8:6211 Change-Id: I69b96d124a5b594b991fdbcc76dbf935d973ffad Reviewed-on: https://chromium-review.googlesource.com/530688 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#45975}
-
Mythri authored
Profiler ticks are reset when the type feedback changes for Load / Store ICs. This cl extends this to other operations as well. This allows us to tier up functions when the feedback vectors are stable. This is the first step for a set of follow up cls that will change the heuristics used in runtime-profiler. Bug: Change-Id: I875209712c6161e425a03475c14890a49155c0e1 Reviewed-on: https://chromium-review.googlesource.com/529165Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#45974}
-
- 15 Jun, 2017 1 commit
-
-
Adam Klein authored
This reverts commit 8196e102. Reason for revert: Performance regression due to hashcode lookup. Original change's description: > [builtins] Move most WeakMap/WeakSet code from JS to C++ builtins > > They were already implemented mostly in C++ (only error/negative > cases were handled in script), so this is mostly just a cleanup. > Only the constructors remain in script after this CL. > > Bug: v8:6354 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng > Change-Id: I5b3579337a8e33dc30d49c2da5cfd42baec697bb > Reviewed-on: https://chromium-review.googlesource.com/531670 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Adam Klein <adamk@chromium.org> > Cr-Commit-Position: refs/heads/master@{#45924} TBR=adamk@chromium.org,cbruni@chromium.org,gsathya@chromium.org Bug: v8:6354, chromium:733238 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ia5a741b9587886298f3ca057f6a6adeba556b8e0 Reviewed-on: https://chromium-review.googlesource.com/537207Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#45966}
-
- 14 Jun, 2017 4 commits
-
-
jgruber authored
Until now, ATOM regexps (i.e. simple patterns don't require regexp matching logic but can use generic string matching algorithms instead) have always gone through the slow runtime. This CL implements a fast path in CSA which simply calls StringIndexOf internally and then sets up the last-match-info as required. Local microbenchmarks show a 30% improvement for RE.p.exec on ATOM regexps, and a 5% improvement on Octane/RegExp. Bug: v8:6462 Change-Id: I35b4c5caf416fa35fe388dd58e34dea55b098d09 Reviewed-on: https://chromium-review.googlesource.com/535455 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#45947}
-
Caitlin Potter authored
Simplifies the implementation of IteratorClose in IteratorBuiltinsAssembler, and makes clear that it is only invoked when an exception occurs. Adds exception handling support to GetIterator, IteratorStep, and IteratorCloseOnException. Moves the Promise.all resolveElement closure and it's caller to builtins-promise-gen.cc. Instead of creating an internal array (and copying its elements into a result array), a single JSArray is allocated, and appended with BuildAppendJSArray(), falling back to %CreateDataProperty(), and elements are updated in the resolve closure the same way. This should always be unobservable. This CL increases the size of snapshot_blob.bin on an x64.release build by 8.51kb BUG=v8:5343 R=cbruni@chromium.org, gsathysa@chromium.org, jgruber@chromium.org, hpayer@chromium.org, tebbi@chromium.org Change-Id: I29c4a529154ef49ad65555ce6ddc2c5b7c9de6b3 Reviewed-on: https://chromium-review.googlesource.com/508473 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45946}
-
Jakob Kummerow authored
Bug: v8:6474 Change-Id: I24d067ac77c2cb557d0b3f6e2c8c512761c160f1 Reviewed-on: https://chromium-review.googlesource.com/531384 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45944}
-
jgruber authored
This completes refactoring started in 0a355777. Bug: v8:6474 Change-Id: Ia2ea66e10e4f1d55551fe145f67f4021ae254b23 Reviewed-on: https://chromium-review.googlesource.com/532997 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#45934}
-
- 13 Jun, 2017 10 commits
-
-
bmeurer authored
Port the baseline implementation of Object.prototype.isPrototypeOf to the CodeStubAssembler, sharing the existing prototype chain lookup logic with the instanceof / OrdinaryHasInstance implementation. Based on that, do the same in TurboFan, introducing a new JSHasInPrototypeChain operator, which encapsulates the central prototype chain walk logic. This speeds up Object.prototype.isPrototypeOf by more than a factor of four, so that the code A.prototype.isPrototypeOf(a) is now performance-wise on par with a instanceof A for the case where A is a regular constructor function and a is an instance of A. Since instanceof does more than just the fundamental prototype chain lookup, it was discovered in Node core that O.p.isPrototypeOf would be a more appropriate alternative for certain sanity checks, since it's less vulnerable to monkey-patching. In addition, the Object builtin would also avoid the performance-cliff associated with instanceof (due to the Symbol.hasInstance hook), as for example hit by https://github.com/nodejs/node/pull/13403#issuecomment-305915874. The main blocker was the missing performance of isPrototypeOf, since it was still a JS builtin backed by a runtime call. This CL also adds more test coverage for the Object.prototype.isPrototypeOf builtin, especially when called from optimized code. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_rel_ng BUG=v8:5269,v8:5989,v8:6483 R=jgruber@chromium.org Review-Url: https://codereview.chromium.org/2934893002 Cr-Commit-Position: refs/heads/master@{#45925}
-
Adam Klein authored
They were already implemented mostly in C++ (only error/negative cases were handled in script), so this is mostly just a cleanup. Only the constructors remain in script after this CL. Bug: v8:6354 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I5b3579337a8e33dc30d49c2da5cfd42baec697bb Reviewed-on: https://chromium-review.googlesource.com/531670Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#45924}
-
Sathya Gunasekaran authored
Bug: v8:5717 Change-Id: I0e900b46a314a272206798aab8af5ccbb7f91fd3 Reviewed-on: https://chromium-review.googlesource.com/528315Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#45907}
-
jarin authored
Review-Url: https://codereview.chromium.org/2936813002 Cr-Commit-Position: refs/heads/master@{#45906}
-
jgruber authored
Use the simpler variant (that defaults to UndefinedConstant()) when possible. Bug: v8:6474 Change-Id: I46c6d5c2ffb98cb05f2db003d159dcd9113db085 Reviewed-on: https://chromium-review.googlesource.com/532977Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45904}
-
Leszek Swirski authored
This reverts commit e39c9e02. Reason for revert: Breaks https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/15561 Original change's description: > [compiler] Drive optimizations with feedback vector > > For interpreted functions, use the optimized code slot in the feedback vector > to store an optimization marker (optimize/in optimization queue) rather than > changing the JSFunction's code object. Then, adapt the self-healing mechanism > to also dispatch based on this optimization marker. Similarly, replace SFI > marking with optimization marker checks in CompileLazy. > > This allows JSFunctions to share optimization information (replacing shared > function marking) without leaking this information across native contexts. Non > I+TF functions (asm.js or --no-turbo) use a CheckOptimizationMarker shim which > generalises the old CompileOptimized/InOptimizationQueue builtins and also > checks the same optimization marker as CompileLazy and > InterpreterEntryTrampoline. > > Change-Id: I6826bdde7ab9a919cdb6b69bc0ebc6174bcb91ae > Reviewed-on: https://chromium-review.googlesource.com/509716 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#45901} TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,leszeks@chromium.org No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: Ib6c2b4d90fc5f659a6dcaf3fd30321507ca9cb94 Reviewed-on: https://chromium-review.googlesource.com/532916Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45903}
-
Leszek Swirski authored
For interpreted functions, use the optimized code slot in the feedback vector to store an optimization marker (optimize/in optimization queue) rather than changing the JSFunction's code object. Then, adapt the self-healing mechanism to also dispatch based on this optimization marker. Similarly, replace SFI marking with optimization marker checks in CompileLazy. This allows JSFunctions to share optimization information (replacing shared function marking) without leaking this information across native contexts. Non I+TF functions (asm.js or --no-turbo) use a CheckOptimizationMarker shim which generalises the old CompileOptimized/InOptimizationQueue builtins and also checks the same optimization marker as CompileLazy and InterpreterEntryTrampoline. Change-Id: I6826bdde7ab9a919cdb6b69bc0ebc6174bcb91ae Reviewed-on: https://chromium-review.googlesource.com/509716 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45901}
-
Alexey Kozyatinskiy authored
context_name pointer can be changed after GC triggered by AddProperty. R=ishell@chromium.org Bug: chromium:732717 Change-Id: Ie8e2497fa9f3bac80e0ad68153956e382731e284 Reviewed-on: https://chromium-review.googlesource.com/532994 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45898}
-
Peter Marshall authored
Double element types were much slower than Smi/Object previously. We can box each double in a HeapNumber and push them into a new FixedArray to save going into the runtime. Bug: v8:4826, chromium:704966 Change-Id: I7f15d0d636a52760daefed722265c696c1ebb13e Reviewed-on: https://chromium-review.googlesource.com/531004 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#45897}
-
jgruber authored
Mechanical change to remove argument adaption (should be a tad faster this way). BUG=v8:6369 Change-Id: Ibc3dfa1161115e3feb5407615410c596698b5e44 Reviewed-on: https://chromium-review.googlesource.com/527440Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45896}
-
- 12 Jun, 2017 9 commits
-
-
Jaideep Bajwa authored
Minor fix to original CL https://chromium-review.googlesource.com/528120 R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: If94e74e9ce97dfbddd578a60d1cfce1fe2b9265d Reviewed-on: https://chromium-review.googlesource.com/531524Reviewed-by:
Junliang Yan <jyan@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#45877}
-
Ulan Degenbaev authored
The race happens when an object transitions to a newly created map. The map initializing stores can be reordered after object->set_map(map), which will cause the concurrent marker to observe inconsistent map. The fix is to use store-release when setting the map pointer and acquire-load when reading the map in the concurrent marker. BUG=chromium:694255 Change-Id: I4fd6bc27dd70ff1a30f56a4cec13310ccdd627c8 Reviewed-on: https://chromium-review.googlesource.com/528118Reviewed-by:
Hannes Payer <hpayer@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#45876}
-
Toon Verwaest authored
Distinguish the compilation caches instead by the shape of the key (cow fixed array map meaning eval or script cache). This allows us to remove the odd "key" argument from Shrink, EnsureCapacity and Rehash. Bug: v8:6474 Change-Id: Ibcad22813063c3a9050da13dc51359f5b59e1254 Reviewed-on: https://chromium-review.googlesource.com/531184Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#45873}
-
Sathya Gunasekaran authored
Bug: v8:5717, v8:6354 Change-Id: I4ae2a0b629ca8fe03fb8f645aa5f22cf7f2e4a20 Reviewed-on: https://chromium-review.googlesource.com/515024Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#45872}
-
Igor Sheludko authored
... by reading the |map_index| value from the SharedFunctionInfo's |compiler_hints| field directly. Bug: v8:6459 Change-Id: I32c4c903b16fa9f7e7da755667dadef7fadfc5e0 Reviewed-on: https://chromium-review.googlesource.com/531024 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#45871}
-
Alexey Kozyatinskiy authored
console.context(name:string) method returns console instance, this console instance fully implements console interface (including fact that any method can be called without console as receiver). Protocol.Runtime.consoleAPICalled notification contains additional context:string field: - "anonymous#unique-id" for any method call on unnamed console context, - "name#unique-id" for any method call on named console context. console.count and console.timeEnd have context as a scope. console.clear clear all messages regardless on what context instance it was called. console calls is ~10% slower with this CL since we need to store and then fetch console_context_id and console_context_name from function object. We recently (in April) made console calls twice faster so 10% doesn't sound critical and existing of console.log call in hot code is problem by itself. R=pfeldman@chromium.org Bug: chromium:728767 Change-Id: I5fc73216fb8b28bfe1e8c2c1b393ebfbe43cd02e Reviewed-on: https://chromium-review.googlesource.com/522128Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#45864}
-
Igor Sheludko authored
Don't use byte-width instructions when accessing |compiler_hints| field. This CL eases adding new bit fields to the compiler hints field. Bug: v8:6470 Change-Id: I7b07c1c8d0a11a303eebb5272d2846a5a84005f7 Reviewed-on: https://chromium-review.googlesource.com/529804 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#45860}
-
Igor Sheludko authored
Don't use byte-width instructions when accessing |compiler_hints| field (only FunctionKind bit field accesses are yet to be fixed). This CL eases adding new bit fields to the compiler hints field. Bug: v8:6470 Change-Id: Ibc2dfb42c0bf0df49fcb9e37c10fda789db4c3c8 Reviewed-on: https://chromium-review.googlesource.com/528120Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#45844}
-
Jakob Gruber authored
Callables for TF builtins are autogenerated and accessible through Builtins::CallableFor. This removes the manually written accessors from CodeFactory. Bug: v8:6474,v8:5737 Change-Id: I9d8dec97995471c1bb258147220c190bf72e5de8 Reviewed-on: https://chromium-review.googlesource.com/530745Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#45839}
-
- 09 Jun, 2017 1 commit
-
-
bjaideep authored
Minor fix to original CL https://chromium-review.googlesource.com/527156 adding the cmp instr to set the condition code for 32bit. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2934553002 Cr-Commit-Position: refs/heads/master@{#45828}
-