diff options
Diffstat (limited to 'deps/v8/test/cctest/types-fuzz.h')
-rw-r--r-- | deps/v8/test/cctest/types-fuzz.h | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/deps/v8/test/cctest/types-fuzz.h b/deps/v8/test/cctest/types-fuzz.h index fcffbf4677..db264db42c 100644 --- a/deps/v8/test/cctest/types-fuzz.h +++ b/deps/v8/test/cctest/types-fuzz.h @@ -40,7 +40,7 @@ namespace compiler { class Types { public: Types(Zone* zone, Isolate* isolate, v8::base::RandomNumberGenerator* rng) - : zone_(zone), rng_(rng) { + : zone_(zone), js_heap_broker_(isolate), rng_(rng) { #define DECLARE_TYPE(name, value) \ name = Type::name(); \ types.push_back(name); @@ -65,13 +65,14 @@ class Types { object2 = isolate->factory()->NewJSObjectFromMap(object_map); array = isolate->factory()->NewJSArray(20); uninitialized = isolate->factory()->uninitialized_value(); - SmiConstant = Type::NewConstant(smi, zone); - Signed32Constant = Type::NewConstant(signed32, zone); + SmiConstant = Type::NewConstant(js_heap_broker(), smi, zone); + Signed32Constant = Type::NewConstant(js_heap_broker(), signed32, zone); - ObjectConstant1 = Type::HeapConstant(object1, zone); - ObjectConstant2 = Type::HeapConstant(object2, zone); - ArrayConstant = Type::HeapConstant(array, zone); - UninitializedConstant = Type::HeapConstant(uninitialized, zone); + ObjectConstant1 = Type::HeapConstant(js_heap_broker(), object1, zone); + ObjectConstant2 = Type::HeapConstant(js_heap_broker(), object2, zone); + ArrayConstant = Type::HeapConstant(js_heap_broker(), array, zone); + UninitializedConstant = + Type::HeapConstant(js_heap_broker(), uninitialized, zone); values.push_back(smi); values.push_back(boxed_smi); @@ -84,7 +85,7 @@ class Types { values.push_back(float2); values.push_back(float3); for (ValueVector::iterator it = values.begin(); it != values.end(); ++it) { - types.push_back(Type::NewConstant(*it, zone)); + types.push_back(Type::NewConstant(js_heap_broker(), *it, zone)); } integers.push_back(isolate->factory()->NewNumber(-V8_INFINITY)); @@ -120,7 +121,7 @@ class Types { #define DECLARE_TYPE(name, value) Type name; PROPER_BITSET_TYPE_LIST(DECLARE_TYPE) - #undef DECLARE_TYPE +#undef DECLARE_TYPE Type SignedSmall; Type UnsignedSmall; @@ -141,14 +142,12 @@ class Types { ValueVector values; ValueVector integers; // "Integer" values used for range limits. - Type Of(Handle<i::Object> value) { return Type::Of(value, zone_); } - Type NewConstant(Handle<i::Object> value) { - return Type::NewConstant(value, zone_); + return Type::NewConstant(js_heap_broker(), value, zone_); } Type HeapConstant(Handle<i::HeapObject> value) { - return Type::HeapConstant(value, zone_); + return Type::HeapConstant(js_heap_broker(), value, zone_); } Type Range(double min, double max) { return Type::Range(min, max, zone_); } @@ -186,7 +185,7 @@ class Types { } case 1: { // constant int i = rng_->NextInt(static_cast<int>(values.size())); - return Type::NewConstant(values[i], zone_); + return Type::NewConstant(js_heap_broker(), values[i], zone_); } case 2: { // range int i = rng_->NextInt(static_cast<int>(integers.size())); @@ -210,9 +209,11 @@ class Types { } Zone* zone() { return zone_; } + const JSHeapBroker* js_heap_broker() const { return &js_heap_broker_; } private: Zone* zone_; + JSHeapBroker js_heap_broker_; v8::base::RandomNumberGenerator* rng_; }; |