Lines Matching full:origin
11 // Origin id utils.
23 // Origin handling.
25 // Origin is a 32-bit identifier that is attached to any taint value in the
28 // Chained origin id is like:
31 // Chained origin id describes an event of storing a taint value to
36 // * prev_id is another origin id that describes the earlier part of the
42 // marked with origin ids, and edges are events that are marked with stack_id.
44 // The "zzzz" bits of chained origin id are used to store the length of the
45 // origin chain.
47 class Origin {
53 bool isChainedOrigin() const { return Origin::isValidId(raw_id_); } in isChainedOrigin()
56 CHECK(Origin::isValidId(raw_id_)); in getChainedId()
60 // Returns the next origin in the chain and the current stack trace.
62 // It scans a partition of StackDepot linearly, and is used only by origin
64 Origin getNextChainedOrigin(StackTrace *stack) const { in getNextChainedOrigin()
65 CHECK(Origin::isValidId(raw_id_)); in getNextChainedOrigin()
70 return Origin(prev_id); in getNextChainedOrigin()
73 static Origin CreateChainedOrigin(Origin prev, StackTrace *stack) { in CreateChainedOrigin()
101 return Origin((depth << kDepthShift) | chained_id); in CreateChainedOrigin()
104 static Origin FromRawId(u32 id) { return Origin(id); } in FromRawId()
114 explicit Origin(u32 raw_id) : raw_id_(raw_id) {} in Origin() function