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
regis@google.com
301c572eea
Implement missing features to run Hello world! in checked mode on simulated ARM.
...
Review URL: https://codereview.chromium.org//14192032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21780 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-19 23:21:07 +00:00
zra@google.com
dae5068650
Enables cross-compilation of the VM for ARM.
...
Uses the "toolset" feature of gyp to build the dart VM
for ARM, but restricts building of snapshot generation
to the host machine.
For generated source files, it also changes to using
LIB_DIR instead of SHARED_INTERMEDIATE_DIR to avoid
generation of duplicate Makefile rules (gyp doesn't
know that generated source files from toolchains it
thinks are different will be the same.)
Review URL: https://codereview.chromium.org//12726011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21757 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-19 18:05:44 +00:00
regis@google.com
524fbc038b
Implement catch on ARM.
...
Enabled UnhandledExceptions vm test.
Minor clean up.
Review URL: https://codereview.chromium.org//14362008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21708 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-18 22:19:49 +00:00
regis@google.com
d79c7c1969
Implement long jump in ARM and MIPS simulators.
...
Implement error and exception handler stubs on ARM.
Hook up simulator for object tests.
Enable codegen and object tests on ARM.
Review URL: https://codereview.chromium.org//14309004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21680 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-18 16:23:25 +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
regis@google.com
46a5dbeb26
Support UseDartApi vm test on ARM.
...
Review URL: https://codereview.chromium.org//13671004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20981 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 16:46:53 +00:00
regis@google.com
05e2ba9540
Support FrameLookup vm test on ARM, requiring among other things:
...
Maintain a separate top_exit_frame_info for simulated frames and use it to
verify that longjumps are safe.
Make sure unwinding of scopes works in the presence of a simulator.
Support inline allocation of objects.
Support checking of inline cache and instance calls.
Support subtype test cache.
Support (some) equality checks.
Support for (some) conditional branches.
Support for pool pointer setup in stubs.
Review URL: https://codereview.chromium.org//13502002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20890 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-03 20:17:14 +00:00
regis@google.com
b24d57ca66
Support checked mode for VM tests on ARM.
...
Review URL: https://codereview.chromium.org//12773008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20623 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-28 17:41:35 +00:00
regis@google.com
b8bf4159b5
Do not use object pool for VM heap objects on ARM.
...
Update decoding of call pattern accordingly.
Add missing store barrier when storing object pool in instructions object.
Work with GrowableObjectArray in old heap space when assembling object pool.
Review URL: https://codereview.chromium.org//13070003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20483 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 20:29:47 +00:00
regis@google.com
0c27ffc6a4
Implement optional parameter handling in ARM vm.
...
Enable FindCodeObject test on ARM (production mode only for now).
Make sure the object pool is allocated in the old space.
Some more code cleanup on IA32 and X64 (use named constants).
Review URL: https://codereview.chromium.org//12663024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20399 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 18:30:35 +00:00
regis@google.com
6a701789b9
Decode ic data and arguments descriptor passed in calls on ARM.
...
Review URL: https://codereview.chromium.org//12518016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19827 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-11 23:15:48 +00:00
regis@google.com
7766ac76d4
Implement leaf runtime call stub on ARM and corresponding call redirection
...
in ARM simulator.
Implement jump patching on ARM.
Add missing ICache flush calls.
Review URL: https://codereview.chromium.org//12439005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19724 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-08 21:16:46 +00:00
regis@google.com
b95087eb73
Implement native call stub on ARM and native call redirection in ARM simulator.
...
Pass PatchStaticCall test.
Review URL: https://codereview.chromium.org//12629004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19704 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-08 18:22:14 +00:00
regis@google.com
6ed497382f
Fix build.
...
Review URL: https://codereview.chromium.org//12433011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19575 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-06 19:03:03 +00:00
regis@google.com
bb71e75ade
Clean up ARM assembly code loading and storing from/to a large offset.
...
Make use of vldm and vstm ARM instructions.
Implement ARM stub printing stop message.
Review URL: https://codereview.chromium.org//12481007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19571 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-06 18:49:38 +00:00
zra@google.com
31da7d6c55
Adds muls, sdiv, udiv instructions to ARM simulator, assembler, disassembler
...
Review URL: https://codereview.chromium.org//12459005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19511 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-05 19:53:43 +00:00
zra@google.com
c9c0881ac7
Adds mrc instruction to arm simulator, assembler, disassembler.
...
This instruction will be used to query an arm processor to
determine whether it supports the sdiv and udiv instructions.
Also adds a flag --sim_has_int_div to the arm simulator,
which changes the result of the mrc instruction so we can
test both ways.
Review URL: https://codereview.chromium.org//12378080
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19439 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-05 01:03:22 +00:00
regis@google.com
1b274ff2cf
Remove the barely used macro assemblers after merging their contents to the base
...
assemblers.
Review URL: https://codereview.chromium.org//12398029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19434 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-05 00:04:32 +00:00
regis@google.com
a879bba2ff
Second codegen test passing on ARM (simulated).
...
This required support on ARM for:
- compilation of static calls
- patching of static calls
- stub to call into runtime
- redirection support for calls from simulator to host runtime
- stack frame iteration
Review URL: https://codereview.chromium.org//12381034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19405 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 18:08:38 +00:00
zra@google.com
767b8ec8fc
Adds vstm, vldm to ARM simulator, assembler, disassembler
...
Review URL: https://codereview.chromium.org//12390039
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19404 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 17:45:38 +00:00
regis@google.com
3b374ead4b
Compile and simulate first dart function on arm generated from ast.
...
Review URL: https://codereview.chromium.org//12335102
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19152 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 17:13:51 +00:00
zra@google.com
0ce264e8fc
Implements shifted offset register addressing mode for arm.
...
Review URL: https://codereview.chromium.org//12321149
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19102 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 00:35:57 +00:00
regis@google.com
8d24d2b98a
Implement ARM disassembler.
...
Implement ARM call patcher.
Review URL: https://codereview.chromium.org//12301042
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18769 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-20 17:28:35 +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
5675b85979
Generate first ARM assembler test and execute (simulate) it.
...
RFC: First draft showing how generated ARM code accesses GC'ed objects and
accesses patched call targets.
Review URL: https://codereview.chromium.org//12224024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18200 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-07 00:55:47 +00:00
regis@google.com
4ac3d21c08
Initial revision of ARM assembler.
...
Object references and calls, as well as their fixups, are still unimplemented.
Review URL: https://codereview.chromium.org//12090034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17775 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-29 16:46:10 +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