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

Side by Side Diff: src/ia32/macro-assembler-ia32.h

Issue 10170030: Implement tracking and optimizations of packed arrays (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: ia32 ready to go Created 8 years, 7 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 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 void LoadTransitionedArrayMapConditional( 228 void LoadTransitionedArrayMapConditional(
229 ElementsKind expected_kind, 229 ElementsKind expected_kind,
230 ElementsKind transitioned_kind, 230 ElementsKind transitioned_kind,
231 Register map_in_out, 231 Register map_in_out,
232 Register scratch, 232 Register scratch,
233 Label* no_map_match); 233 Label* no_map_match);
234 234
235 // Load the initial map for new Arrays from a JSFunction. 235 // Load the initial map for new Arrays from a JSFunction.
236 void LoadInitialArrayMap(Register function_in, 236 void LoadInitialArrayMap(Register function_in,
237 Register scratch, 237 Register scratch,
238 Register map_out); 238 Register map_out,
239 bool can_have_holes);
239 240
240 // Load the global function with the given index. 241 // Load the global function with the given index.
241 void LoadGlobalFunction(int index, Register function); 242 void LoadGlobalFunction(int index, Register function);
242 243
243 // Load the initial map from the global function. The registers 244 // Load the initial map from the global function. The registers
244 // function and map can be the same. 245 // function and map can be the same.
245 void LoadGlobalFunctionInitialMap(Register function, Register map); 246 void LoadGlobalFunctionInitialMap(Register function, Register map);
246 247
247 // Push and pop the registers that can hold pointers. 248 // Push and pop the registers that can hold pointers.
248 void PushSafepointRegisters() { pushad(); } 249 void PushSafepointRegisters() { pushad(); }
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after
969 } \ 970 } \
970 masm-> 971 masm->
971 #else 972 #else
972 #define ACCESS_MASM(masm) masm-> 973 #define ACCESS_MASM(masm) masm->
973 #endif 974 #endif
974 975
975 976
976 } } // namespace v8::internal 977 } } // namespace v8::internal
977 978
978 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ 979 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698