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() { } |