kmillikin@google.com
94a5b82f60
Make stackmaps store their actual length.
...
This allows stackmaps with varying lengths in the same function, necessary
for the way we plan to support bitmaps for saved live registers.
R=vegorov@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10837303
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11019 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 08:43:32 +00:00
kmillikin@google.com
6c7d65e482
Reduce space used for stackmaps.
...
Only allocate space for the bits covered by the stackmap, instead of
for the backing store of the utility class that built it. Fix a bug
where the size in bytes was multiplied by the word size in bytes.
Also do some cleanup of the stackmap code and renaming in the tests.
BUG=
Review URL: https://chromiumcodereview.appspot.com//10832292
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10870 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 07:57:47 +00:00
regis@google.com
12de02cbab
Associate the correct type to method receivers (instead of Dynamic type).
...
Properly name the first implicit parameter to factories as ':type_arguments'
(instead of 'this', which made it accessible to user code).
Various cleanup.
Review URL: https://chromiumcodereview.appspot.com//10831142
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10203 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-02 23:00:55 +00:00
turnidge@google.com
a3a73029f0
Consolidate a few fields in RawFunction using bitfields.
...
Remove kAbstract from the list of function kinds. It now has its own
dedicated bit. This allows us to distinguish abstract methods from
abstract getters and setters.
Review URL: https://chromiumcodereview.appspot.com//10796004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10087 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-31 21:26:28 +00:00
kmillikin@google.com
cc619aa2c9
Change the stackmap builder API.
...
It is inconvenient for the stackmap table builder to use a singleton bitmap
for all safepoints in a code object. Instead, split the bitmap from the
table builder and allow a bitmap per safepoint.
Take this opportunity to rename StackmapBuilder => StackmapTableBuilder
because it builds the entire table of stackmaps for a code object.
R=vegorov@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10825077
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10043 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-31 08:32:33 +00:00
iposva@google.com
e5a314d222
- Allow parsing of external methods.
...
Review URL: https://chromiumcodereview.appspot.com//10821076
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10028 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-30 22:46:24 +00:00
kmillikin@google.com
f440cf8292
Fix an off-by-one error in the stack frame iteration.
...
When using a stackmap, we mapped stackmap index 0 to the code slot in the
frame. This code is still unused, but judging from the test the intent is
to map index 0 to the first local slot in the frame.
R=vegorov@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10835034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10013 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-30 13:36:58 +00:00
kmillikin@google.com
726abcb503
Change the stack map search to require an exact match.
...
R=vegorov@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10829036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10006 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-30 10:02:16 +00:00
asiva@google.com
ec7f44f025
Create frequently used symbols in the vm isolate
...
- Avoids the need for doing a NewSymbol on these everytime
- saves space as they get shared by isolates
Review URL: https://chromiumcodereview.appspot.com//10783035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9834 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-24 00:01:50 +00:00
asiva@google.com
ef67b96777
Rename some of the enum definitions inside classes to avoid conflict with the ObjectKind enum.
...
Review URL: https://chromiumcodereview.appspot.com//10808064
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9792 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-20 22:24:49 +00:00
regis@google.com
9942bef559
Remove old x64 code generator.
...
Refactorize compiler and test code to be independent of actual code generator.
Review URL: https://chromiumcodereview.appspot.com//10375017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7350 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 21:55:10 +00:00
srdjan@google.com
344aba1e75
Assign ids to incoming arguments (to be used in checked mode).
...
Review URL: https://chromiumcodereview.appspot.com//10115053
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6718 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-19 00:04:47 +00:00
regis@google.com
113c4b6626
Add missing calls to class finalizer in various tests.
...
Make 'sentinel' and 'transition_sentinel' instances of class Null.
Review URL: https://chromiumcodereview.appspot.com//10034019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6421 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-11 18:12:28 +00:00
asiva@google.com
2d3775a1b1
Resubmit change 6302 after fixing the compiler warning on older GCC compiler versions:
...
Change 6302 description:
- Wire the stack frame iterator to use stack maps for traversing objects if
there are stack maps in the code object. If there are no stack maps it still
does the old style stack frame traversal between fp and sp looking for tagged
pointers.
- Added a mechanism to be able to iterate over the code space and look for a
particular object.
Review URL: https://chromiumcodereview.appspot.com//10030001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6331 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-09 18:20:23 +00:00
asiva@google.com
c79da818cc
Revert change 6302 until the compiler warning is addressed.
...
Review URL: https://chromiumcodereview.appspot.com//10025003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6304 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-07 02:04:28 +00:00
asiva@google.com
c27cec5b6e
- Wire the stack frame iterator to use stack maps for traversing objects if there are stack maps in the code object. If there are no stack maps it still does the old style stack frame traversal between fp and sp looking for tagged pointers.
...
- Added a mechanism to be able to iterate over the code space and look for a particular object.
- Remove registration of code objects into the code index table.
Review URL: https://chromiumcodereview.appspot.com//9791048
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6302 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-07 01:44:48 +00:00
asiva@google.com
e360e4d1c9
Second set of changes for implementation of stack map support.
...
- Added functionality to be able to build stack maps in the compiler and register them into the Code object during Code finalization.
- Merged code_generator_ia32_test.cc and code_generator_x64_test.cc into code_generator_test.cc as the two files were identical.
Review URL: https://chromiumcodereview.appspot.com//9721006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5764 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-23 01:27:35 +00:00