equal
deleted
inserted
replaced
32 StackValue(intptr_t value) { |
32 StackValue(intptr_t value) { |
33 _type = T_INT; |
33 _type = T_INT; |
34 _i = value; |
34 _i = value; |
35 } |
35 } |
36 |
36 |
37 StackValue(Handle value) { |
37 StackValue(Handle value, intptr_t scalar_replaced = 0) { |
38 _type = T_OBJECT; |
38 _type = T_OBJECT; |
|
39 _i = scalar_replaced; |
39 _o = value; |
40 _o = value; |
|
41 assert(_i == 0 || _o.is_null(), "not null object should not be marked as scalar replaced"); |
40 } |
42 } |
41 |
43 |
42 StackValue() { |
44 StackValue() { |
43 _type = T_CONFLICT; |
45 _type = T_CONFLICT; |
44 _i = 0; |
46 _i = 0; |
52 } |
54 } |
53 |
55 |
54 Handle get_obj() const { |
56 Handle get_obj() const { |
55 assert(type() == T_OBJECT, "type check"); |
57 assert(type() == T_OBJECT, "type check"); |
56 return _o; |
58 return _o; |
|
59 } |
|
60 |
|
61 bool obj_is_scalar_replaced() const { |
|
62 assert(type() == T_OBJECT, "type check"); |
|
63 return _i != 0; |
57 } |
64 } |
58 |
65 |
59 void set_obj(Handle value) { |
66 void set_obj(Handle value) { |
60 assert(type() == T_OBJECT, "type check"); |
67 assert(type() == T_OBJECT, "type check"); |
61 _o = value; |
68 _o = value; |