Chromium Code Reviews| Index: src/code-stubs.h |
| diff --git a/src/code-stubs.h b/src/code-stubs.h |
| index 80d99d8b689f704ce475f3d96a2978ae2e339631..3c308c0e0bfe1c9017bacab2834498be014edc2e 100644 |
| --- a/src/code-stubs.h |
| +++ b/src/code-stubs.h |
| @@ -95,7 +95,8 @@ namespace internal { |
| V(StoreGlobal) \ |
| /* IC Handler stubs */ \ |
| V(LoadField) \ |
| - V(KeyedLoadField) |
| + V(KeyedLoadField) \ |
| + V(RecordObjectAllocation) |
| // List of code stubs only used on ARM platforms. |
| #if V8_TARGET_ARCH_ARM |
| @@ -1398,6 +1399,23 @@ class JSEntryStub : public PlatformCodeStub { |
| }; |
| +// Report JS object allocation to heap profiler if allocations tracking mode |
| +// is on. |
| +class RecordObjectAllocationStub : public PlatformCodeStub { |
|
alph
2013/10/30 11:44:27
Consider overriding PrintName function.
yurys
2013/10/30 11:59:54
Done.
|
| + public: |
| + RecordObjectAllocationStub() {} |
| + |
| + virtual void Generate(MacroAssembler* masm); |
| + |
| + private: |
| + // This code stub never causes GC. |
| + virtual bool SometimesSetsUpAFrame() { return false; } |
| + |
| + Major MajorKey() { return RecordObjectAllocation; } |
| + int MinorKey() { return 0; } |
| +}; |
| + |
| + |
| class JSConstructEntryStub : public JSEntryStub { |
| public: |
| JSConstructEntryStub() { } |