- 15 Mar, 2012 1 commit
-
-
svenpanne@chromium.org authored
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
-
- 14 Mar, 2012 11 commits
-
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org BUG=v8:1973 TEST=mjsunit/regress/regress-1973 Review URL: https://chromiumcodereview.appspot.com/9705020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=ulan@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9706025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9702026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/9702022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org Review URL: https://chromiumcodereview.appspot.com/9699023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG=115452 TEST=mjsunit/regress/regress-115452 Review URL: https://chromiumcodereview.appspot.com/9696035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
R=vegorov@chromium.org Review URL: https://chromiumcodereview.appspot.com/9695002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
For DIV with uninitialized result assume double result representation. R=fschneider@chromium.org Review URL: https://chromiumcodereview.appspot.com/9664070 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/9703018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/9699016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
When prepending a '-' to the function name, the function will not be optimized. --hydrogen-filter=foo works as before. --hydrogen-filter=-foo means don't optimize foo. Review URL: https://chromiumcodereview.appspot.com/9691042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Mar, 2012 13 commits
-
-
jkummerow@chromium.org authored
TBR=yangguo@chromium.org TEST=Win Reliability Builder stops complaining Review URL: https://chromiumcodereview.appspot.com/9693052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9695053 Patch from Bert Belder <bertbelder@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9692048 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/9689062 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9694041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexeif@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9695046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
We do not know if we are going to need it and creating it lazyly might cause us to insert it at the block that does not dominate all uses. R=mstarzinger@chromium.org TEST=mjsunit/compiler/inline-arguments.js Review URL: https://chromiumcodereview.appspot.com/9692046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This uses the type feedback already present for computed value stores into object literals to generate optimized stores in Crankshaft, thus avoiding unnecessary generic stores with side effects. R=svenpanne@chromium.org Review URL: https://chromiumcodereview.appspot.com/9692036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
There was a comment that, for such ICs specialized to the global object, they were always contextual loads. This is very brittle. It is a micro-optimization that relies too much on the way that things happen to work today. Instead, never omit the smi check because it's safer. R=vegorov@chromium.org BUG=117794 TEST=regress-117794.js Review URL: https://chromiumcodereview.appspot.com/9691038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Also included: simplify String.slice. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9694033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
R=yangguo@chromium.org Review URL: https://chromiumcodereview.appspot.com/9693037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/9694032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=svenpanne@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9696030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2012 15 commits
-
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9662064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9664067 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: https://chromiumcodereview.appspot.com/9690019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST=regress-sqrt.js Review URL: https://chromiumcodereview.appspot.com/9690010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9666055 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
This change includes two CLs by pliard@chromium.org: 1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation): Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted). This CL was initially reviewed on codereview.appspot.com: http://codereview.appspot.com/5687064/ 2. http://codereview.chromium.org/9455088/ (Remove static initializers in v8): This CL depends on CL 9447052 (adding CallOnce and LazyInstance). It is based on a patch sent by Digit. With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL. This CL also modifies the presubmit script to check the number of static initializers. BUG=v8:1859 Review URL: https://chromiumcodereview.appspot.com/9666052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
int32_t on Windows). Review URL: https://chromiumcodereview.appspot.com/9669051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Support arguments materialization after deoptimization in all frames (not only in topmost one). R=fschneider@chromium.org Review URL: https://chromiumcodereview.appspot.com/9643001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: https://chromiumcodereview.appspot.com/9600009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org Review URL: https://chromiumcodereview.appspot.com/9662056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
This is necessary in order to link v8_shell (for host) with the Android toolchain. Without it, the line in the makefile is: $(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_snapshot.a $(obj).host/v8/tools/gyp/libv8_base.a Now it appears as: $(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_base.a $(obj).host/v8/tools/gyp/libv8_snapshot.a and it successfully links. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9668013 Patch from Yaron Friedman <yfriedman@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
This changes the heuristic that starts incremental marking to be based on a more accurate heap size estimation. Pages being swept lazily can be accounted using the live bytes counter. R=mstarzinger@chromium.org BUG=v8:1682 Review URL: https://chromiumcodereview.appspot.com/9674001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
Port r10981 (5ea074), r10982 (5f0d413) and r10983 (663a897d5). BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9668045 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Port r10988 (c6c9ebb5). Original commit message: Inline inequality compares of strings into CompareICStub instead of jumping into the CompareStub that handles the generic case. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9669026 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=jkummerow@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9690004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-