Beispiel #1
0
 ScopedPtrHolder&
 operator= (ScopedPtrHolder const& ref)
   {
     must_be_null (*this);
     must_be_null (ref);
     return *this;
   }
Beispiel #2
0
 friend void
 transfer_control (ScopedPtrHolder& from, ScopedPtrHolder& to)
 {
   if (!from) return;
   TRACE (test, "transfer_control<ScopedPtrHolder>... from=%p to=%p",&from, &to);
   must_be_null (to);
   to.swap(from);
 }
Beispiel #3
0
void Value::materialize() {
  GUARANTEE(is_immediate(), "value must be immediate");
  GUARANTEE(type() != T_OBJECT || must_be_null(), "object immediate is already materialized");

  Value result(type());
  result.assign_register();
  Compiler::code_generator()->move(result, *this);
  result.copy(*this);
}
Beispiel #4
0
 void set_has_known_min_length(int length)    {
    GUARANTEE(!must_be_null(), "Can't be both null and nonnull");
    _flags = (jubyte) (_flags | (F_MUST_BE_NONNULL | F_HAS_KNOWN_MIN_LENGTH));
    _length = length;
 }
Beispiel #5
0
 void set_must_be_nonnull(void)    {
   GUARANTEE(type() == T_OBJECT || type() == T_ARRAY, "object type");
   GUARANTEE(!must_be_null(), "Can't be both null and nonnull");
  _flags = (jubyte) (_flags | F_MUST_BE_NONNULL);
 }
Beispiel #6
0
 ScopedPtrHolder (ScopedPtrHolder const& ref)
   : _Parent(must_be_null (ref))
   { }