diff options
| author | Ben Murdoch <benm@google.com> | 2012-04-11 10:23:59 +0100 |
|---|---|---|
| committer | Ben Murdoch <benm@google.com> | 2012-04-11 15:40:41 +0100 |
| commit | 5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b (patch) | |
| tree | 7b717e53b80c4a64bf9b723aabcf7c909ae3c243 /src/frames.h | |
| parent | c7cc028aaeedbbfa11c11d0b7b243b3d9e837ed9 (diff) | |
| download | android_external_v8-5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b.tar.gz android_external_v8-5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b.tar.bz2 android_external_v8-5d4cdbf7a67d3662fa0bee4efdb7edd8daec9b0b.zip | |
Merge V8 3.9 at 3.9.24.9
http://v8.googlecode.com/svn/branches/3.9@11260
Bug: 5688872
Change-Id: Iddd944e82189d92df3fc427dc5f0d3f1b2f0c6c8
Diffstat (limited to 'src/frames.h')
| -rw-r--r-- | src/frames.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/frames.h b/src/frames.h index 2c5e571e..90715551 100644 --- a/src/frames.h +++ b/src/frames.h @@ -1,4 +1,4 @@ -// Copyright 2011 the V8 project authors. All rights reserved. +// Copyright 2012 the V8 project authors. All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -85,15 +85,17 @@ class InnerPointerToCodeCache { class StackHandler BASE_EMBEDDED { public: enum Kind { - ENTRY, - TRY_CATCH, - TRY_FINALLY + JS_ENTRY, + CATCH, + FINALLY, + LAST_KIND = FINALLY }; static const int kKindWidth = 2; - static const int kOffsetWidth = 32 - kKindWidth; + STATIC_ASSERT(LAST_KIND < (1 << kKindWidth)); + static const int kIndexWidth = 32 - kKindWidth; class KindField: public BitField<StackHandler::Kind, 0, kKindWidth> {}; - class OffsetField: public BitField<unsigned, kKindWidth, kOffsetWidth> {}; + class IndexField: public BitField<unsigned, kKindWidth, kIndexWidth> {}; // Get the address of this stack handler. inline Address address() const; @@ -111,9 +113,9 @@ class StackHandler BASE_EMBEDDED { static inline StackHandler* FromAddress(Address address); // Testers - inline bool is_entry() const; - inline bool is_try_catch() const; - inline bool is_try_finally() const; + inline bool is_js_entry() const; + inline bool is_catch() const; + inline bool is_finally() const; private: // Accessors. @@ -239,6 +241,11 @@ class StackFrame BASE_EMBEDDED { virtual void Iterate(ObjectVisitor* v) const = 0; static void IteratePc(ObjectVisitor* v, Address* pc_address, Code* holder); + // Sets a callback function for return-address rewriting profilers + // to resolve the location of a return address to the location of the + // profiler's stashed return address. + static void SetReturnAddressLocationResolver( + ReturnAddressLocationResolver resolver); // Printing support. enum PrintMode { OVERVIEW, DETAILS }; |
