stack_operations.py (6475:951199885fd8) stack_operations.py (6476:adbd07f1630d)
1# Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# Redistribution and use of this software in source and binary forms,
5# with or without modification, are permitted provided that the
6# following conditions are met:
7#
8# The software must be used only for Non-Commercial Use which means any

--- 148 unchanged lines hidden (view full) ---

157};
158
159def macroop ENTER_I_I {
160 .adjust_env oszIn64Override
161 # This needs to check all the addresses it writes to before it actually
162 # writes any values.
163
164 # Pull the different components out of the immediate
1# Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# Redistribution and use of this software in source and binary forms,
5# with or without modification, are permitted provided that the
6# following conditions are met:
7#
8# The software must be used only for Non-Commercial Use which means any

--- 148 unchanged lines hidden (view full) ---

157};
158
159def macroop ENTER_I_I {
160 .adjust_env oszIn64Override
161 # This needs to check all the addresses it writes to before it actually
162 # writes any values.
163
164 # Pull the different components out of the immediate
165 limm t1, imm
165 limm t1, imm, dataSize=8
166 zexti t2, t1, 15, dataSize=8
166 zexti t2, t1, 15, dataSize=8
167 srli t1, t1, 16
167 srli t1, t1, 16, dataSize=8
168 zexti t1, t1, 5, dataSize=8
169 # t1 is now the masked nesting level, and t2 is the amount of storage.
170
171 # Push rbp.
172 stupd rbp, ss, [1, t0, rsp], "-env.dataSize"
173
174 # Save the stack pointer for later
175 mov t6, t6, rsp

--- 28 unchanged lines hidden ---
168 zexti t1, t1, 5, dataSize=8
169 # t1 is now the masked nesting level, and t2 is the amount of storage.
170
171 # Push rbp.
172 stupd rbp, ss, [1, t0, rsp], "-env.dataSize"
173
174 # Save the stack pointer for later
175 mov t6, t6, rsp

--- 28 unchanged lines hidden ---