Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: src/trusted/validator/x86/decoder/nc_inst_state_internal.h

Issue 9328024: Merge 7712 - Ensure super instructions are marked during dynamic code modification. (Closed) Base URL: svn://svn.chromium.org/native_client/branches/963/src/native_client/
Patch Set: '' Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/trusted/validator/x86/decoder/nc_inst_state_statics.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2011 The Native Client Authors. All rights reserved. 2 * Copyright (c) 2011 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 */ 5 */
6 6
7 /* 7 /*
8 * Internal implementation of the state associated with matching instructions. 8 * Internal implementation of the state associated with matching instructions.
9 */ 9 */
10 10
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 * Note: One can assume that two instructions use the same modeled 95 * Note: One can assume that two instructions use the same modeled
96 * NaClInst iff the pointers are equals. 96 * NaClInst iff the pointers are equals.
97 */ 97 */
98 const NaClInst* inst; 98 const NaClInst* inst;
99 /* The corresponding expression tree denoted by the matched instruction. */ 99 /* The corresponding expression tree denoted by the matched instruction. */
100 NaClExpVector nodes; 100 NaClExpVector nodes;
101 /* Transient pointer, which is defined each time an instruction is decoded. 101 /* Transient pointer, which is defined each time an instruction is decoded.
102 * It defines the decoder tables to use to decode the instruction. 102 * It defines the decoder tables to use to decode the instruction.
103 */ 103 */
104 struct NaClDecodeTables* decoder_tables; 104 struct NaClDecodeTables* decoder_tables;
105 /* True if the instruction is unchanged while dynamically replacing code.
106 * False if the instruction has changed or if code replacement is not being
107 * performed (i.e. normal validation.)
108 */
109 Bool unchanged;
105 }; 110 };
106 111
107 /* Model of an instruction iterator. */ 112 /* Model of an instruction iterator. */
108 struct NaClInstIter { 113 struct NaClInstIter {
109 /* Defines the decoder table to use to decode the instruction. */ 114 /* Defines the decoder table to use to decode the instruction. */
110 struct NaClDecodeTables* decoder_tables; 115 struct NaClDecodeTables* decoder_tables;
111 /* Defines the segment to process */ 116 /* Defines the segment to process */
112 struct NaClSegment* segment; 117 struct NaClSegment* segment;
113 /* Defines the remaining memory to iterate over. */ 118 /* Defines the remaining memory to iterate over. */
114 NCRemainingMemory memory; 119 NCRemainingMemory memory;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 161
157 /* Returns the (undecoded) instruction state of the iterator. Should only 162 /* Returns the (undecoded) instruction state of the iterator. Should only
158 * be used for testing. 163 * be used for testing.
159 */ 164 */
160 165
161 struct NaClInstState* NaClInstIterGetUndecodedState(struct NaClInstIter* iter); 166 struct NaClInstState* NaClInstIterGetUndecodedState(struct NaClInstIter* iter);
162 167
163 EXTERN_C_END 168 EXTERN_C_END
164 169
165 #endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NC_INST_STATE_INTERNA L_H_ */ 170 #endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NC_INST_STATE_INTERNA L_H_ */
OLDNEW
« no previous file with comments | « no previous file | src/trusted/validator/x86/decoder/nc_inst_state_statics.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698