Chromium Code Reviews| Index: src/objects-inl.h |
| diff --git a/src/objects-inl.h b/src/objects-inl.h |
| index fe470c8980410ffb434a8adfd82bcaec855b282c..4fc61fad953a608f564244304a6acb5192ca47bc 100644 |
| --- a/src/objects-inl.h |
| +++ b/src/objects-inl.h |
| @@ -2166,16 +2166,18 @@ ACCESSORS(JSArray, length, Object, kLengthOffset) |
| ACCESSORS(JSRegExp, data, Object, kDataOffset) |
| -ACCESSORS(JSRegExp, type, Object, kTypeOffset) |
| -JSRegExp::Type JSRegExp::type_tag() { |
| - return static_cast<JSRegExp::Type>(Smi::cast(type())->value()); |
| +JSRegExp::Type JSRegExp::TypeTag() { |
| + Object* data = this->data(); |
| + if (data->IsUndefined()) return JSRegExp::NOT_COMPILED; |
| + Smi* smi = Smi::cast(FixedArray::cast(data)->get(kTagIndex)); |
| + return static_cast<JSRegExp::Type>(smi->value()); |
| } |
| -void JSRegExp::set_type_tag(JSRegExp::Type value) { |
| - set_type(Smi::FromInt(value)); |
| +Object* JSRegExp::DataAt(int index) { |
| + return FixedArray::cast(data())->get(index); |
|
Kasper Lund
2008/10/24 06:42:50
Maybe you should add an ASSERT that data isn't und
|
| } |