Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(194)

Issue 11722026: Do not emit pointer information for embedded singleton VM Isolate objects while generating code. Th… (Closed)

Created:
7 years, 11 months ago by siva
Modified:
7 years, 11 months ago
Reviewers:
Ivan Posva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Do not emit pointer information for embedded singleton VM Isolate objects while generating code. These embedded objects do not need to be visited during GC. Committed: https://code.google.com/p/dart/source/detail?r=16645

Patch Set 1 #

Patch Set 2 : #

Total comments: 6

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+41 lines, -12 lines) Patch
M vm/assembler_ia32.cc View 1 2 4 chunks +4 lines, -4 lines 0 comments Download
M vm/assembler_x64.cc View 1 2 4 chunks +4 lines, -4 lines 0 comments Download
M vm/heap.h View 1 2 2 chunks +5 lines, -0 lines 0 comments Download
M vm/heap.cc View 1 2 3 chunks +5 lines, -1 line 0 comments Download
M vm/object.h View 1 2 2 chunks +11 lines, -2 lines 0 comments Download
M vm/raw_object.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M vm/raw_object.cc View 1 2 1 chunk +10 lines, -0 lines 0 comments Download
M vm/snapshot.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
siva
7 years, 11 months ago (2013-01-04 03:33:38 UTC) #1
Ivan Posva
LGTMwC -Ivan https://chromiumcodereview.appspot.com/11722026/diff/9001/vm/assembler_ia32.cc File vm/assembler_ia32.cc (right): https://chromiumcodereview.appspot.com/11722026/diff/9001/vm/assembler_ia32.cc#newcode1556 vm/assembler_ia32.cc:1556: if (object.IsSmi() || object.IsNull() || object.InVMHeap()) { ...
7 years, 11 months ago (2013-01-04 06:42:07 UTC) #2
siva
7 years, 11 months ago (2013-01-04 18:36:10 UTC) #3
https://chromiumcodereview.appspot.com/11722026/diff/9001/vm/assembler_ia32.cc
File vm/assembler_ia32.cc (right):

https://chromiumcodereview.appspot.com/11722026/diff/9001/vm/assembler_ia32.c...
vm/assembler_ia32.cc:1556: if (object.IsSmi() || object.IsNull() ||
object.InVMHeap()) {
Good point. Removed the IsNull() check.


On 2013/01/04 06:42:07, Ivan Posva wrote:
> Isn't the null object in the VM heap? Which would make the object.IsNull()
check
> redundant.

https://chromiumcodereview.appspot.com/11722026/diff/9001/vm/object.h
File vm/object.h (right):

https://chromiumcodereview.appspot.com/11722026/diff/9001/vm/object.h#newcode209
vm/object.h:209:
ASSERT(vm_isolate_heap->Contains(reinterpret_cast<uword>(raw_->ptr())));
On 2013/01/04 06:42:07, Ivan Posva wrote:
> ...->Contains(RawObject::ToAddr(raw_))

Done.

https://chromiumcodereview.appspot.com/11722026/diff/9001/vm/object.h#newcode212
vm/object.h:212: ASSERT(!Isolate::Current()->heap()->gc_in_progress());
On 2013/01/04 06:42:07, Ivan Posva wrote:
> Can you move this assertion into the RawObject code? It is really there where
we
> rely on the pre-marking of the VM isolate heap.

Done.

Powered by Google App Engine
This is Rietveld 408576698