Go to file
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
benchmarks Add Navier-Stokes benchmark. 2012-02-14 15:07:15 +00:00
build Fix common.gypi after r11032 2012-03-13 18:03:00 +00:00
include New class for Date objects: caches individual date components. 2012-03-09 11:11:55 +00:00
preparser Prevent segfault when preparser fails due to lack of argument. 2012-02-22 10:31:32 +00:00
samples Fix presubmit errors caused by updated depot tools 2011-09-08 19:57:14 +00:00
src Ensure that generated code for object literals will call Runtime_DefineOrRedefineAccessorProperty only once per accessor property. 2012-03-15 07:13:46 +00:00
test Fix wrapping of receiver for non-strict callbacks. 2012-03-14 17:42:19 +00:00
tools Fix passing of shard options in test wrapper. 2012-03-14 14:52:52 +00:00
.gitignore Fix .gitignore for test data directories. 2012-02-20 13:17:20 +00:00
AUTHORS Allow the ZWJ and ZWNJ characters in IdentifierPart as per ES5. 2012-02-23 08:15:45 +00:00
ChangeLog Prepare push to trunk. Now working on version 3.9.20. 2012-03-14 11:08:06 +00:00
LICENSE Update LICENSE file 2012-01-03 16:38:42 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
Makefile Fix compile with debuggersupport=off. 2012-03-07 10:57:36 +00:00
SConstruct MIPS: Added support for Loongson architectures. 2012-03-13 16:18:30 +00:00