changeset in /hg/icedtea6: 2009-02-27 Gary Benson <gbenson at red...
Gary Benson
gbenson at redhat.com
Fri Feb 27 06:53:04 PST 2009
changeset 9f1c16638724 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=9f1c16638724
description:
2009-02-27 Gary Benson <gbenson at redhat.com>
* ports/hotspot/src/share/vm/shark/sharkState.cpp
(SharkEntryState::initialize): Mark the receiver as
zero-checked for non-static methods.
* ports/hotspot/src/share/vm/shark/sharkValue.hpp
(SharkValue::jint_constant): Mark non-zero constants
as zero-checked.
(SharkValue::jlong_constant): Likewise.
diffstat:
3 files changed, 25 insertions(+), 2 deletions(-)
ChangeLog | 11 +++++++++++
ports/hotspot/src/share/vm/shark/sharkState.cpp | 6 ++++++
ports/hotspot/src/share/vm/shark/sharkValue.hpp | 10 ++++++++--
diffs (57 lines):
diff -r fd98e848b25c -r 9f1c16638724 ChangeLog
--- a/ChangeLog Fri Feb 27 04:08:04 2009 -0500
+++ b/ChangeLog Fri Feb 27 14:52:57 2009 +0000
@@ -1,3 +1,14 @@ 2009-02-27 Gary Benson <gbenson at redhat
+2009-02-27 Gary Benson <gbenson at redhat.com>
+
+ * ports/hotspot/src/share/vm/shark/sharkState.cpp
+ (SharkEntryState::initialize): Mark the receiver as
+ zero-checked for non-static methods.
+
+ * ports/hotspot/src/share/vm/shark/sharkValue.hpp
+ (SharkValue::jint_constant): Mark non-zero constants
+ as zero-checked.
+ (SharkValue::jlong_constant): Likewise.
+
2009-02-27 Gary Benson <gbenson at redhat.com>
* ports/hotspot/src/share/vm/shark/sharkBlock.cpp
diff -r fd98e848b25c -r 9f1c16638724 ports/hotspot/src/share/vm/shark/sharkState.cpp
--- a/ports/hotspot/src/share/vm/shark/sharkState.cpp Fri Feb 27 04:08:04 2009 -0500
+++ b/ports/hotspot/src/share/vm/shark/sharkState.cpp Fri Feb 27 14:52:57 2009 +0000
@@ -94,6 +94,12 @@ void SharkEntryState::initialize(Value*
set_local(i, value);
}
+ // Non-static methods have a guaranteed non-null receiver
+ if (!function()->target()->is_static()) {
+ assert(local(0)->is_jobject(), "should be");
+ local(0)->set_zero_checked(true);
+ }
+
// Expression stack
assert(!stack_depth_at_entry(), "entry block shouldn't have stack");
}
diff -r fd98e848b25c -r 9f1c16638724 ports/hotspot/src/share/vm/shark/sharkValue.hpp
--- a/ports/hotspot/src/share/vm/shark/sharkValue.hpp Fri Feb 27 04:08:04 2009 -0500
+++ b/ports/hotspot/src/share/vm/shark/sharkValue.hpp Fri Feb 27 14:52:57 2009 +0000
@@ -149,11 +149,17 @@ class SharkValue : public ResourceObj {
public:
static SharkValue* jint_constant(jint value)
{
- return create_jint(LLVMValue::jint_constant(value));
+ SharkValue *result = create_jint(LLVMValue::jint_constant(value));
+ if (value != 0)
+ result->set_zero_checked(true);
+ return result;
}
static SharkValue* jlong_constant(jlong value)
{
- return create_jlong(LLVMValue::jlong_constant(value));
+ SharkValue *result = create_jlong(LLVMValue::jlong_constant(value));
+ if (value != 0)
+ result->set_zero_checked(true);
+ return result;
}
static SharkValue* jfloat_constant(jfloat value)
{
More information about the distro-pkg-dev
mailing list