- 08 Nov, 2012 1 commit
-
-
mstarzinger@chromium.org authored
This fixes a corner case when the instance prototype of a function is changed while inobject slack tracking is still in progress. This caused the intial map to be unrelated for functions with the same shared info and hence the shared construct stub is no longer generic enough to work for all those functions. R=danno@chromium.org BUG=chromium:157019 TEST=mjsunit/regress/regress-crbug-157019 Review URL: https://codereview.chromium.org/11293059 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Oct, 2012 1 commit
-
-
danno@chromium.org authored
Port r12623 (22002351) BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10979066 Patch from Akos Palfi <palfia@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Sep, 2012 1 commit
-
-
svenpanne@chromium.org authored
It is necessary to explicitly handle the internal frame lying between the caller of the getter and the getter itself in the deoptimizer: When the getter is inlined, leaving the internal frame restores the correct context. BUG=http://crbug/134609 TEST=mjsunit/regress/regress-crbug-134609 Review URL: https://chromiumcodereview.appspot.com/10910110 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Aug, 2012 1 commit
-
-
svenpanne@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10873057 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Aug, 2012 3 commits
-
-
rossberg@chromium.org authored
in preparation for global lexical scope. R=mstarzinger@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10832365 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Highlights of this CL: * Introduced a new opcode in the deoptimizer for a setter stub frame. * Added a global setter stub for returning after deoptimizing a setter. * We do not need special deopt support for getters, although the getter stub creates an internal frame. The normal machinery works just right for this case, although we generate a stack that can never occur during normal fullcode execution. If this hurts us one day, we can parameterize and reuse the setter deopt machinery. Review URL: https://chromiumcodereview.appspot.com/10855098 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
in anticipation of the upcoming lexical global scope. Mostly automatised as: for FILE in `egrep -ril "global[ _]?context" src test/cctest` do echo $FILE sed "s/Global context/Native context/g" <$FILE >$FILE.0 sed "s/global context/native context/g" <$FILE.0 >$FILE.1 sed "s/global_context/native_context/g" <$FILE.1 >$FILE.2 sed "s/GLOBAL_CONTEXT/NATIVE_CONTEXT/g" <$FILE.2 >$FILE.3 sed "s/GlobalContext/NativeContext/g" <$FILE.3 >$FILE rm $FILE.[0-9] done R=mstarzinger@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10832342 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Aug, 2012 1 commit
-
-
mstarzinger@chromium.org authored
Port r12311 (f698ddd7) Original commit message: This fixes the positive lookup performed by these LoadICs, to use the holder instead of the receiver to perfrom the lookup on. It also extends this improvement to KeyedLoadICs. And it fixes a bug introduced for the JavaScript getter case of a LoadIC. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10823326 Patch from Akos Palfi <palfia@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Aug, 2012 1 commit
-
-
erik.corry@gmail.com authored
MIPS: Improve load IC so it can call a native accessor even if the holder is in dictionary mode. Add a flag to all maps to indicate whether they are used for dictionary (normalized) objects or fast mode objects. This is a commit of https://chromiumcodereview.appspot.com/10826213/ for palfia. This is a port of r12264, https://chromiumcodereview.appspot.com/10831153 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jul, 2012 1 commit
-
-
svenpanne@chromium.org authored
Made stub compiler function signatures a bit more consistent on the way. Review URL: https://chromiumcodereview.appspot.com/10735003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jun, 2012 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10656018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jun, 2012 1 commit
-
-
verwaest@chromium.org authored
- Ensure that IsFound() is only used when not in combination with other checks. To do so, the default type is NONEXISTENT rather than NORMAL; and NotFound() also resets the type to NONEXISTENT. - Use test methods rather than .type() == A_PROPERTY_TYPE. Review URL: https://chromiumcodereview.appspot.com/10626004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jun, 2012 1 commit
-
-
svenpanne@chromium.org authored
TEST=mjsunit/object-define-property.js BUG= Review URL: https://chromiumcodereview.appspot.com/10535138 Patch from Akos Palfi <palfia@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jun, 2012 1 commit
-
-
svenpanne@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10534091 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Jun, 2012 3 commits
-
-
svenpanne@chromium.org authored
TBR=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/10532065 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Removed some dead constants on the way. Review URL: https://chromiumcodereview.appspot.com/10515008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This allows to specify a constructor against which an implicit instance check is performed for API accessors. If the receiver is incompatible, an implicit TypeError is thrown and no callback is invoked. R=svenpanne@chromium.org BUG=v8:2075 TEST=cctest/test-api/InstanceCheckOn[*] Review URL: https://chromiumcodereview.appspot.com/10442129 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jun, 2012 1 commit
-
-
rossberg@chromium.org authored
Port r11694 (29aa05e9) Original commit message: Implement correct checking for inherited readonliness on assignment. Removes 6 out of 8 of our remaining unintentional failures on test262. Also fixes treatment of inherited setters added after the fact. Specifically: - In the runtime, when looking for setter callbacks in the prototype chain, also look for read-only properties. If one is found, reject (exception in strict mode). If a proxy is found, invoke proper trap. Note: this folds in the CanPut function from the spec and avoids an extra lookup over the prototype chain. - In generated code for stores, insert a test for the maps from the prototype chain, but only up to the object where the property already exists (which may be the object itself). In Hydrogen, if the found property is read-only or not cacheable (e.g. a proxy), bail out; in a stub, generate an unconditional miss (to get an exception in strict mode). - Add test cases and adapt existing test expectations. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10539004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jun, 2012 1 commit
-
-
danno@chromium.org authored
TEST=cctest/RobustSubStringStub,cctest/test-api/Threading,cctest/test-api/ExternalFloatArray,cctest/test-api/ExternalDoubleArray,mjsunit/external-array,mjsunit/unicodelctest BUG= Review URL: https://chromiumcodereview.appspot.com/10446003 Patch from Akos Palfi <palfia@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 May, 2012 1 commit
-
-
mstarzinger@chromium.org authored
R=vegorov@chromium.org BUG=v8:2143,v8:1465,chromium:129355 TEST=cctest/test-heap/Regress2143 Review URL: https://chromiumcodereview.appspot.com/10443052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2012 1 commit
-
-
danno@chromium.org authored
R=jkummerow@chromium.org TEST=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/10170030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 May, 2012 2 commits
-
-
danno@chromium.org authored
Port r11483 (c291e80e) BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10348016 Patch from Akos Palfi <palfia@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
Port r11492 (d14ada19) Original commit message: Fix register clobbering in LoadIC for interceptors. This fixes a corner-case where the receiver register was clobbered by LoadICs for interceptors and inlined followup code still relied on the receiver to be intact in case of prototype changes. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10315016 Patch from Akos Palfi <palfia@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Apr, 2012 1 commit
-
-
yangguo@chromium.org authored
These were found by compilation errors with gcc 4.6. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10253004 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Apr, 2012 2 commits
-
-
mstarzinger@chromium.org authored
Port r11306 (36b58f7). Original commit message: This passes the isolate through to API callback functions so that it is available through AccessorInfo and Arguments. This allows bindings to avoid unnecessary TLS lookups to retrieve the current isolate. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10083001 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Port r11282 (bd2ab07). Patch by Daniel Kalmar. Original commit message: Some GWT compiled code results in array access that has a heap number (e.g. -0) as an index. Until now this would result in a generic IC. For example: a[-0] === a[0] or a[0.25 * 4] === a[1] This change detects heap numbers that are representable as a smi and converts them. As a result we can still use the fast keyed monomorphic ICs. Optimized code already handles keyed access with a double-key efficiently. As a result the frame rate on the reported benchmark improves by roughly 2x. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10068012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Apr, 2012 1 commit
-
-
jkummerow@chromium.org authored
R=danno@chromium.org BUG=122271 TEST=mjsunit/regress/regress-crbug-122271 Review URL: https://chromiumcodereview.appspot.com/10038010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Apr, 2012 1 commit
-
-
erik.corry@gmail.com authored
Review URL: https://chromiumcodereview.appspot.com/9963051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Mar, 2012 1 commit
-
-
danno@chromium.org authored
List of changes: -added a minor optimization to the Simulator that quickly skips nops in the delay slot -slightly re-worked CEntryStub to save a few instructions CEntryStub now expects the following values: -s0: number of arguments including receiver -s1: size of arguments excluding receiver -s2: pointer to builtin function Two new MacroAssembler functions were added to make usage more convenient: -PrepareCEntryArgs(int num_args) to set up s0 and s1 -PrepareCEntryFunction(const ExternalReference&) to set up s2 -removed branch delay slot nops from the most frequently used code areas -reorganized some code to execute fewer instructions -utilized the delay slot of most Ret instructions This does not cover all Rets, only the most obvious cases. Also added a special version of DropAndRet that utilizes the delay slot. -added some comments to code areas where explanation of the register/delay slot usage may be needed -added an optimization to Jump so it doesn't always pre-load the target register BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9699071 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Mar, 2012 2 commits
-
-
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
-
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
-
- 01 Mar, 2012 1 commit
-
-
erik.corry@gmail.com authored
MIPS: Fix secondary stub cache and add a test for the stub cache lookups. This is a commit of https://chromiumcodereview.appspot.com/9566004 for Daniel Kalmar git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Feb, 2012 1 commit
-
-
danno@chromium.org authored
Port r10673 (18d3af5). Original commit message: Supports growing non-COW JSArray by a single element if the backing store has room, and initial allocation of a backing store for the store to index zero of an empty array to kPreallocatedArrayElements elements (e.g. the [] array literal). BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9378005 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Feb, 2012 1 commit
-
-
yangguo@chromium.org authored
Port r10648 (818a1aa). BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9372022 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Jan, 2012 1 commit
-
-
svenpanne@chromium.org authored
Yak shaving for map sharing with accessor properties contd.: When CALLBACKS can have map transitions, simply looking at the property type is not sufficient anymore to decide if a property is there or not. One has to look at the actual contents of the descriptor entry then, but this breaks down sometimes when the lookup is being done with a NULL holder. Luckily enough, we can oftren replace IsProperty by the simpler IsFound, because we inspect the type immediately afterwards, anyway. Review URL: https://chromiumcodereview.appspot.com/9280007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jan, 2012 2 commits
-
-
danno@chromium.org authored
Port r10356 (69da81). Original commit message: Loosen the requirement for Map equivalency on several map checks, including checks up the prototype chain, that are not sensitive to ElementsKinds. These selected map checks should also match against FAST_DOUBLE_ELEMENT and FAST_ELEMENT transitions of the original map. This specifically helps all variants of transitioned JSArrays to still efficiently call builtins like push, pop and sort. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9265007 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
for call-sites with mismatched number of arguments. Port r10424 (92a05c9c). Original commit message: Adjust InvokeFunction to avoid generating dead code when number when arity mismatch is detected in compile time. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9150026 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jan, 2012 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/9231009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jan, 2012 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/9139051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Dec, 2011 1 commit
-
-
fschneider@chromium.org authored
Port r10174 (a410586). BUG= TEST= Review URL: http://codereview.chromium.org/8821024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-