Don't actually create Handles for the constant hole, the true value and the false value. This is required to have some parts of Crankshaft run without creating Handles.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10699052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
sanjoy@chromium.org 2012-07-03 10:42:03 +00:00
parent b4b10c012f
commit 10441e954b
2 changed files with 8 additions and 8 deletions

View File

@ -568,9 +568,9 @@ void HGraph::Verify(bool do_full_verify) const {
HConstant* HGraph::GetConstant(SetOncePointer<HConstant>* pointer,
Object* value) {
Handle<Object> value) {
if (!pointer->is_set()) {
HConstant* constant = new(zone()) HConstant(Handle<Object>(value),
HConstant* constant = new(zone()) HConstant(value,
Representation::Tagged());
constant->InsertAfter(GetConstantUndefined());
pointer->set(constant);
@ -580,27 +580,27 @@ HConstant* HGraph::GetConstant(SetOncePointer<HConstant>* pointer,
HConstant* HGraph::GetConstant1() {
return GetConstant(&constant_1_, Smi::FromInt(1));
return GetConstant(&constant_1_, Handle<Smi>(Smi::FromInt(1)));
}
HConstant* HGraph::GetConstantMinus1() {
return GetConstant(&constant_minus1_, Smi::FromInt(-1));
return GetConstant(&constant_minus1_, Handle<Smi>(Smi::FromInt(-1)));
}
HConstant* HGraph::GetConstantTrue() {
return GetConstant(&constant_true_, isolate()->heap()->true_value());
return GetConstant(&constant_true_, isolate()->factory()->true_value());
}
HConstant* HGraph::GetConstantFalse() {
return GetConstant(&constant_false_, isolate()->heap()->false_value());
return GetConstant(&constant_false_, isolate()->factory()->false_value());
}
HConstant* HGraph::GetConstantHole() {
return GetConstant(&constant_hole_, isolate()->heap()->the_hole_value());
return GetConstant(&constant_hole_, isolate()->factory()->the_hole_value());
}

View File

@ -347,7 +347,7 @@ class HGraph: public ZoneObject {
private:
HConstant* GetConstant(SetOncePointer<HConstant>* pointer,
Object* value);
Handle<Object> value);
void MarkAsDeoptimizingRecursively(HBasicBlock* block);
void InsertTypeConversions(HInstruction* instr);