Ryan Macnak
a2f146eea3
[vm] Forward all weak table entries during become, not just the identity hash.
...
Bug: https://github.com/dart-lang/sdk/issues/30978
Change-Id: I305e59c9e87c7b87aa8df4365831f401234f2df6
Reviewed-on: https://dart-review.googlesource.com/11248
Reviewed-by: Erik Corry <erikcorry@google.com >
2017-10-05 23:58:26 +00:00
Zachary Anderson
8d6bc876f0
Reland "Remove fields from Isolate in Product mode"
...
In my reordering of the fields in Isolate, I omitted the initialization
of a few fields in the constroctor. This CL will reland the change with
the initialization added back.
R=danunez@google.com , rmacnak@google.com
Review-Url: https://codereview.chromium.org/2983403002 .
2017-07-25 13:24:30 -07:00
Zachary Anderson
211604d7a0
Revert "Remove fields from Isolate in Product mode"
...
This reverts commit 13558442ab .
The above change caused a timeout in a vm test:
FAILED: none-vm-checked release_x64 vm/cc/SafepointTestDart
Expected: Pass
Actual: Timeout
CommandOutput[run_vm_unittest]:
diagnostics: Process list including children: [28397]
Trying to capture stack trace for pid 28397
PID 28397 - process
TID 28397:
#0 0x00007efedf216404 pthread_cond_wait@@GLIBC_2.3.2
#1 0x0000000002b9a315 dart::Monitor::WaitMicros(long)
#2 0x0000000002af3496 dart::MonitorLocker::WaitWithSafepointCheck(dart::Thread*, long)
#3 0x0000000002a8724d dart::Heap::AllocateOld(long, dart::HeapPage::PageType)
#4 0x0000000002b07de3 dart::Object::Allocate(long, long, dart::Heap::Space)
#5 0x0000000002b26eab dart::UnresolvedClass::New(dart::Object const&, dart::String const&, dart::TokenPosition)
#6 0x0000000002be6358 dart::Parser::ParseType(dart::ClassFinalizer::FinalizationKind, bool, bool, dart::LibraryPrefix*)
#7 0x0000000002ba9cc4 dart::Parser::ParseNewOperator(dart::Token::Kind)
#8 0x0000000002bac7dc dart::Parser::ParsePrimary()
#9 0x0000000002be19c1 dart::Parser::ParsePostfixExpr()
#10 0x0000000002bdf1c4 dart::Parser::ParseUnaryExpr()
#11 0x0000000002bb618c dart::Parser::ParseBinaryExpr(int)
#12 0x0000000002bb869f dart::Parser::ParseConditionalExpr()
#13 0x0000000002bae224 dart::Parser::ParseExpr(bool, bool)
#14 0x0000000002bbeb79 dart::Parser::ParseAwaitableExpr(bool, bool, dart::SequenceNode**)
#15 0x0000000002bd5273 dart::Parser::ParseStatement()
#16 0x0000000002bbcce0 dart::Parser::ParseStatementSequence()
#17 0x0000000002ba64e8 dart::Parser::ParseFunc(dart::Function const&, bool)
#18 0x0000000002ba3e31 dart::Parser::ParseFunction(dart::ParsedFunction*)
#19 0x00000000029e0725 dart::DartCompilationPipeline::ParseFunction(dart::ParsedFunction*)
#20 0x00000000029e4898 dart::CompileFunctionHelper(dart::CompilationPipeline*, dart::Function const&, bool, long)
#21 0x00000000029e5716 dart::Compiler::CompileOptimizedFunction(dart::Thread*, dart::Function const&, long)
#22 0x0000000002c8d3a4 dart::DRT_StackOverflow(dart::NativeArguments)
#23 0x00007efedf6ad61b
TID 28421:
#0 0x00007efedf2167be pthread_cond_timedwait@@GLIBC_2.3.2
#1 0x0000000002b9a2ff dart::Monitor::WaitMicros(long)
#2 0x0000000002cc6f8f dart::ThreadInterrupter::ThreadMain(unsigned long)
#3 0x0000000002b999d9 dart::ThreadStart(void*)
#4 0x00007efedf212184 start_thread
#5 0x00007efede51737d __clone
TID 28430:
#0 0x00007efedf216404 pthread_cond_wait@@GLIBC_2.3.2
#1 0x0000000002b9a315 dart::Monitor::WaitMicros(long)
#2 0x0000000002af3496 dart::MonitorLocker::WaitWithSafepointCheck(dart::Thread*, long)
#3 0x0000000002a8789e dart::HeapIterationScope::HeapIterationScope(bool)
#4 0x0000000002ad4966 dart::Isolate::IterateObjectPointers(dart::ObjectPointerVisitor*, bool)
#5 0x00000000027ed02a dart::SafepointTestTask::Run()
#6 0x0000000002cc7cbd dart::ThreadPool::Worker::Loop()
#7 0x0000000002cc7b6a dart::ThreadPool::Worker::Main(unsigned long)
#8 0x0000000002b999d9 dart::ThreadStart(void*)
#9 0x00007efedf212184 start_thread
#10 0x00007efede51737d __clone
TID 28431:
#0 0x00007efedf216404 pthread_cond_wait@@GLIBC_2.3.2
#1 0x0000000002b9a315 dart::Monitor::WaitMicros(long)
#2 0x0000000002ad66fa dart::Isolate::ScheduleThread(bool, bool)
#3 0x0000000002cc53ea dart::Thread::EnterIsolateAsHelper(dart::Isolate*, dart::Thread::TaskKind, bool)
#4 0x0000000002a86317 dart::SweeperTask::Run()
#5 0x0000000002cc7cbd dart::ThreadPool::Worker::Loop()
#6 0x0000000002cc7b6a dart::ThreadPool::Worker::Main(unsigned long)
#7 0x0000000002b999d9 dart::ThreadStart(void*)
#8 0x00007efedf212184 start_thread
#9 0x00007efede51737d __clone
TID 28444:
#0 0x00007efedf216404 pthread_cond_wait@@GLIBC_2.3.2
#1 0x0000000002b9a315 dart::Monitor::WaitMicros(long)
#2 0x0000000002af3496 dart::MonitorLocker::WaitWithSafepointCheck(dart::Thread*, long)
#3 0x0000000002a8724d dart::Heap::AllocateOld(long, dart::HeapPage::PageType)
#4 0x0000000002b07de3 dart::Object::Allocate(long, long, dart::Heap::Space)
#5 0x0000000002b26eab dart::UnresolvedClass::New(dart::Object const&, dart::String const&, dart::TokenPosition)
#6 0x0000000002be6358 dart::Parser::ParseType(dart::ClassFinalizer::FinalizationKind, bool, bool, dart::LibraryPrefix*)
#7 0x0000000002bb19bb dart::Parser::ParseTypeOrFunctionType(bool, dart::ClassFinalizer::FinalizationKind)
#8 0x0000000002bb204c dart::Parser::ParseFormalParameter(bool, bool, dart::ParamList*)
#9 0x0000000002bb43b3 dart::Parser::ParseFormalParameters(bool, bool, bool, dart::ParamList*)
#10 0x0000000002ba368b dart::Parser::ParseFormalParameterList(bool, bool, bool, dart::ParamList*)
#11 0x0000000002ba5a8f dart::Parser::ParseFunc(dart::Function const&, bool)
#12 0x0000000002ba3e31 dart::Parser::ParseFunction(dart::ParsedFunction*)
#13 0x00000000029e0725 dart::DartCompilationPipeline::ParseFunction(dart::ParsedFunction*)
#14 0x00000000029e4898 dart::CompileFunctionHelper(dart::CompilationPipeline*, dart::Function const&, bool, long)
#15 0x00000000029e5716 dart::Compiler::CompileOptimizedFunction(dart::Thread*, dart::Function const&, long)
#16 0x00000000029e7036 dart::BackgroundCompiler::Run()
#17 0x0000000002cc7cbd dart::ThreadPool::Worker::Loop()
#18 0x0000000002cc7b6a dart::ThreadPool::Worker::Main(unsigned long)
#19 0x0000000002b999d9 dart::ThreadStart(void*)
#20 0x00007efedf212184 start_thread
#21 0x00007efede51737d __clone
Review-Url: https://codereview.chromium.org/2988703002 .
2017-07-24 14:17:53 -07:00
Zachary Anderson
13558442ab
Remove fields from Isolate in Product mode
...
R=rmacnak@google.com
Review-Url: https://codereview.chromium.org/2984883002 .
2017-07-24 13:22:44 -07:00
Zachary Anderson
6cd8a79078
VM: Re-format to use at most one newline between functions
...
R=asiva@google.com
Review-Url: https://codereview.chromium.org/2974233002 .
2017-07-13 08:08:37 -07:00
Diogenes Nunez
98fe465b85
Debug garbage collector does not correctly remove cross-gen garbage
...
Modifies the debug garbage collector (CollectAllGarbage()) to correctly
remove inter-generational garbage by evacuating all of new space.
Adds tests to check if this issue has been correctly resolved.
Updates the WeakProperty_PreserveCrossGen test to call for one new and
one old space collection instead of CollectAllGarbage(). Otherwise, all
weak properties are swept as garbage.
DETAILS:
ISSUE
Specifically, the following arrangements in a heap resulted
in garbage surviving a GC.
- Dead object in old space pointing to dead object in new space results
in the new space object surviving.
- A cycle between two dead objects, one in each space, results in the
cycle surviving until all objects are in the old space.
R=rmacnak@google.com
Review-Url: https://codereview.chromium.org/2964503005 .
2017-06-30 16:03:47 -07:00
Diogenes Nunez
6ccd7e3cc3
Revert "Modifies the debug garbage collector (CollectAllGarbage()) to correctly remove inter-generational garbage by evacuating all of new space."
...
This reverts commit abf40fc8d2 .
TBR=rmacnak@google.com
Review-Url: https://codereview.chromium.org/2960063002 .
2017-06-27 15:51:08 -07:00
Diogenes Nunez
abf40fc8d2
Modifies the debug garbage collector (CollectAllGarbage()) to correctly remove inter-generational garbage by evacuating all of new space.
...
Adds tests to check if this issue has been correctly resolved.
Updates the WeakProperty_PreserveCrossGen test to call for one new and one old space collection instead of CollectAllGarbage(). Otherwise, all weak properties are swept as garbage.
DETAILS:
ISSUE
Specifically, the following arrangements in a heap resulted
in garbage surviving a GC.
- Dead object in old space pointing to dead object in new space results
in the new space object surviving.
- A cycle between two dead objects, one in each space, results in the
cycle surviving until all objects are in the old space.
BUG=
R=rmacnak@google.com
Review-Url: https://codereview.chromium.org/2930943002 .
2017-06-27 14:00:45 -07:00
Ben Konyi
f2fd150ea0
Added new type of unit test, RAW_UNIT_TEST_CASE, which is used for tests that can be flaky if run while the VM is alive. Tests created using the RAW_UNIT_TEST_CASE macro will run after the VM has shutdown to avoid having any worker threads contaminating the test results.
...
BUG=
R=johnmccutchan@google.com
Review-Url: https://codereview.chromium.org/2666133002 .
2017-01-31 15:16:38 -08:00
Zachary Anderson
a1bcf051d8
clang-format runtime/vm
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2481873005 .
2016-11-08 13:54:47 -08:00
Ryan Macnak
a6f954b0f3
Don't track allocations in product mode.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org/2143153002 .
2016-07-12 14:15:02 -07:00
John McCutchan
48c8ffa7f3
Initial isolate reload support
...
This is a cut of the work that Todd and I collaborated on in the reload branch.
In this CL, we've dropped the loader port hacks, in other words, on stack reloading in the standalone embedder does not work yet.
- [x] Support for hot reloading of isolate source code
- [x] Unit test harness and many tests
- [x] Service protocol and Observatory support
- [x] Product build does not include support for hot reloading.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1965823002 .
2016-05-17 12:19:06 -07:00
Zachary Anderson
f82a8c9af2
Disable concurrent marking/sweeping, and background compilation on ARMv5TE
...
Also adds missing feature detection to the graph intrinsifier.
R=iposva@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1974873002 .
2016-05-12 15:09:42 -07:00
Ivan Posva
5be5d54529
- Refactor Symbol allocation to expect a thread parameter.
...
- Preallocate all tokens as symbols to avoid repeated lookups.
- Pass thread/zone where useful while doing this change.
- Avoid allocating symbols for error messages.
BUG=
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1870343002 .
2016-04-11 16:28:29 -07:00
Ryan Macnak
e228e78264
Precompilation: Don't look at embedder allocated pages when finalizing the VM isolate.
...
On precompiled Space Blast on an iTouch 6, reduces finalizing the vm isolate from 60ms to <1 ms, but loading the isolate snapshot doesn't happen any sooner.
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1834333002 .
2016-03-29 16:49:33 -07:00
Srdjan Mitrovic
40d8eee81e
Remove unnecessary isolate argument from some visitors
...
BUG=
R=regis@google.com
Review URL: https://codereview.chromium.org/1838373002 .
2016-03-29 14:47:51 -07:00
Siva Annamalai
e72c1fb47d
Implement safepointing of threads :
...
- uses thread execution status transition to track when a thread is in a safepoint or needs to block for a safepoint
- introduces a monitor per Thread object
- uses a per thread safepoint handshake between the thread requesting a safepoint and the requested thread.
The ThreadRegistry class now contains only the thread list for an isolate and the functionality of scheduling a thread onto an Isolate and unscheduling it from teh isolate. We could fold this functionality into the Isolate class in a different CL.
R=rmacnak@google.com , zra@google.com
Review URL: https://codereview.chromium.org/1541073002 .
2016-02-01 10:57:34 -08:00
Ryan Macnak
d8490425c8
Skip making code pages temporarily writable when finalizing the VM isolate loaded from precompiled snapshot.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org/1408653002 .
2015-10-15 13:45:13 -07:00
Daniel Andersson
3279885596
Parallel marking.
...
Provide both Unsync/SyncMarkingVisitor, where the latter uses CAS to acquire the header bits, guaranteeing that each object is processed by exactly one task when parallel tasks are running.
UnsyncMarkingVisitor preserves the old behavior w.r.t. synchronization, and is used when num_tasks is 0.
Split root set into two parts, and give them to separate tasks when possible.
Add basic logging to help investigate how well work is distributed. (Marking stack block size is currently 64.)
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//1351453008 .
2015-10-08 15:01:57 -07:00
Daniel Andersson
fc8286ae71
Migrate NoSafepointScope to Thread, so that helper threads can successfully call Heap::Allocate (but only for old space).
...
Safepointing is not yet implemented, so helper threads can only allocate when growth control is off and no Dart code is running. But extend unit test to ensure this code path remains exercised as more functionality is added.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//1250463004 .
2015-07-22 15:09:54 -07:00
koda@google.com
8990cbfcd2
Before write-protecting a PageSpace, return bump allocation block to freelist.
...
This fixes a potential issue where attempts to iterate over a write-protected
heap might try to ensure it's walkable by writing a header into the bump block.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1071393003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45173 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 16:59:02 +00:00
koda@google.com
e3a345a84b
Rename NoGCScope -> NoSafepointScope.
...
The old name makes less sense in the context of concurrent GC (and multiple threads in general).
Document the intended semantics of this (DEBUG-only) guard scope.
R=asiva@google.com
Review URL: https://codereview.chromium.org//1016503005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44616 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-20 22:08:25 +00:00
koda@google.com
f346d2ec7a
Fix allocation stats bug on ARM; add unit test.
...
Also add sanity checks to ClassHeapStats.
Array allocation stub was using an address instead of a size for the allocation size.
R=zra@google.com
Review URL: https://codereview.chromium.org//747463002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41862 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 19:20:17 +00:00
koda@google.com
015211b474
Track per-class promotion stats.
...
This will be useful for allocation policy and heap growth policy.
Also include these stats in the VM service.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//487973002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39415 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 17:57:12 +00:00
koda@google.com
bd979f84d5
Send allocation stats with each class and show in class view.
...
For each class, if there are any allocations, shows current number of instances, shallow size, and the already existing link for retained size.
Also refactor code in ClassTable to reduce duplication.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//345543003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@37566 260f80e4-7a28-3924-810f-c04153c831b5
2014-06-20 20:17:42 +00:00
johnmccutchan@google.com
a0682663e0
Fix Android build warnings
...
BUG=
R=zra@google.com
Review URL: https://codereview.chromium.org//287933002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36183 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-14 18:32:11 +00:00
zra@google.com
7d0b680f95
Adds Simulator Longjmp and enables many tests for arm64.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//264753002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35603 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-30 23:07:47 +00:00
zra@google.com
2fe51715e5
Begins work on ARM64, first assembler test.
...
Most new code is in constants_arm64.h and
{assembler,disassembler,simulator}_arm64.{h,cc}
The rest of the CL just #def's out tests, modifies status files,
and adds UNIMPLEMENTED functions, etc.
R=regis@google.com
Review URL: https://codereview.chromium.org//221133002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34654 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 17:39:32 +00:00
koda@google.com
c1437c3673
Add 'address' vm service message that finds heap objects.
...
Will be used to navigate from heap map to individual objects.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//206583003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34206 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-20 21:08:24 +00:00
johnmccutchan@google.com
0f79171efb
Add user resetable accumulator to allocation profiler.
...
Display aggregate of new and old space in a separate table.
Speed up display of tables by 10x.
Fix heap display bug (heap stats were always for new space).
Keep sort across refreshes.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//173013004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33220 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-03 15:39:06 +00:00
johnmccutchan@google.com
9ca09b50e7
Track live instance and allocation counts for classes.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//51653006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31978 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-22 19:21:22 +00:00
zra@google.com
a49ab3a890
Adds support for debugger API on MIPS.
...
Enable debugger api tests on MIPS.
Enable isolate tests on MIPS.
Enable code descriptors tests on MIPS.
Enable snapshot tests on MIPS.
Enable heap tests on MIPS.
Review URL: https://codereview.chromium.org//14284020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22042 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-25 18:03:15 +00:00
regis@google.com
ad6005e5c4
Support debugger API on ARM.
...
Support smull ARM instruction in order to detect 32-bit multiplication overflow.
Enable debugger api tests on ARM.
Enable isolate tests on ARM.
Enable code descriptors tests on ARM.
Enable snapshot tests on ARM.
Enable heap tests on ARM.
Review URL: https://codereview.chromium.org//13983016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21890 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-23 16:10:22 +00:00
asiva@google.com
ebbb7c4134
- Represent strings internally in UTF-16 format, this makes it
...
compatible with webkit and will allow for easy externalization of
strings. One byte strings are retained for pure ASCII strings.
(The language specification was changed recently to reflect this as
follows "A string is a sequence of UTF-16 code units").
- Remove four byte string class and all references to it.
- Rename some of the string functions in Dart API to make them
consistent and better describe the underlying functionality
Dart_NewString => Dart_NewStringFromCString
Dart_NewString8 => Dart_NewStringFromUTF8
Dart_NewString16 => Dart_NewStringFromUTF16
Dart_NewString32 => Dart_NewStringFromUTF32
Dart_NewExternalString8 => Dart_NewExternalUTF8String
Dart_NewExternalString16 => Dart_NewExternalUTF16String
Dart_NewExternalString32 => Dart_NewExternalUTF32String
Dart_StringGet8 => Dart_StringToUTF8
Dart_StringGet16 => Dart_StringToUTF16
Dart_StringToCString => Dart_StringToCString
Dart_IsString8 => Removed
Dart_IsString16 -> Removed
Dart_StringToBytes -> Removed
Dart_StringGet32 -> Removed
Review URL: https://codereview.chromium.org//11318018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14357 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-31 17:56:46 +00:00
regis@google.com
b86a40f48f
Fix type checking of void type.
...
Fix library and tests accordingly.
Add new test.
Disable new test for dart2js.
Disable some now failing co19 tests (new issue 158 filed).
Hide internal VM String types from user (not complete).
Review URL: https://chromiumcodereview.appspot.com//10787021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9681 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 21:34:07 +00:00
regis@google.com
dc96874999
Revert fix for type checking of void type, because some top level tests fail.
...
Review URL: https://chromiumcodereview.appspot.com//10784020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9673 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 19:05:38 +00:00
regis@google.com
a8ceb243f6
Fix type checking of void type.
...
Fix library and tests accordingly.
Add new test.
Disable new test for dart2js.
Disable some now failing co19 tests (new issue 158 filed).
Hide internal VM String types from user (not complete).
Review URL: https://chromiumcodereview.appspot.com//10704216
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9672 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-16 18:05:55 +00:00
turnidge@google.com
9e2c641658
Remove the deprecated method invocation and field access apis from the
...
dart embbedding api. Use the new apis instead.
Fixed a bug where field/function lookup was failing for imported libs.
Added tests. Had to add a couple of lookup functions to Library.
Fixed a bug in Dart_Invoke -- it wasn't handling a null receiver
correctly.
Review URL: https://chromiumcodereview.appspot.com//10021072
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6769 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-19 21:04:15 +00:00
regis@google.com
d573d5437d
Enable remaining execution tests on x64.
...
Review URL: https://chromiumcodereview.appspot.com//9242025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3376 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-17 22:52:54 +00:00
sgjesse@google.com
bf67f24098
Move assert.h/assert.cc from runtime/vm to runtime/platform
...
The purpose of this change is twofold:
1. Source in the bin directory can now use the same assertions as
source in the vm directory. The ASSERT macro used by the code
in runtime/bin was just defined to use assert from the standard
C library.
2. Moving other implementation parts from runtime/vm to
runtime/platform (e.g. classes Monitor and Mutex) for sharing
between runtime/bin and runtime/vm will be easier as these
implementations rely on these assertion macros.
Created two gypi files for the platform directory. One for the
headers and one for the source. The source one is only included
when building the VM library and will be present in libdart.a
when the dart executable is linked.
All the code for asserts is still in the dart namespace.
Also re-arranged the order of includes to be alphabetically in
the files touched.
R=ager@google.com , iposva@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//9189003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@3335 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-16 12:28:10 +00:00
iposva@google.com
0d25bce528
- Trigger old-gen GCs when needed.
...
- Sweep large pages.
- Handle free list elements when calculating sizes.
Review URL: http://codereview.chromium.org//8996011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2593 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-19 19:29:10 +00:00
iposva@google.com
5e1e9534db
- Implement the old sweeper.
...
Review URL: http://codereview.chromium.org//8898034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2485 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-15 22:37:35 +00:00
iposva@google.com
3117f4cbfc
- Implement a simple old-generation marker.
...
Review URL: http://codereview.chromium.org//8761006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1962 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-01 02:11:40 +00:00
dgrove@google.com
4c0f559d23
Initial checkin.
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 05:20:07 +00:00