Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Unified Diff: src/frames.h

Issue 1030353003: Enable constant pool support. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/frames.h
diff --git a/src/frames.h b/src/frames.h
index 397c7b5db9cf7f912d7c3fe53a9392141b913ae2..5ac8756b4e2173d2606c0f708df2496f29fabb8a 100644
--- a/src/frames.h
+++ b/src/frames.h
@@ -118,15 +118,16 @@ class StandardFrameConstants : public AllStatic {
// StandardFrame::IterateExpressions assumes that kLastObjectOffset is the
// last object pointer.
static const int kCPSlotSize =
- FLAG_enable_ool_constant_pool ? kPointerSize : 0;
+ (FLAG_enable_ool_constant_pool || FLAG_enable_embedded_constant_pool)
+ ? kPointerSize
+ : 0;
static const int kFixedFrameSizeFromFp = 2 * kPointerSize + kCPSlotSize;
static const int kFixedFrameSize = kPCOnStackSize + kFPOnStackSize +
kFixedFrameSizeFromFp;
static const int kExpressionsOffset = -3 * kPointerSize - kCPSlotSize;
static const int kMarkerOffset = -2 * kPointerSize - kCPSlotSize;
static const int kContextOffset = -1 * kPointerSize - kCPSlotSize;
- static const int kConstantPoolOffset = FLAG_enable_ool_constant_pool ?
- -1 * kPointerSize : 0;
+ static const int kConstantPoolOffset = kCPSlotSize ? -1 * kPointerSize : 0;
static const int kCallerFPOffset = 0 * kPointerSize;
static const int kCallerPCOffset = +1 * kFPOnStackSize;
static const int kCallerSPOffset = kCallerPCOffset + 1 * kPCOnStackSize;
@@ -215,8 +216,8 @@ class StackFrame BASE_EMBEDDED {
void set_pc(Address pc) { *pc_address() = pc; }
Address constant_pool() const { return *constant_pool_address(); }
- void set_constant_pool(ConstantPoolArray* constant_pool) {
- *constant_pool_address() = reinterpret_cast<Address>(constant_pool);
+ void set_constant_pool(Address constant_pool) {
+ *constant_pool_address() = constant_pool;
}
virtual void SetCallerFp(Address caller_fp) = 0;
@@ -258,7 +259,8 @@ class StackFrame BASE_EMBEDDED {
unsigned* stack_slots);
virtual void Iterate(ObjectVisitor* v) const = 0;
- static void IteratePc(ObjectVisitor* v, Address* pc_address, Code* holder);
+ static void IteratePc(ObjectVisitor* v, Address* pc_address,
+ Address* constant_pool_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

Powered by Google App Engine
This is Rietveld 408576698