Commit bd208976 authored by sgjesse@chromium.org's avatar sgjesse@chromium.org

Update the bits reserved for the gap size in the depotimization table

On ARM the a constant pool can be emitted during the gap code generation which leads to larger gap code size

BUG=v8:1018
Review URL: http://codereview.chromium.org/6125004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 32254e53
......@@ -69,8 +69,15 @@ class SafepointTable BASE_EMBEDDED {
return &Memory::uint8_at(entries_ + (index * entry_size_));
}
class GapCodeSizeField: public BitField<unsigned, 0, 8> {};
class DeoptimizationIndexField: public BitField<int, 8, 24> {};
// Reserve 13 bits for the gap code size. On ARM a constant pool can be
// emitted when generating the gap code. The size of the const pool is less
// than what can be represented in 12 bits, so 13 bits gives room for having
// instructions before potentially emitting a constant pool.
static const int kGapCodeSizeBits = 13;
static const int kDeoptIndexBits = 32 - kGapCodeSizeBits;
class GapCodeSizeField: public BitField<unsigned, 0, kGapCodeSizeBits> {};
class DeoptimizationIndexField:
public BitField<int, kGapCodeSizeBits, kDeoptIndexBits> {};
static bool HasRegisters(uint8_t* entry);
static bool HasRegisterAt(uint8_t* entry, int reg_index);
......@@ -114,7 +121,8 @@ class SafepointTable BASE_EMBEDDED {
class Safepoint BASE_EMBEDDED {
public:
static const int kNoDeoptimizationIndex = 0x00ffffff;
static const int kNoDeoptimizationIndex =
(1 << (SafepointTable::kDeoptIndexBits)) - 1;
void DefinePointerSlot(int index) { indexes_->Add(index); }
void DefinePointerRegister(Register reg) { registers_->Add(reg.code()); }
......
......@@ -840,9 +840,6 @@ js1_5/extensions/regress-371636: SKIP
js1_5/Regress/regress-416628: CRASH
js1_5/Regress/regress-96128-n: PASS || CRASH
# BUG(1032)
ecma/Date/15.9.3.1-1.js: PASS || CRASH
[ $fast == yes && $arch == arm ]
# In fast mode on arm we try to skip all tests that would time out,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment