Zachary Anderson
fc65d07fdf
Adds DBC StoreIntoObject test
...
R=vegorov@google.com
Review URL: https://codereview.chromium.org/1948803002 .
2016-05-03 14:58:40 -07:00
Vyacheslav Egorov
ee0f608ce4
Dart Byte Code interpreter.
...
This version is Clang/GCC only and does not support Windows because it uses computed goto's.
Only unoptimized mode is supported.
Architecture is described in constants_dbc.h and stack_frame_dbc.h.
R=fschneider@google.com , zra@google.com
Review URL: https://codereview.chromium.org/1858283002 .
2016-04-18 23:02:01 +02:00
Florian Schneider
25966d228d
VM: Refactor assembler test that rely on the constant pool.
...
This makes the test code independent of the way we call Dart code and
makes it easier to change the calling convention.
The code for calling test code is now encapsulated in unit_test.h instead
of being spread over many different files.
I only changed the tests that need a constant pool set up, but the same strategy
could be used for all other assembler tests to avoid unnecessary duplicated
boilerplate code.
BUG=
R=zra@google.com
Review URL: https://codereview.chromium.org//1283733003 .
2015-08-18 11:36:05 +02:00
Florian Schneider
28c5ba6bdc
VM: Simplify assembler test by removing unused parameter.
...
No need to pass a Context into assembler tests.
BUG=
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1272223002 .
2015-08-06 10:24:14 +02:00
Daniel Andersson
a410c0f993
Thread-local store buffers, v2
...
BUG=
R=iposva@google.com
Review URL: https://codereview.chromium.org//1168483003 .
2015-06-09 09:33:36 -07:00
Daniel Andersson
fd890f4097
Cache current thread in a reserved register and use it in LoadIsolate
...
Add THR register that caches the current thread in generated code.
Shuffle some registers around as needed to free one up.
Note: Assembler::LoadIsolate now always loads the *current* isolate whenever the code is executed, rather than the isolate in which the code was compiled (no existing code was affected by this slight change in semantics).
Rewrite some ia32 stubs to use one less register, and for some ia32 bigint intrinsics, explicitly save THR (like CTX in the past, see r44699).
Next steps:
- pass current thread rather than isolate in NativeArguments
- ditto for exception handler jump
- migrate fields vm_tag, top_exit_frame_info, etc. to thread
R=srdjan@google.com
Review URL: https://codereview.chromium.org//1156593002
2015-05-26 13:46:12 -07:00
zra@google.com
f94ea20502
Adds StoreIntoObject for arm64.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//247023004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35277 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-22 19:44:11 +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
iposva@google.com
083c9e5e95
- Remember the fact that an object has been added to the
...
store buffer by a bit in the header.
- This bit can be used to filter out redundant additions
into the store buffer making the dedup sets not needed.
- Remove the need for a HashSet when remembering old to
new references.
Review URL: https://codereview.chromium.org//14307013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22393 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 20:59:42 +00:00
zra@google.com
64d10ad4e4
Implements write barrier on MIPS.
...
Review URL: https://codereview.chromium.org//13925024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21532 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-16 00:25:03 +00:00
regis@google.com
b37703989f
Implement write barrier on ARM.
...
Enable StoreIntoObject and DartEntry vm tests.
Review URL: https://codereview.chromium.org//13638019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21083 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-08 16:44:39 +00:00
iposva@google.com
4dff6b8e2b
- Remember objects (not addresses) in the old generation containing new pointers.
...
Review URL: https://codereview.chromium.org//13406004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20828 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-02 22:45:18 +00:00
regis@google.com
8c44be4313
Add support for object pool that will be used on ARM and MIPS architectures.
...
Modify code patching infrastructure to accept code object, which is necessary to
get to the object pool containing patchable target addresses.
Modify assembler test infrastructure to provide associated code object.
Review URL: https://codereview.chromium.org//12260026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18604 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-15 23:55:31 +00:00
regis@google.com
912194a756
Fix vm code base so that it can be built for --arch=simarm (no snapshot yet).
...
Review URL: https://codereview.chromium.org//11956004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17246 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 00:34:20 +00:00
iposva@google.com
65d96de4e8
- Separate store buffer data in the isolate into the StoreBufferBlock and
...
the actual StoreBuffer.
- Add a HashSet class to use for the StoreBuffer data.
- Fix allocation sites for definite old objects.
- Remove obsolete leaf runtime entry StoreBuffer.
Review URL: https://chromiumcodereview.appspot.com//10702067
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9323 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 00:10:23 +00:00
iposva@google.com
d4bd618e75
- Fix the x64 store-barrier.
...
- Allow assembler test drivers to be shared across architectures.
- Add a shared StoreIntoObject assembler test.
Review URL: https://chromiumcodereview.appspot.com//10636017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9050 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 23:48:51 +00:00