Make helper functions compatible with larger ToBooleanStub types.

I missed some functions that need to change.

LOG=N
BUG=v8:4124

Review URL: https://codereview.chromium.org/1199413009

Cr-Commit-Position: refs/heads/master@{#29276}
This commit is contained in:
bbudge 2015-06-24 21:32:07 -07:00 committed by Commit bot
parent defa7459b6
commit 9b36c6e37a
5 changed files with 7 additions and 9 deletions

View File

@ -379,7 +379,7 @@ class Expression : public AstNode {
// TODO(rossberg): this should move to its own AST node eventually.
virtual void RecordToBooleanTypeFeedback(TypeFeedbackOracle* oracle);
byte to_boolean_types() const {
uint16_t to_boolean_types() const {
return ToBooleanTypesField::decode(bit_field_);
}
@ -395,7 +395,7 @@ class Expression : public AstNode {
bounds_(Bounds::Unbounded(zone)),
bit_field_(0) {}
static int parent_num_ids() { return 0; }
void set_to_boolean_types(byte types) {
void set_to_boolean_types(uint16_t types) {
bit_field_ = ToBooleanTypesField::update(bit_field_, types);
}
@ -409,7 +409,7 @@ class Expression : public AstNode {
int base_id_;
Bounds bounds_;
class ToBooleanTypesField : public BitField16<byte, 0, 8> {};
class ToBooleanTypesField : public BitField16<uint16_t, 0, 9> {};
uint16_t bit_field_;
// Ends with 16-bit field; deriving classes in turn begin with
// 16-bit fields for optimum packing efficiency.

View File

@ -4683,9 +4683,7 @@ bool Code::back_edges_patched_for_osr() {
}
byte Code::to_boolean_state() {
return extra_ic_state();
}
uint16_t Code::to_boolean_state() { return extra_ic_state(); }
bool Code::has_function_cache() {

View File

@ -5081,7 +5081,7 @@ class Code: public HeapObject {
inline bool back_edges_patched_for_osr();
// [to_boolean_foo]: For kind TO_BOOLEAN_IC tells what state the stub is in.
inline byte to_boolean_state();
inline uint16_t to_boolean_state();
// [has_function_cache]: For kind STUB tells whether there is a function
// cache is passed to the stub.

View File

@ -430,7 +430,7 @@ void TypeFeedbackOracle::CollectReceiverTypes(T* obj, SmallMapList* types) {
}
byte TypeFeedbackOracle::ToBooleanTypes(TypeFeedbackId id) {
uint16_t TypeFeedbackOracle::ToBooleanTypes(TypeFeedbackId id) {
Handle<Object> object = GetInfo(id);
return object->IsCode() ? Handle<Code>::cast(object)->to_boolean_state() : 0;
}

View File

@ -78,7 +78,7 @@ class TypeFeedbackOracle: public ZoneObject {
// TODO(1571) We can't use ToBooleanStub::Types as the return value because
// of various cycles in our headers. Death to tons of implementations in
// headers!! :-P
byte ToBooleanTypes(TypeFeedbackId id);
uint16_t ToBooleanTypes(TypeFeedbackId id);
// Get type information for arithmetic operations and compares.
void BinaryType(TypeFeedbackId id,