Commit Graph

17 Commits

Author SHA1 Message Date
zra@google.com 8edda78ccc Enables more tests for SIMMIPS.
. Fixes register allocation bugs
. Implements float <-> double conversion in assembler and simulator.
. Fixes floating point argument passing for simarm and simmips,
  and floating point return for simarm, and adjusts tests to match.

R=regis@google.com

Review URL: https://codereview.chromium.org//17502002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24365 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 20:16:16 +00:00
zra@google.com 7718086a5f Fixes small ARM bugs, and updates status files.
R=srdjan@google.com

Review URL: https://codereview.chromium.org//16054007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23718 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-06 21:52:26 +00:00
regis@google.com 77417c2f49 Implement a few more features on ARM.
The vm tests byte_array_test and byte_array_optimized_test still fail due to
an inlining bug on ARM.

R=zra@google.com

Review URL: https://codereview.chromium.org//15899010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23370 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-29 23:12:20 +00:00
zra@google.com e5229295a0 Removes ARM mrc instruction.
It is a privileged instruction and was only being used in tests
running on the simulator.

R=regis@google.com

Review URL: https://codereview.chromium.org//16194010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23367 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-29 21:31:27 +00:00
zra@google.com 26fa41d1b1 Implements intrinsics for ARM.
R=regis@google.com

Review URL: https://codereview.chromium.org//15822008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23311 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-28 22:55:51 +00:00
zra@google.com fabc87d633 Fixes for integer division on ARM hardware so that assembler tests pass.
Now, all VM tests that pass on SIMARM, pass on ARM.

Also, more assertions in the ARM disassembler and simulator to
make sure that condition codes aren't used with bkpt.

R=regis@google.com

Review URL: https://codereview.chromium.org//14784011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22471 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-07 18:21:18 +00:00
regis@google.com 76c8e61855 Fix ARM memory addressing mode 3 in assembler.
Update assembler test.

R=zra@google.com

Review URL: https://codereview.chromium.org//14637013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22285 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-01 21:33:08 +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
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
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
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
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
zra@google.com ddb1f60210 Adds ARM arm assembler tests.
Review URL: https://codereview.chromium.org//12340006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18844 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-21 18:36:34 +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 0bf36986ec Add test skeletons for arm and mips.
Review URL: https://codereview.chromium.org//11929037

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17330 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 23:46:48 +00:00