v8/src/ia32
svenpanne@chromium.org c644c4e811 Ensure that generated code for object literals will call Runtime_DefineOrRedefineAccessorProperty only once per accessor property.
To do this, we collect all accessor properties in a first pass and emit code for
defining those properties afterwards in a second pass.

As a finger exercise, the table used for collecting accessors has a (subset of
an) STL-like iterator interface, including STL-like names and operators.
Although C++ is quite verbose here (as usual, but partly this is caused by our
current slightly clumsy classes/templates), things work out quite nicely and it
cleans up some confusion, e.g. a table entry is not an iterator etc.
Everything compiles into very efficient code, e.g. the loop condition 'it !=
accessor_table.end()' compiles into a single 'testl' instruction on ia32.
+1 for using standard APIs!

Review URL: https://chromiumcodereview.appspot.com/9691040

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-03-15 07:13:46 +00:00
..
assembler-ia32-inl.h Include what you use for allocation, api, assembler, and ast. 2012-01-25 16:31:25 +00:00
assembler-ia32.cc Ensure using byte registers for byte instructions on ia32 and x64. 2012-02-16 12:48:02 +00:00
assembler-ia32.h Landing for pliard@chromium.org: Remove static initializers in v8. 2012-03-12 13:56:56 +00:00
builtins-ia32.cc Implement inlining of constructor calls. 2012-02-28 09:05:55 +00:00
code-stubs-ia32.cc Landing for pliard@chromium.org: Remove static initializers in v8. 2012-03-12 13:56:56 +00:00
code-stubs-ia32.h Reland r10908 (Ensure consistent result of transcendental function0.) 2012-03-05 08:17:16 +00:00
codegen-ia32.cc Ensure consistency of Math.sqrt on Intel platforms. 2012-03-12 14:56:04 +00:00
codegen-ia32.h Porting r10023 and r10054 to x64 (pointer cache for external strings). 2011-11-24 10:16:39 +00:00
cpu-ia32.cc Cosmetic changes ("set up" is a verb, "setup" is a noun). 2012-01-13 13:09:52 +00:00
debug-ia32.cc Fix and adapt debugger for new call target caches. 2012-01-27 16:09:20 +00:00
deoptimizer-ia32.cc Profiler experiments: merge self-optimization code into interrupt-at-exit 2012-03-09 16:23:06 +00:00
disasm-ia32.cc Fix lint 2011-12-02 10:05:20 +00:00
frames-ia32.cc Enhance SafeStackFrameIterator to avoid triggering assertions in debug mode. 2010-09-16 08:23:34 +00:00
frames-ia32.h Support inlining at call-sites with mismatched number of arguments. 2012-01-24 08:43:12 +00:00
full-codegen-ia32.cc Ensure that generated code for object literals will call Runtime_DefineOrRedefineAccessorProperty only once per accessor property. 2012-03-15 07:13:46 +00:00
ic-ia32.cc Fix crash when using --smi-only-arrays and --trace-elements-transitions 2012-02-14 08:38:03 +00:00
lithium-codegen-ia32.cc Inline functions that use arguments object in f.apply(o, arguments) pattern. 2012-03-12 12:49:41 +00:00
lithium-codegen-ia32.h Inline Math.random in crankshaft (ia32). 2012-03-06 11:31:51 +00:00
lithium-gap-resolver-ia32.cc Avoid embedding new space objects into code objects in the lithium gap resolver. 2011-12-23 10:39:01 +00:00
lithium-gap-resolver-ia32.h Move LOperand class to lithium.h and move implementations out of .h into .cc files. 2011-01-19 13:55:56 +00:00
lithium-ia32.cc Inline functions that use arguments object in f.apply(o, arguments) pattern. 2012-03-12 12:49:41 +00:00
lithium-ia32.h Inline functions that use arguments object in f.apply(o, arguments) pattern. 2012-03-12 12:49:41 +00:00
macro-assembler-ia32.cc Support fast case for-in in Crankshaft. 2012-02-22 12:47:42 +00:00
macro-assembler-ia32.h Support fast case for-in in Crankshaft. 2012-02-22 12:47:42 +00:00
regexp-macro-assembler-ia32.cc Fix input and output to handle UTF16 surrogate pairs. 2012-03-12 12:35:28 +00:00
regexp-macro-assembler-ia32.h Drastically reduce the transitive dependencies of jsregexp.h, making it (almost) 2011-07-11 09:12:17 +00:00
simulator-ia32.cc Move backend specific files to separate directories. 2009-04-23 12:06:38 +00:00
simulator-ia32.h This implements per-isolate locking and unlocking, including tests 2011-05-05 18:55:31 +00:00
stub-cache-ia32.cc Ensure there is a smi check of the receiver for global load and call ICs. 2012-03-13 11:39:30 +00:00