- 23 Jun, 2016 20 commits
-
-
ssanfilippo authored
Since [1], Logger does not dispatch anymore to the other loggers. This is now the task of the CodeEventDispatcher, and Logger is just a client. One use of the Logger as dispatcher wasn't caught in the refactoring, which caused the entries for bytecode handlers loaded from the snapshot to be missing from the symbols mapping written by PerfBasicLogger. [1] https://crrev.com/9df23510eaa12eb5c298cf68a92e90c6e992855c BUG=v8:4899 LOG=N Review-Url: https://codereview.chromium.org/2085143003 Cr-Commit-Position: refs/heads/master@{#37224}
-
adamk authored
Also slightly expand regression test to end with a return instead of an exception. R=cbruni@chromium.org BUG=chromium:618788 Review-Url: https://codereview.chromium.org/2090193002 Cr-Commit-Position: refs/heads/master@{#37223}
-
ishell authored
As a result LoadGlobalIC requires different slow stubs for each TypeofMode. This CL is a prerequisite for not passing variable name to LoadGlobalIC: the interceptor handler is the only kind of handler that requires a name and therefore LoadGlobalIC dispatcher does not need a variable name as well. BUG=chromium:576312 Review-Url: https://codereview.chromium.org/2081143002 Cr-Commit-Position: refs/heads/master@{#37222}
-
vogelheim authored
Revert of Reland [heap] Avoid the use of cells to point from code to new-space objects. (patchset #3 id:40001 of https://codereview.chromium.org/2091733002/ ) Reason for revert: This breaks gc-stress bot: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot # # Fatal error in ../../src/heap/mark-compact.cc, line 3715 # Check failed: Page::FromAddress(reinterpret_cast<HeapObject*>(*slot)->address()) ->IsFlagSet(Page::PAGE_NEW_NEW_PROMOTION). # I can reproduce locally, and local revert also fixes it -> revert. Reproduce with: out/Debug/d8 --test --random-seed=2140216864 --nohard-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --allow-natives-syntax --harmony-tailcalls test/mjsunit/mjsunit.js test/mjsunit/es6/tail-call-megatest-shard2.js --gc-interval=500 --stress-compaction --concurrent-recompilation-queue-length=64 --concurrent-recompilation-delay=500 --concurrent-recompilation (Maybe run in loop; it's flaky when broken; but passes reliably w/ revert.) Original issue's description: > Reland [heap] Avoid the use of cells to point from code to new-space objects. > > The reason for reverting was: [Sheriff] Breaks arm debug: > https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038. > > The problem was the dereferencing of handles for smi checks. It turned out > that these smi checks can be removed anyways, both on arm and on mips. > > Additionally some rebasing was necessary. > > Original issue's description: > > Cells were needed originally because there was no typed remembered set to > record direct pointers from code space to new space. A previous > CL (https://codereview.chromium.org/2003553002/) already introduced > the remembered set, this CL uses it. > > This CL > * stores direct pointers in code objects, even if the target is in new space, > * records the slot of the pointer in typed-old-to-new remembered set, > * adds a list which stores weak code-to-new-space references, > * adds a test to test-heap.cc for weak code-to-new-space references, > * removes prints in tail-call-megatest.js > > R=mlippautz@chromium.org > > Committed: https://crrev.com/5508e16592522658587da71ba6743c8e832fe4d1 > Cr-Commit-Position: refs/heads/master@{#37217} TBR=mlippautz@chromium.org,ahaas@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/2090983002 Cr-Commit-Position: refs/heads/master@{#37221}
-
bgeron authored
R=jarin@chromium.org BUG= Review-Url: https://codereview.chromium.org/2087483003 Cr-Commit-Position: refs/heads/master@{#37220}
-
franzih authored
Now we can turn it into a turbofan stub. Create new instance types JS_ARGUMENTS_TYPE and JS_ERROR_TYPE. Review-Url: https://codereview.chromium.org/2080243003 Cr-Commit-Position: refs/heads/master@{#37219}
-
franzih authored
ES2017 draft 19.1.3.6: If @@toStringTag is not a string, Object.prototype.toString() returns [object Object], except in the following cases: - Array - String - Arguments - Function - Error - Boolean - Number - Date - RegExp. For anything else, e.g., Maps, Sets, TypedArrays, or the global object, toString() returns [object Object] if @@toStringTag is absent or not a string. In order to be able to easily identify the global object in d8, we set @@toStringTag to "global" for d8. CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel BUG= Review-Url: https://codereview.chromium.org/2071343002 Cr-Commit-Position: refs/heads/master@{#37218}
-
ahaas authored
The reason for reverting was: [Sheriff] Breaks arm debug: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038. The problem was the dereferencing of handles for smi checks. It turned out that these smi checks can be removed anyways, both on arm and on mips. Additionally some rebasing was necessary. Original issue's description: Cells were needed originally because there was no typed remembered set to record direct pointers from code space to new space. A previous CL (https://codereview.chromium.org/2003553002/) already introduced the remembered set, this CL uses it. This CL * stores direct pointers in code objects, even if the target is in new space, * records the slot of the pointer in typed-old-to-new remembered set, * adds a list which stores weak code-to-new-space references, * adds a test to test-heap.cc for weak code-to-new-space references, * removes prints in tail-call-megatest.js R=mlippautz@chromium.org Review-Url: https://codereview.chromium.org/2091733002 Cr-Commit-Position: refs/heads/master@{#37217}
-
mlippautz authored
R=cbruni@chromium.org Review-Url: https://codereview.chromium.org/2098483002 Cr-Commit-Position: refs/heads/master@{#37216}
-
rmcilroy authored
BUG=v8:4822 Review-Url: https://codereview.chromium.org/2097473002 Cr-Commit-Position: refs/heads/master@{#37215}
-
verwaest authored
BUG=chromium:603144 Review-Url: https://codereview.chromium.org/2083353002 Cr-Commit-Position: refs/heads/master@{#37214}
-
ivica.bogosavljevic authored
Lowering of Int64Load, Int64Store, BitcastInt64ToFloat64 and BitcastFloat64ToInt64 was using LE word ordering in memory, causing failures on some tests. BUG=mjsunit/regress/regress-599719,mjsunit/regress/regress-599717 Review-Url: https://codereview.chromium.org/2080213004 Cr-Commit-Position: refs/heads/master@{#37213}
-
georgia.kouveli authored
CMN is a flag-setting add operation, and therefore is commutative. {Add,Sub}WithOverflow generate ADD/SUB instructions that cannot support a ROR shift. BUG= Review-Url: https://codereview.chromium.org/2087233005 Cr-Commit-Position: refs/heads/master@{#37212}
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2093613002 Cr-Commit-Position: refs/heads/master@{#37211}
-
mlippautz authored
As part of the page type unification also unify page iterators. Iterating over a space works the same for all spaces now (new, old, lo). Iterating over pages of a space follows now the regular C++ iterator pattern: - for (auto it = space->begin(); it != space->end(); ++it) {} - for (Page* p : *space) {} GC only: Loop supporting unlinking/freeing of a Page on the fly: for (auto it = space->begin(); != space->end();) { Page* p = *(it++); p->Unlink(); } For iteration of a range of new space pages use NewSpacePageRange which also verifies that the range is actually a proper new space page range. BUG=chromium:581412 LOG=N Review-Url: https://codereview.chromium.org/2088223002 Cr-Commit-Position: refs/heads/master@{#37210}
-
mlippautz authored
BUG=chromium:622351 LOG=N R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2097453002 Cr-Commit-Position: refs/heads/master@{#37209}
-
bmeurer authored
The redundancy elimination is currently a graph reducer that tries to combine redundant checks in the effect chain. It does this by propagating the checks that happened along effect paths, which is pretty similar to what the BranchElimination does on the control chain. We run this reducer together with the other optimizations right after the representation selection. An upcoming CL will extend the redundancy elimination to also eliminate redundant loads (and eventually map checks). R=jarin@chromium.org BUG=v8:5141 Review-Url: https://codereview.chromium.org/2091503003 Cr-Commit-Position: refs/heads/master@{#37208}
-
ishell authored
BUG=chromium:620650 Review-Url: https://codereview.chromium.org/2086343002 Cr-Commit-Position: refs/heads/master@{#37207}
-
jochen authored
R=danno@chromium.org BUG= Review-Url: https://codereview.chromium.org/2088393002 Cr-Commit-Position: refs/heads/master@{#37206}
-
v8-autoroll authored
Rolling v8/build to 7194daf8360db4618456185d29db524cdc153bb4 Rolling v8/tools/mb to a7c3a793cc06ce1703347c2d2eeac6a94ac16b4d TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2094603002 Cr-Commit-Position: refs/heads/master@{#37205}
-
- 22 Jun, 2016 20 commits
-
-
mattloring authored
Revert of Include file names in trace_turbo output (patchset #3 id:40001 of https://codereview.chromium.org/2083863004/ ) Reason for revert: Many build bots are failing with a message of the form: Missing or invalid v8 JSON file: /tmp/tmp2qcEUy_swarming/0/output.json Can be relanded once we understand why these failures are occuring. Original issue's description: > Include file names in trace_turbo output > > The trace turbo output will overwrite itself when functions in different > files share the same name. Output files now have the form > `turbo-<function_name>:<opt_file_name>-<opt_phase>.suffix`. > > R=ofrobots@google.com > BUG= > > Committed: https://crrev.com/a53b9bf02f31e5647c37e0392afa19f74df1a3ba > Cr-Commit-Position: refs/heads/master@{#37199} TBR=ofrobots@google.com,bmeurer@chromium.org,danno@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2083153004 Cr-Commit-Position: refs/heads/master@{#37204}
-
mtrofin authored
Remove second wasm module compilation and instantiation path that we had in CompileAndRunWasmModule and reuse the same path used by user code. BUG= Review-Url: https://codereview.chromium.org/2091533002 Cr-Commit-Position: refs/heads/master@{#37203}
-
littledan authored
Reland of write scopes of non-simple default arguments (patchset #1 id:1 of https://codereview.chromium.org/2081323006/ ) Reason for revert: Infra issue appears to be over TBR=adamk@chromium.org Original issue's description: > Revert of Rewrite scopes of non-simple default arguments (patchset #5 id:80001 of https://codereview.chromium.org/2077283004/ ) > > Reason for revert: > Seems to close tree (but it could be an infra issue) > > Original issue's description: > > Rewrite scopes of non-simple default arguments > > > > Default parameters have additional declaration block scopes inserted > > around them when something in the function scope calls eval. This > > patch sets the parent scope of the expressions introduced due to > > those defaults to the new block scope. > > > > R=adamk > > BUG=chromium:616386 > > > > Committed: https://crrev.com/0e14baf712955a1993f742647bb2adc293702b80 > > Cr-Commit-Position: refs/heads/master@{#37198} > > TBR=adamk@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=chromium:616386 > > Committed: https://crrev.com/dd50262933d2ac087da32be887a7c18385fd998e > Cr-Commit-Position: refs/heads/master@{#37201} TBR=adamk@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:616386 Review-Url: https://codereview.chromium.org/2086353003 Cr-Commit-Position: refs/heads/master@{#37202}
-
littledan authored
Revert of Rewrite scopes of non-simple default arguments (patchset #5 id:80001 of https://codereview.chromium.org/2077283004/ ) Reason for revert: Seems to close tree (but it could be an infra issue) Original issue's description: > Rewrite scopes of non-simple default arguments > > Default parameters have additional declaration block scopes inserted > around them when something in the function scope calls eval. This > patch sets the parent scope of the expressions introduced due to > those defaults to the new block scope. > > R=adamk > BUG=chromium:616386 > > Committed: https://crrev.com/0e14baf712955a1993f742647bb2adc293702b80 > Cr-Commit-Position: refs/heads/master@{#37198} TBR=adamk@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:616386 Review-Url: https://codereview.chromium.org/2081323006 Cr-Commit-Position: refs/heads/master@{#37201}
-
michaelbai authored
BUG=620855 Review-Url: https://codereview.chromium.org/2074283002 Cr-Commit-Position: refs/heads/master@{#37200}
-
mattloring authored
The trace turbo output will overwrite itself when functions in different files share the same name. Output files now have the form `turbo-<function_name>:<opt_file_name>-<opt_phase>.suffix`. R=ofrobots@google.com BUG= Review-Url: https://codereview.chromium.org/2083863004 Cr-Commit-Position: refs/heads/master@{#37199}
-
littledan authored
Default parameters have additional declaration block scopes inserted around them when something in the function scope calls eval. This patch sets the parent scope of the expressions introduced due to those defaults to the new block scope. R=adamk BUG=chromium:616386 Review-Url: https://codereview.chromium.org/2077283004 Cr-Commit-Position: refs/heads/master@{#37198}
-
yangguo authored
We would otherwise also count if its just trimming whitespaces. R=adamk@chromium.org BUG=chromium:618595 Review-Url: https://codereview.chromium.org/2080183003 Cr-Commit-Position: refs/heads/master@{#37197}
-
nikolaos authored
R=adamk@chromium.org BUG=chromium:621496 LOG=N Review-Url: https://codereview.chromium.org/2084703005 Cr-Commit-Position: refs/heads/master@{#37196}
-
lpy authored
Currently CpuProfiler is a subclass of CodeEventListener, it listens code events from Logger, constructs and stores CodeEventsContainer. This patch is part of the effort to split the logic of CodeEventListener as ProfilerListener out of the profiling functionality logic in CpuProfiler. A ProfilerListener will listen to code events, construct code event to CodeEventsContainer and pass it to code event handler. The reason we refactor CpuProfiler is that eventually we want to move CpuProfiler as part of sampler library and code event listener should stay inside V8. Main changes: 1. Refactored CpuProfiler into two parts, the CpuProfiler with profling functionality and the ProfilerListener listening to code events from Logger. 2. Created CodeEventObserver and made CpuProfiler inherit from it. ProfilerListener will have a list of observers and call CodeEventHandler once a code event is created. 3. Moved code entry list from CodeEntry to ProfilerListener. Minor changes: 1. Moved static code entry as part of CodeEntry. 2. Added ProfilerListener to Logger. BUG=v8:4789 Committed: https://crrev.com/cb59fc1facc9b390e2c7544b4da56a4e0a9b3222 Review-Url: https://codereview.chromium.org/2053523003 Cr-Original-Commit-Position: refs/heads/master@{#37112} Cr-Commit-Position: refs/heads/master@{#37195}
-
littledan authored
BUG=v8:4483 Review-Url: https://codereview.chromium.org/2083653003 Cr-Commit-Position: refs/heads/master@{#37194}
-
bgeron authored
Because --help does not show how to use boolean flags. R=jkummerow@chromium.org BUG= Review-Url: https://codereview.chromium.org/2087223002 Cr-Commit-Position: refs/heads/master@{#37193}
-
hlopko authored
BUG= LOG=no Review-Url: https://codereview.chromium.org/2085043005 Cr-Commit-Position: refs/heads/master@{#37192}
-
mvstanton authored
BUG= Review-Url: https://codereview.chromium.org/2085273002 Cr-Commit-Position: refs/heads/master@{#37191}
-
hlopko authored
BUG= LOG=no Review-Url: https://codereview.chromium.org/2084823004 Cr-Commit-Position: refs/heads/master@{#37190}
-
mythria authored
Updates kProfilerTicksBeforeBaseline in runtime-profiler to allow functions to switch from ignition to full-codgen earlier. This helps on many benchmarks and does not impact the code size significantly. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2085153003 Cr-Commit-Position: refs/heads/master@{#37189}
-
machenbach authored
BUG=chromium:616035 NOTRY=true Review-Url: https://codereview.chromium.org/2088963003 Cr-Commit-Position: refs/heads/master@{#37188}
-
jochen authored
BUG=chromium:609107 R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2081323004 Cr-Commit-Position: refs/heads/master@{#37187}
-
bmeurer authored
TBR=jarin@chromium.org Review-Url: https://codereview.chromium.org/2087803005 Cr-Commit-Position: refs/heads/master@{#37186}
-
rmcilroy authored
Adds support for intrinsics which can be called as stubs. Namely: - HasProperty - MathPow - NewObject - NumberToString - RegExpConstructResult - RegExpExec - Substring - ToString - ToName - ToLength - ToNumber - ToObject Also adds interface descriptors for stub calls which have arguments passed on the stack. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2051573002 Cr-Commit-Position: refs/heads/master@{#37185}
-