X64 Crankshaft: Implement some methods in LInstruction, update mjsunit test expectations.

Review URL: http://codereview.chromium.org/6118002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
whesse@chromium.org 2011-01-07 09:47:16 +00:00
parent a6c5fa6993
commit f39ff5c679
2 changed files with 34 additions and 11 deletions

View File

@ -1,4 +1,4 @@
// Copyright 2010 the V8 project authors. All rights reserved. // Copyright 2011 the V8 project authors. All rights reserved.
// Redistribution and use in source and binary forms, with or without // Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are // modification, are permitted provided that the following conditions are
// met: // met:
@ -45,6 +45,9 @@ class LInstruction: public ZoneObject {
LInstruction() { } LInstruction() { }
virtual ~LInstruction() { } virtual ~LInstruction() { }
virtual void PrintTo(StringStream* stream) const { UNIMPLEMENTED(); }
virtual void PrintDataTo(StringStream* stream) const { }
// Predicates should be generated by macro as in lithium-ia32.h. // Predicates should be generated by macro as in lithium-ia32.h.
virtual bool IsLabel() const { virtual bool IsLabel() const {
UNIMPLEMENTED(); UNIMPLEMENTED();
@ -55,17 +58,30 @@ class LInstruction: public ZoneObject {
return false; return false;
} }
LPointerMap* pointer_map() const { void set_environment(LEnvironment* env) { environment_.set(env); }
UNIMPLEMENTED(); LEnvironment* environment() const { return environment_.get(); }
return NULL; bool HasEnvironment() const { return environment_.is_set(); }
}
bool HasPointerMap() const { void set_pointer_map(LPointerMap* p) { pointer_map_.set(p); }
UNIMPLEMENTED(); LPointerMap* pointer_map() const { return pointer_map_.get(); }
return false; bool HasPointerMap() const { return pointer_map_.is_set(); }
}
virtual void PrintTo(StringStream* stream) const { UNIMPLEMENTED(); } void set_result(LOperand* operand) { result_.set(operand); }
LOperand* result() const { return result_.get(); }
bool HasResult() const { return result_.is_set(); }
void set_hydrogen_value(HValue* value) { hydrogen_value_ = value; }
HValue* hydrogen_value() const { return hydrogen_value_; }
void set_deoptimization_environment(LEnvironment* env) {
deoptimization_environment_.set(env);
}
LEnvironment* deoptimization_environment() const {
return deoptimization_environment_.get();
}
bool HasDeoptimizationEnvironment() const {
return deoptimization_environment_.is_set();
}
private: private:
SetOncePointer<LEnvironment> environment_; SetOncePointer<LEnvironment> environment_;

View File

@ -109,7 +109,14 @@ regress/regress-3247124: SKIP
############################################################################## ##############################################################################
[ $arch == arm && $crankshaft ] [ $arch == arm && $crankshaft ]
# Test that currently fail with crankshaft on ARM. # Test that currently fails with crankshaft on ARM.
compiler/simple-osr: FAIL
##############################################################################
[ $arch == x64 && $crankshaft ]
# Test that currently fails with crankshaft on X64.
compiler/simple-osr: FAIL compiler/simple-osr: FAIL