Chromium Code Reviews| Index: src/code-stubs.h |
| diff --git a/src/code-stubs.h b/src/code-stubs.h |
| index a02a9598d7dd6d0d348253b8a18c43558225114f..866deddcda4d93c259618a663298767ee2d83d2f 100644 |
| --- a/src/code-stubs.h |
| +++ b/src/code-stubs.h |
| @@ -424,8 +424,11 @@ class FastCloneShallowArrayStub : public PlatformCodeStub { |
| static const int kMaximumClonedLength = 8; |
| enum Mode { |
| CLONE_ELEMENTS, |
| + CLONE_ELEMENTS_WITH_ALLOCATION_SITE_INFO, |
|
mvstanton
2013/01/11 16:56:06
Instead, use a bitfield that combines the Allocati
mvstanton
2013/01/15 15:23:15
Done.
|
| CLONE_DOUBLE_ELEMENTS, |
| + CLONE_DOUBLE_ELEMENTS_WITH_ALLOCATION_SITE_INFO, |
| COPY_ON_WRITE_ELEMENTS, |
| + COPY_ON_WRITE_ELEMENTS_WITH_ALLOCATION_SITE_INFO, |
| CLONE_ANY_ELEMENTS, |
| CLONE_ANY_ELEMENTS_WITH_ALLOCATION_SITE_INFO, |
| LAST_CLONE_MODE = CLONE_ANY_ELEMENTS_WITH_ALLOCATION_SITE_INFO |
| @@ -442,6 +445,33 @@ class FastCloneShallowArrayStub : public PlatformCodeStub { |
| void Generate(MacroAssembler* masm); |
| + static inline bool TrackAllocationSiteInfo(Mode mode) { |
|
danno
2013/01/11 16:14:40
nit: "Track" is a command, but you use it a query.
mvstanton
2013/01/15 15:23:15
Good point, thanks. I took Toon's advice and ended
|
| + return mode == CLONE_ELEMENTS_WITH_ALLOCATION_SITE_INFO || |
| + mode == CLONE_DOUBLE_ELEMENTS_WITH_ALLOCATION_SITE_INFO || |
| + mode == CLONE_ANY_ELEMENTS_WITH_ALLOCATION_SITE_INFO || |
| + mode == COPY_ON_WRITE_ELEMENTS_WITH_ALLOCATION_SITE_INFO; |
| + } |
| + |
| + static inline bool IsCloneElementsMode(Mode mode) { |
| + return mode == CLONE_ELEMENTS || |
| + mode == CLONE_ELEMENTS_WITH_ALLOCATION_SITE_INFO; |
| + } |
| + |
| + static inline bool IsCloneDoubleElementsMode(Mode mode) { |
| + return mode == CLONE_DOUBLE_ELEMENTS || |
| + mode == CLONE_DOUBLE_ELEMENTS_WITH_ALLOCATION_SITE_INFO; |
| + } |
| + |
| + static inline bool IsCopyOnWriteElementsMode(Mode mode) { |
| + return mode == COPY_ON_WRITE_ELEMENTS || |
| + mode == COPY_ON_WRITE_ELEMENTS_WITH_ALLOCATION_SITE_INFO; |
| + } |
| + |
| + static inline bool IsCloneAnyElementsMode(Mode mode) { |
| + return mode == CLONE_ANY_ELEMENTS || |
| + mode == CLONE_ANY_ELEMENTS_WITH_ALLOCATION_SITE_INFO; |
| + } |
| + |
| private: |
| Mode mode_; |
| int length_; |