From: mmassi@chromium.org Date: Wed, 26 Sep 2012 09:35:41 +0000 (+0000) Subject: Lowered kMaxVirtualRegisters (fixes v8 2139 and chrome 123822 and 128252). X-Git-Tag: upstream/4.7.83~15935 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e7fc0207ab4dc5a32183eb5c2f9ccb360ab38d7f;p=platform%2Fupstream%2Fv8.git Lowered kMaxVirtualRegisters (fixes v8 2139 and chrome 123822 and 128252). BUG=128252 Review URL: https://chromiumcodereview.appspot.com/10966031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/lithium.h b/src/lithium.h index e1cd52a..b4eb2bb 100644 --- a/src/lithium.h +++ b/src/lithium.h @@ -133,13 +133,15 @@ class LUnallocated: public LOperand { // index in the upper bits. static const int kPolicyWidth = 3; static const int kLifetimeWidth = 1; - static const int kVirtualRegisterWidth = 18; + static const int kVirtualRegisterWidth = 15; static const int kPolicyShift = kKindFieldWidth; static const int kLifetimeShift = kPolicyShift + kPolicyWidth; static const int kVirtualRegisterShift = kLifetimeShift + kLifetimeWidth; static const int kFixedIndexShift = kVirtualRegisterShift + kVirtualRegisterWidth; + static const int kFixedIndexWidth = 32 - kFixedIndexShift; + STATIC_ASSERT(kFixedIndexWidth > 5); class PolicyField : public BitField { }; @@ -154,8 +156,8 @@ class LUnallocated: public LOperand { }; static const int kMaxVirtualRegisters = 1 << kVirtualRegisterWidth; - static const int kMaxFixedIndex = 63; - static const int kMinFixedIndex = -64; + static const int kMaxFixedIndex = (1 << kFixedIndexWidth) - 1; + static const int kMinFixedIndex = -(1 << kFixedIndexWidth); bool HasAnyPolicy() const { return policy() == ANY;