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

Side by Side Diff: src/trusted/validator/x86/ncval_seg_sfi/ncdecode.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
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 * ncdecode.h - table driven decoder for Native Client. 8 * ncdecode.h - table driven decoder for Native Client.
9 * 9 *
10 * This header file contains type declarations and constants 10 * This header file contains type declarations and constants
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 struct NCDecoderState* dstate; 178 struct NCDecoderState* dstate;
179 /* Corresopnding index of this instruction wrt to inst_buffer in 179 /* Corresopnding index of this instruction wrt to inst_buffer in
180 * in the corresponding decoder state NCDecoderState. 180 * in the corresponding decoder state NCDecoderState.
181 */ 181 */
182 size_t inst_index; 182 size_t inst_index;
183 /* The number of instructions parsed so far (including this instrruction). 183 /* The number of instructions parsed so far (including this instrruction).
184 * Used to detect when one tries to get a previous instruction that doesn't 184 * Used to detect when one tries to get a previous instruction that doesn't
185 * exist. 185 * exist.
186 */ 186 */
187 size_t inst_count; 187 size_t inst_count;
188 /* True if the instruction is unchanged while dynamically replacing code.
189 * False if the instruction has changed or if code replacement is not being
190 * performed (i.e. normal validation.)
191 */
192 Bool unchanged;
188 } NCDecoderInst; 193 } NCDecoderInst;
189 194
190 /* Given a (decoded) instruction, return the instruction that appeared 195 /* Given a (decoded) instruction, return the instruction that appeared
191 * n elements before it, or NULL if no such instruction exists. 196 * n elements before it, or NULL if no such instruction exists.
192 * 197 *
193 * Parameters: 198 * Parameters:
194 * dinst - The instruction to look up relative to. 199 * dinst - The instruction to look up relative to.
195 * n - number of elements back to look. 200 * n - number of elements back to look.
196 */ 201 */
197 extern NCDecoderInst *PreviousInst(const NCDecoderInst* dinst, int n); 202 extern NCDecoderInst *PreviousInst(const NCDecoderInst* dinst, int n);
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 * Destruct a decoder state pair. 394 * Destruct a decoder state pair.
390 * 395 *
391 * Note: Destructors of subclasses of NCDecoderStatePair should 396 * Note: Destructors of subclasses of NCDecoderStatePair should
392 * call this distructor last, after the subinstance has been destructed. 397 * call this distructor last, after the subinstance has been destructed.
393 */ 398 */
394 extern void NCDecoderStatePairDestruct(NCDecoderStatePair* tthis); 399 extern void NCDecoderStatePairDestruct(NCDecoderStatePair* tthis);
395 400
396 EXTERN_C_END 401 EXTERN_C_END
397 402
398 #endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_SEG_SFI_NCDECODE_H_ */ 403 #endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_NCVAL_SEG_SFI_NCDECODE_H_ */
OLDNEW
« no previous file with comments | « src/trusted/validator/x86/ncval_reg_sfi/ncvalidate_iter.c ('k') | src/trusted/validator/x86/ncval_seg_sfi/ncdecode.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698