[multiple changes]
2007-01-24 Andrew Haley <aph@redhat.com> * jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC. 2007-01-22 Andrew Haley <aph@redhat.com> * builtins.c (VMSupportsCS8_builtin): New function. From-SVN: r121118
This commit is contained in:
parent
9e4515539b
commit
c863b570e4
@ -1,3 +1,12 @@
|
||||
2007-01-24 Andrew Haley <aph@redhat.com>
|
||||
|
||||
* jcf-parse.c (HANDLE_SYNTHETIC_ATTRIBUTE): current_class is a
|
||||
type node, not a decl, so use TYPE_SYNTHETIC not CLASS_SYNTHETIC.
|
||||
|
||||
2007-01-22 Andrew Haley <aph@redhat.com>
|
||||
|
||||
* builtins.c (VMSupportsCS8_builtin): New function.
|
||||
|
||||
2007-01-23 Andrew Pinski <pinskia@gmail.com>
|
||||
|
||||
PR java/30454
|
||||
|
@ -54,7 +54,7 @@ static tree compareAndSwapLong_builtin (tree, tree);
|
||||
static tree compareAndSwapObject_builtin (tree, tree);
|
||||
static tree putVolatile_builtin (tree, tree);
|
||||
static tree getVolatile_builtin (tree, tree);
|
||||
|
||||
static tree VMSupportsCS8_builtin (tree, tree);
|
||||
|
||||
|
||||
/* Functions of this type are used to inline a given call. Such a
|
||||
@ -121,6 +121,8 @@ static GTY(()) struct builtin_record java_builtins[] =
|
||||
{ { "sun.misc.Unsafe" }, { "getIntVolatile" }, getVolatile_builtin, 0},
|
||||
{ { "sun.misc.Unsafe" }, { "getLongVolatile" }, getVolatile_builtin, 0},
|
||||
{ { "sun.misc.Unsafe" }, { "getLong" }, getVolatile_builtin, 0},
|
||||
{ { "java.util.concurrent.atomic.AtomicLong" }, { "VMSupportsCS8" },
|
||||
VMSupportsCS8_builtin, 0},
|
||||
{ { NULL }, { NULL }, NULL, END_BUILTINS }
|
||||
};
|
||||
|
||||
@ -432,7 +434,20 @@ getVolatile_builtin (tree method_return_type ATTRIBUTE_UNUSED,
|
||||
|
||||
return stmt;
|
||||
}
|
||||
|
||||
|
||||
static tree
|
||||
VMSupportsCS8_builtin (tree method_return_type,
|
||||
tree method_arguments ATTRIBUTE_UNUSED)
|
||||
{
|
||||
enum machine_mode mode = TYPE_MODE (long_type_node);
|
||||
gcc_assert (method_return_type == boolean_type_node);
|
||||
if (sync_compare_and_swap_cc[mode] != CODE_FOR_nothing
|
||||
|| sync_compare_and_swap[mode] != CODE_FOR_nothing)
|
||||
return boolean_true_node;
|
||||
else
|
||||
return boolean_false_node;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#define BUILTIN_NOTHROW 1
|
||||
|
@ -975,7 +975,7 @@ handle_signature_attribute (int member_index, JCF *jcf,
|
||||
else if (current_field) \
|
||||
FIELD_SYNTHETIC (current_field) = 1; \
|
||||
else \
|
||||
CLASS_SYNTHETIC (current_class) = 1; \
|
||||
TYPE_SYNTHETIC (current_class) = 1; \
|
||||
}
|
||||
|
||||
#define HANDLE_GCJCOMPILED_ATTRIBUTE() \
|
||||
|
Loading…
Reference in New Issue
Block a user