- 27 Jun, 2018 8 commits
-
-
Clemens Hammacher authored
We currently store the protected instructions per code object in a {std::unique_ptr<std::vector<ProtectedInstructionData>>}. This wastes memory, because it requires two heap allocations, plus the vector might over-allocate (and it currently does, because it is filled dynamically during compilation). This CL changes that to store the protected instructions in an {OwnedVector}. This requires one copy after generating the list of {ProtectedInstructionData} in an {std::vector} during compilation, but saves memory afterwards. R=mstarzinger@chromium.org Bug: chromium:856938 Change-Id: Ie290a17dc32f27fbbfe0c000a52297181c954550 Reviewed-on: https://chromium-review.googlesource.com/1116701Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54052}
-
Michael Achenbach authored
Currently mksnapshot fails due to ubsan issues. With a nosnap build it will be easier to track down failures initially as normal test failures, since mksnapshot isn't called with the sanitizer environment variables. NOTRY=true TBR=jgruber@chromium.org Bug: v8:7860 Change-Id: I897a8d307d90f545c80a90e1e1a2a632ffae1c3e Reviewed-on: https://chromium-review.googlesource.com/1116783Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#54051}
-
jgruber authored
We spend 2/3rds of all time in mksnapshot in UnhandledIsSorted. This was found by tikuta@ (see https://crbug.com/v8/7891#c15). This CL does two things: it optimizes the function a bit (it's now twice as fast), and turns all related DCHECKs into SLOW_DCHECKs, which means that they disabled by the v8_enable_fast_mksnapshot build flag. Bug: v8:7891, v8:6688, v8:7895 Change-Id: Iec2b230be39ec0a0ba0863f1153073e9bf1a47ce Reviewed-on: https://chromium-review.googlesource.com/1116556Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54050}
-
Clemens Hammacher authored
R=mstarzinger@chromium.org Bug: v8:7754 Change-Id: I67ef360bcc4d49007e29036b49c87b6549e8d8e2 Reviewed-on: https://chromium-review.googlesource.com/1116778Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#54049}
-
Clemens Hammacher authored
{PrintCollection} can print any collection which is iterable via a standard for-each loop in C++. The output format of {4, 7, 11} is: [4, 7, 11] This helper avoids a few repetitions of manually outputting such collections. R=titzer@chromium.org Bug: v8:7754 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: Iaa91e5465968a029815b3aa2b35948f711956cdb Reviewed-on: https://chromium-review.googlesource.com/1112005 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54048}
-
Dominik Inführ authored
This reverts commit 91f113e2. Reason for revert: still causes breakage on Chromium-integrated builds, failing here: CHECK_EQ(0, heap()->local_embedder_heap_tracer()->NumberOfWrappersToTrace()); Original change's description: > Reland "[heap] Visit individual ephemerons instead of collections" > > This is a reland of 9aba0159 > > Original change's description: > > [heap] Visit individual ephemerons instead of collections > > > > When marking ephemerons visit individual ephemerons with key and value > > unreachable instead of simply iterating all ephemerons in all weak > > collections. Also visit ephemerons at end of concurrent marking to do > > work we would otherwise need to do in the atomic pause. > > > > Bug: chromium:844008 > > Change-Id: I3400ad1f81c0cdc0fe6506a1f1146a6743a7fcd7 > > Reviewed-on: https://chromium-review.googlesource.com/1113934 > > Commit-Queue: Dominik Inführ <dinfuehr@google.com> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#54039} > > Bug: chromium:844008 > Change-Id: I4c44e74c7cf5fe380ffa4ce9f106bebb57bc023d > Reviewed-on: https://chromium-review.googlesource.com/1116438 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Dominik Inführ <dinfuehr@google.com> > Cr-Commit-Position: refs/heads/master@{#54046} TBR=ulan@chromium.org,dinfuehr@google.com Change-Id: I4a059e86ba06e0b2562afc311b12d397cd78e857 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:844008 Reviewed-on: https://chromium-review.googlesource.com/1116718Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#54047}
-
Dominik Inführ authored
This is a reland of 9aba0159 Original change's description: > [heap] Visit individual ephemerons instead of collections > > When marking ephemerons visit individual ephemerons with key and value > unreachable instead of simply iterating all ephemerons in all weak > collections. Also visit ephemerons at end of concurrent marking to do > work we would otherwise need to do in the atomic pause. > > Bug: chromium:844008 > Change-Id: I3400ad1f81c0cdc0fe6506a1f1146a6743a7fcd7 > Reviewed-on: https://chromium-review.googlesource.com/1113934 > Commit-Queue: Dominik Inführ <dinfuehr@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54039} Bug: chromium:844008 Change-Id: I4c44e74c7cf5fe380ffa4ce9f106bebb57bc023d Reviewed-on: https://chromium-review.googlesource.com/1116438Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Dominik Inführ <dinfuehr@google.com> Cr-Commit-Position: refs/heads/master@{#54046}
-
Jakob Kummerow authored
This reverts commit 9aba0159. Reason for revert: causes widespread breakage on Chromium-integrated builds, failing here: CHECK_EQ(0, heap()->local_embedder_heap_tracer()->NumberOfWrappersToTrace()); in MarkCompactCollector::ProcessEphemeronMarking(). See e.g. https://logs.chromium.org/v/?s=chromium%2Fbb%2Fclient.v8.fyi%2FV8-Blink_Linux_64__dbg_%2F12321%2F%2B%2Frecipes%2Fsteps%2Fwebkit_unit_tests%2F0%2Fstdout and more on https://ci.chromium.org/p/v8/g/fyi/console Original change's description: > [heap] Visit individual ephemerons instead of collections > > When marking ephemerons visit individual ephemerons with key and value > unreachable instead of simply iterating all ephemerons in all weak > collections. Also visit ephemerons at end of concurrent marking to do > work we would otherwise need to do in the atomic pause. > > Bug: chromium:844008 > Change-Id: I3400ad1f81c0cdc0fe6506a1f1146a6743a7fcd7 > Reviewed-on: https://chromium-review.googlesource.com/1113934 > Commit-Queue: Dominik Inführ <dinfuehr@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54039} TBR=ulan@chromium.org,dinfuehr@google.com Change-Id: Ib44bfe8c49e8fc30c3d0f2beba03a2895530dfd6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:844008 Reviewed-on: https://chromium-review.googlesource.com/1116118Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#54045}
-
- 26 Jun, 2018 32 commits
-
-
Junliang Yan authored
R=joransiu@ca.ibm.com Change-Id: I9209d2cc1da2b7397fc11fd884d2b44851e734b0 Reviewed-on: https://chromium-review.googlesource.com/1115376Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#54044}
-
Bill Budge authored
This reverts commit d4792e8f. Reason for revert: Breaks V8 Linux - gc stress https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20gc%20stress/17056 Original change's description: > [heap] Added per-page array buffer accouting (external memory). > > Bug: chromium:845409 > Change-Id: Ibc568cdc501edf5d84d9c6379aff58be069369af > Reviewed-on: https://chromium-review.googlesource.com/1114602 > Commit-Queue: Rodrigo Bruno <rfbpb@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54028} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,rfbpb@google.com Change-Id: I8664522a3155d73bac72c9949995d477d2885b8e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:845409 Reviewed-on: https://chromium-review.googlesource.com/1115481Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#54043}
-
Bill Budge authored
This reverts commit 6b810dad. Reason for revert: Depends on another change that is causing gc-stress to fail. Original change's description: > [heap] Updated spaces Verify to check external memory count. > > Bug: chromium:845409 > Change-Id: Ieb690f2d6ed699f306f1ff351cb5f62d9e2db860 > Reviewed-on: https://chromium-review.googlesource.com/1114820 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Commit-Queue: Rodrigo Bruno <rfbpb@google.com> > Cr-Commit-Position: refs/heads/master@{#54035} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,rfbpb@google.com Change-Id: I72fcebf5485b991872e375d4b7c3e4aa6f70c41b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:845409 Reviewed-on: https://chromium-review.googlesource.com/1115480Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#54042}
-
Bill Budge authored
This reverts commit e14086f0. Reason for revert: Breaks the build. There is another dependent change that must be reverted first. Original change's description: > Revert "[heap] Added per-page array buffer accouting (external memory)." > > This reverts commit d4792e8f. > > Reason for revert: Breaks V8 Linux - gc stress > > https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20gc%20stress/17056 > > Original change's description: > > [heap] Added per-page array buffer accouting (external memory). > > > > Bug: chromium:845409 > > Change-Id: Ibc568cdc501edf5d84d9c6379aff58be069369af > > Reviewed-on: https://chromium-review.googlesource.com/1114602 > > Commit-Queue: Rodrigo Bruno <rfbpb@google.com> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#54028} > > TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,rfbpb@google.com > > Change-Id: I9a354e72df1ab6782bd1c7c4d6b10194bcfaba2b > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: chromium:845409 > Reviewed-on: https://chromium-review.googlesource.com/1115478 > Reviewed-by: Bill Budge <bbudge@chromium.org> > Commit-Queue: Bill Budge <bbudge@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54040} TBR=bbudge@chromium.org,ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,rfbpb@google.com Change-Id: Iec078656ff3a79a9cee4de046215c55f908c62c7 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:845409 Reviewed-on: https://chromium-review.googlesource.com/1115479Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#54041}
-
Bill Budge authored
This reverts commit d4792e8f. Reason for revert: Breaks V8 Linux - gc stress https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20gc%20stress/17056 Original change's description: > [heap] Added per-page array buffer accouting (external memory). > > Bug: chromium:845409 > Change-Id: Ibc568cdc501edf5d84d9c6379aff58be069369af > Reviewed-on: https://chromium-review.googlesource.com/1114602 > Commit-Queue: Rodrigo Bruno <rfbpb@google.com> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54028} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,rfbpb@google.com Change-Id: I9a354e72df1ab6782bd1c7c4d6b10194bcfaba2b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:845409 Reviewed-on: https://chromium-review.googlesource.com/1115478Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Bill Budge <bbudge@chromium.org> Cr-Commit-Position: refs/heads/master@{#54040}
-
Dominik Inführ authored
When marking ephemerons visit individual ephemerons with key and value unreachable instead of simply iterating all ephemerons in all weak collections. Also visit ephemerons at end of concurrent marking to do work we would otherwise need to do in the atomic pause. Bug: chromium:844008 Change-Id: I3400ad1f81c0cdc0fe6506a1f1146a6743a7fcd7 Reviewed-on: https://chromium-review.googlesource.com/1113934 Commit-Queue: Dominik Inführ <dinfuehr@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54039}
-
Daniel Clifford authored
In the process, add a utility functions to automate printing out comma-separated lists. Also make sure that the << operator applies to "const Type&" rather than "const Type*" for consistency elsewhere and generally just good practice. Bug: v8:7793 Change-Id: I488e8383c4a9496552e63601738d6bcca0ca6e80 Reviewed-on: https://chromium-review.googlesource.com/1111854 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#54038}
-
v8-ci-autoroll-builder authored
Rolling v8/test/test262/data: https://chromium.googlesource.com/external/github.com/tc39/test262/+log/9bddfae..330733e TBR=adamk@chromium.org,gsathya@chromium.org Change-Id: Ie50a38c667e43bf4b343b6bfb31ff6f54070636a Reviewed-on: https://chromium-review.googlesource.com/1114693 Commit-Queue: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#54037}
-
Théotime Grohens authored
This CL separates the BigInt allocation code in the DataView BigInt getters from the logic of the getters themselves. This makes the code much easier to read and understand. Change-Id: I9f7ee3fb819f0606dc631bac89e386f6fec43655 Reviewed-on: https://chromium-review.googlesource.com/1107632 Commit-Queue: Théotime Grohens <theotime@google.com> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Cr-Commit-Position: refs/heads/master@{#54036}
-
Rodrigo Bruno authored
Bug: chromium:845409 Change-Id: Ieb690f2d6ed699f306f1ff351cb5f62d9e2db860 Reviewed-on: https://chromium-review.googlesource.com/1114820Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Rodrigo Bruno <rfbpb@google.com> Cr-Commit-Position: refs/heads/master@{#54035}
-
Caitlin Potter authored
Instead of just discarding the expression classifier after parsing an after parsing an arrow function, accumulate the async arrow formal parameters errors BUG=v8:7817 R=gsathya@chromium.org, littledan@chromium.org, marja@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I0a84a25d7d42f89200b6fbf05eab3d39ab51fb10 Reviewed-on: https://chromium-review.googlesource.com/1113622Reviewed-by: Daniel Ehrenberg <littledan@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#54034}
-
Leszek Swirski authored
Remove the GetHeap call in object setters, replacing it with a new Heap::FromHeapObject method which explicitly tests for the object not being in RO space. The hope is that this method is used sparingly. As a drive-by, memoize the heap access in the write barrier macros, to avoid having to calculate the heap location twice. Bug: v8:7786 Change-Id: I26d1c41c673eddced17be316da6d51a16ac853e7 Reviewed-on: https://chromium-review.googlesource.com/1114614 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54033}
-
Caitlin Potter authored
For some reason, the property wasn't already added. Oops! BUG=v8:7815 R=gsathya@chromium.org, neis@chromium.org Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I71898ca1e84ce930f5d0ed75e44c75071f152904 Reviewed-on: https://chromium-review.googlesource.com/1114327 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54032}
-
Creddy authored
Change-Id: I2f10deac1fed96920938d820327f19e7867c409d Bug: v8:7787, chromium:818642 Reviewed-on: https://chromium-review.googlesource.com/1114608Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Chandan Reddy <chandanreddy@google.com> Cr-Commit-Position: refs/heads/master@{#54031}
-
Creddy authored
in AllocationSite Change-Id: I2efaa698c35b4c0212248b4b1c08e017c2ead708 Bug: v8:7787, chromium:818642 Change-Id: I2efaa698c35b4c0212248b4b1c08e017c2ead708 Reviewed-on: https://chromium-review.googlesource.com/1103575 Commit-Queue: Chandan Reddy <chandanreddy@google.com> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54030}
-
Dan Elphick authored
All Object::Print functions now take an Isolate* parameter. Various XX::XXPrint functions now take an Isolate if it's needed rather than calling GetIsolate(). Such method use DECL_PRINTER_WITH_ISOLATE rather than DECL_PRINTER. The _v8_internal_Print_ function (intended for use in gdb) now uses Isolate::Current() to get hold of an Isolate. Reduces the GetIsolate and GetHeap count by 9 and 5 respectively. Also removes unneeded gdb/lldb macros (along with their support functions), jfv, jfm, jda and jta, since job does the same thing. Bug: v8:7786 Change-Id: Ib93ebca6ca47c4db9c85cc6d9ff8004da5942dec Reviewed-on: https://chromium-review.googlesource.com/1112001 Commit-Queue: Dan Elphick <delphick@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54029}
-
Rodrigo Bruno authored
Bug: chromium:845409 Change-Id: Ibc568cdc501edf5d84d9c6379aff58be069369af Reviewed-on: https://chromium-review.googlesource.com/1114602 Commit-Queue: Rodrigo Bruno <rfbpb@google.com> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54028}
-
Georg Neis authored
This is a reland of f0bcbc90. A few casts were still wrong. Original change's description: > Reland "Introduce MutableHeapNumber class." > > This is a reland of 40ac6b18, which > was incorrect due to a bad merge. > > Original change's description: > > Introduce MutableHeapNumber class. > > > > V8 knows heap numbers and mutable heap numbers. They have > > difference instance types, but in C++ code we've used the > > same class for both (HeapNumber). Confusingly, however, > > IsHeapNumber would return false for mutable heap numbers, > > while HeapNumber::cast would succeed. > > > > This CL adds a separate class MutableHeapNumber and > > eliminates the confusing behavior. > > [...] > TBR=bmeurer@chromium.org > TBR=ulan@chromium.org > > Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1 > Reviewed-on: https://chromium-review.googlesource.com/1114539 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54022} Change-Id: I19a33da4b6abcd445b528a84d4f56ba1964d337b Reviewed-on: https://chromium-review.googlesource.com/1114100 Commit-Queue: Georg Neis <neis@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54027}
-
Michael Starzinger authored
R=clemensh@chromium.org Change-Id: Id8a0849d3456be1062a065a23f51bac250de4f7d Reviewed-on: https://chromium-review.googlesource.com/1107936Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54026}
-
Leszek Swirski authored
Remove the one-argument Handle constructor and "handle" factory method, replacing them with Isolates where available and GetIsolate() methods otherwise. TBR=verwaest@chromium.org Bug: v8:7786 Change-Id: I8ee92ef727c05382c984a3e4c290198d0b312619 Reviewed-on: https://chromium-review.googlesource.com/1113542Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54025}
-
Georg Neis authored
This reverts commit f0bcbc90. Reason for revert: Still failing bots. Original change's description: > Reland "Introduce MutableHeapNumber class." > > This is a reland of 40ac6b18, which > was incorrect due to a bad merge. > > Original change's description: > > Introduce MutableHeapNumber class. > > > > V8 knows heap numbers and mutable heap numbers. They have > > difference instance types, but in C++ code we've used the > > same class for both (HeapNumber). Confusingly, however, > > IsHeapNumber would return false for mutable heap numbers, > > while HeapNumber::cast would succeed. > > > > This CL adds a separate class MutableHeapNumber and > > eliminates the confusing behavior. > > > > TBR=bmeurer@chromium.org > > > > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378 > > Reviewed-on: https://chromium-review.googlesource.com/1113544 > > Commit-Queue: Georg Neis <neis@chromium.org> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#54012} > > TBR=bmeurer@chromium.org > TBR=ulanchromium.org > > Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1 > Reviewed-on: https://chromium-review.googlesource.com/1114539 > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54022} TBR=ulan@chromium.org,jarin@chromium.org,neis@chromium.org,bmeurer@chromium.org Change-Id: I99c226e95dfb0b913903cc83193f6e51de8c1b47 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1114099Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54024}
-
Sigurd Schneider authored
We had a kRootRegisterBias on x64 before. This CL ports the feature to all other platforms as well. The root register bias is helpful to adjust the value of the root register, which allows to better utilize signed immediate offset constants in load instructions. We currently use a separate add instruction to add kRootRegisterBias in the code that initializes the root register. This could be improved by adding a custom relocation mode ensuring that instead of the root address, the root address plus the bias is inserted (and in this way the add instruction can be omitted). Bug: v8:6666 Change-Id: I55cf02ab85d11e3c6d0d83a8f7905dbf924890f1 Reviewed-on: https://chromium-review.googlesource.com/1113539 Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#54023}
-
Georg Neis authored
This is a reland of 40ac6b18, which was incorrect due to a bad merge. Original change's description: > Introduce MutableHeapNumber class. > > V8 knows heap numbers and mutable heap numbers. They have > difference instance types, but in C++ code we've used the > same class for both (HeapNumber). Confusingly, however, > IsHeapNumber would return false for mutable heap numbers, > while HeapNumber::cast would succeed. > > This CL adds a separate class MutableHeapNumber and > eliminates the confusing behavior. > > TBR=bmeurer@chromium.org > > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378 > Reviewed-on: https://chromium-review.googlesource.com/1113544 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54012} TBR=bmeurer@chromium.org TBR=ulanchromium.org Change-Id: I3af1014c949821dfac0754a3e48c65ce1bad1ad1 Reviewed-on: https://chromium-review.googlesource.com/1114539Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54022}
-
Michael Starzinger authored
R=titzer@chromium.org BUG=v8:7424 Change-Id: I1e5f41fba6cc575001cac1fd0a862736784a2131 Reviewed-on: https://chromium-review.googlesource.com/1113456 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54021}
-
Georg Neis authored
R=bmeurer@chromium.org Change-Id: Idd9c45f733e2e5d518c69a6ead2b56f6433ca30e Reviewed-on: https://chromium-review.googlesource.com/1114598Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54020}
-
Michael Starzinger authored
The field in question is a phantom link back into the GC'ed heap from the native WebAssembly heap. It is one of the last pieces that makes the compiled module specific to an Isolate. This is intended to finally make code sharable between Isolates. R=herhut@chromium.org BUG=v8:7424 Change-Id: I75bcfabaf5149ca98a75d3ea3f19d8d8a8d96dce Reviewed-on: https://chromium-review.googlesource.com/1113452Reviewed-by: Stephan Herhut <herhut@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54019}
-
Leszek Swirski authored
Change the ScriptIterator to: a) construct its script list handle using the given isolate, and b) take the Script (which it doesn't store) by pointer instead of by Handle, to avoid callers needing to allocate a handle. Bug: v8:7786 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I72c1ee13f1b72fe962f4b1bccba69ae4e97088a7 Reviewed-on: https://chromium-review.googlesource.com/1113316Reviewed-by: Dan Elphick <delphick@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#54018}
-
Michael Starzinger authored
R=titzer@chromium.org Change-Id: Ia1eca39add782c5af27f12c2bb450cc7837a4251 Reviewed-on: https://chromium-review.googlesource.com/1113678Reviewed-by: Ben Titzer <titzer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#54017}
-
Ben L. Titzer authored
The option to "enable serialization" actually only enables the roots-relative register addressing. In the spirit of expressing specific behaviors rather than isolate-wide modes, rename this flag to what it actually does. R=bmeurer@chromium.org Change-Id: Iacbad8064c8f38b364db2a0bdd0e83ef4a265867 Reviewed-on: https://chromium-review.googlesource.com/1113742Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54016}
-
Georg Neis authored
We decided not to use this. R=jarin@chromium.org Bug: v8:7790 Change-Id: I18413bb1a363477bd297a5e44aeff2623e2f1c8e Reviewed-on: https://chromium-review.googlesource.com/1113931Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#54015}
-
Rodrigo Bruno authored
Bug: chromium:845409 Change-Id: Id4f1b93f0992e15ed592156c7dec7d15828e4c42 Reviewed-on: https://chromium-review.googlesource.com/1113552Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Rodrigo Bruno <rfbpb@google.com> Cr-Commit-Position: refs/heads/master@{#54014}
-
Yang Guo authored
This reverts commit 40ac6b18. Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20debug/21009 Original change's description: > Introduce MutableHeapNumber class. > > V8 knows heap numbers and mutable heap numbers. They have > difference instance types, but in C++ code we've used the > same class for both (HeapNumber). Confusingly, however, > IsHeapNumber would return false for mutable heap numbers, > while HeapNumber::cast would succeed. > > This CL adds a separate class MutableHeapNumber and > eliminates the confusing behavior. > > TBR=bmeurer@chromium.org > > Change-Id: Id894d177c7fe8cc3f451be80c273b50daee91378 > Reviewed-on: https://chromium-review.googlesource.com/1113544 > Commit-Queue: Georg Neis <neis@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54012} TBR=ulan@chromium.org,jarin@chromium.org,neis@chromium.org,bmeurer@chromium.org Change-Id: I358a822f20b9110def968e69463a753a2a32c68c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/1114538Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54013}
-