mstarzinger@chromium.org
d946c31060
Adapt pre-parser heuristics for lazy compilation.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10540120
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 09:10:16 +00:00
danno@chromium.org
4a385fa269
MIPS: Eliminate redundant smi checks
...
Port r11774 (28c45b9b)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10536128
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-13 07:55:53 +00:00
svenpanne@chromium.org
9786db794a
MIPS: Small fix for r11771 (1b74d45b).
...
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
2012-06-13 06:42:30 +00:00
erik.corry@gmail.com
539084c242
Revert r11778 "Activate packed array optimizations by default" due to mjsunit test failures on ARM.
...
TBR=danno
Review URL: https://chromiumcodereview.appspot.com/10550002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 22:34:13 +00:00
svenpanne@chromium.org
1ea5db0ed3
Martyn Capewell <m.m.capewell@googlemail.com>
...
Review URL: https://chromiumcodereview.appspot.com/10451037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 17:26:28 +00:00
mstarzinger@chromium.org
f78c124812
Fix failing assertion in r11782.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10548004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 16:53:15 +00:00
mstarzinger@chromium.org
19ece2bec8
Enable lazy compilation for non-trivial outer contexts.
...
This changes the compiler to be more aggressive about lazy compilation
of closures with non-trivial outer context. Compilation can only be
triggered with a valid outer context now. One exception is the debugger,
which can request compilation of arbitrary shared code, but it ensures
to trigger compilation only at points where no context is needed.
R=ulan@chromium.org
TEST=mjsunit/debug-script-breakpoints-nested
Review URL: https://chromiumcodereview.appspot.com/10538102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:57:50 +00:00
erik.corry@gmail.com
fa072704af
Force inlining of some hot functions (problem reported by Bert Belder).
...
Review URL: https://chromiumcodereview.appspot.com/10546122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:45:08 +00:00
erikcorry
0418b67142
Add negative lookups to polymorphic loads in Crankshaft.
...
Review URL: http://codereview.chromium.org/10539110
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:44:12 +00:00
danno@chromium.org
d20af8417b
Activate packed array optimizations by default
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10546123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:38:57 +00:00
danno@chromium.org
92716a157f
Optimization of some packed array cases.
...
R=jkummerow@chromium.org
TEST=slight improvement in 3d-morph
Review URL: https://chromiumcodereview.appspot.com/10538104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:30:16 +00:00
yangguo@chromium.org
8d07c7ff0d
Disable array bounds checks elimination by default.
...
BUG=132114
TEST=
Review URL: https://chromiumcodereview.appspot.com/10532107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 15:22:21 +00:00
danno@chromium.org
43a1f5e25d
Eliminate redundant smi checks
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10543094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 12:16:19 +00:00
vegorov@chromium.org
06723da272
Fix arm build.
...
TBR=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10543108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 10:30:51 +00:00
vegorov@chromium.org
75ca3e3395
Reimplement dynamic frame alignment for frames that are compiled via OSR or have more than 2 double spill slots.
...
The first spill slot is now reserved on all optimized frames to distinguish frames that were aligned.
Review URL: https://chromiumcodereview.appspot.com/10532066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 10:22:33 +00:00
svenpanne@chromium.org
e6f2eab7f6
Implemented StoreIC for setters.
...
Review URL: https://chromiumcodereview.appspot.com/10534091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 09:32:17 +00:00
svenpanne@chromium.org
075cd7ac5a
Presubmit fix.
...
TBR=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10539102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 06:47:29 +00:00
svenpanne@chromium.org
1212a122b7
MIPS: Remove TLS access for current Zone.
...
Port r11761 (769624bf)
Original commit message:
By passing around a Zone object explicitly we no longer need to do a
TLS access at the sites that allocate memory from the current Zone.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10537108
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 06:43:13 +00:00
yangguo@chromium.org
4b50adaf9a
MIPS: Reland r11753: Fix try..finally.
...
Port r11762 (4fdbdd7a)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10545121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 06:15:59 +00:00
yangguo@chromium.org
aed1f49552
Port r11704 to MIPS.
...
BUG=2174
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/10538080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-12 06:13:14 +00:00
ulan@chromium.org
75a1fa91ef
Reland r11425 "Re-enable optimization for hot functions that have optimization disabled due to many deopts."
...
Fix performance regressions introduced in r11425 by
- counting number of function deoptimizations instead of function optimizations,
- packing several counters into one field of shared function info.
BUG=v8:2040,121196
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10534063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 16:57:27 +00:00
sanjoy@chromium.org
d67e1d4fe9
AssemblerBase does not need remember a Zone. Fix this.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10546095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 16:47:08 +00:00
yangguo@chromium.org
09179b314a
Reland r11753: Fix try..finally.
...
R=ulan@chromium.org
BUG=129171
TEST=test-api/TryFinallyMessage, mjsunit/try-finally-continue.js
Review URL: https://chromiumcodereview.appspot.com/10540095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 13:18:05 +00:00
sanjoy@chromium.org
6125718f37
Remove TLS access for current Zone.
...
By passing around a Zone object explicitly we no longer need to do a
TLS access at the sites that allocate memory from the current Zone.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10534006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 12:42:31 +00:00
erikcorry
e957b2d51b
Fix lint.
...
Review URL: http://codereview.chromium.org/10542100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 12:32:14 +00:00
mmassi@chromium.org
d9f393d1c9
Add guard against self assignment.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10537024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 11:25:10 +00:00
yangguo@chromium.org
e98fb1028b
Revert r11753.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10546092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 11:21:21 +00:00
erikcorry
afc9b8e9a9
Fix optimization of Unicode regexp with ASCII subject to respect repeat counts.
...
bug=131923
Review URL: http://codereview.chromium.org/10544093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 11:18:04 +00:00
yangguo@chromium.org
1b25fb8fa9
Preserve error message during finally block in try..finally.
...
R=ulan@chromium.org
BUG=129171
TEST=test-api/TryFinallyMessage
Review URL: https://chromiumcodereview.appspot.com/10537078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 10:51:09 +00:00
danno@chromium.org
a1d9aca22f
Fix EnsureCanContainElements to properly handle double values.
...
R=jkummerow@chromium.org
BUG=v8:2170
TEST=test/mjsunit/regress/regress-2170.js
Review URL: https://chromiumcodereview.appspot.com/10542084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 08:41:48 +00:00
verwaest@chromium.org
2b574ef580
Promoting elements transitions to their own field.
...
This is a first step towards separating all transitions from the property descriptions. If we link the property descriptions from the transition object, this will in allow the descriptor array (property descriptions) to become immutable.
Review URL: https://chromiumcodereview.appspot.com/10444055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-11 06:59:56 +00:00
ulan@chromium.org
8eb03561ae
Adjust Android heap sizes.
...
This improves performance on heavy pages by increasing
max_executable_size_ and max_old_generation_size_.
There is now no need for an Android specific LUMP_OF_MEMORY.
Review URL: https://chromiumcodereview.appspot.com/10541053
Patch from Ben Murdoch <benm@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 13:21:40 +00:00
danno@chromium.org
4e525b85fc
Optimistically assume that elements IC only transition once.
...
Thanks to Zheng Liu for identifying this issue.
R=jkummerow@chromium.org
BUG=v8:2141
TEST=test/mjsunit/elements-kind.js
Review URL: https://chromiumcodereview.appspot.com/10532063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 13:06:24 +00:00
svenpanne@chromium.org
552cf12522
Make clang/GCMole happy.
...
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
2012-06-08 12:53:20 +00:00
vegorov@chromium.org
d04ba1b2fb
Improve representation inference
...
- Extend HValue interface to allow splitting observed input representation (comming from type feedback) from required input representation (dictated by instruction itself). Currently all instructions except for bitwise binary operations have this representations match. For bitwise binary operations hydrogen builder unconditionaly forces Integer32 representation for those operations that have Double type feedback. Thus causing representation inference to incorrectly count such uses as Integer32 instead of Double. This change also prepares for more fine grained type feedback for inputs of binary operations.
- For phies that are not convertable to Integer32 discard direct and indirect use count of Integer32 type to avoid propagation of these uses to connected phies.
R=jkummerow@chromium.org
BUG=v8:2096
Review URL: https://chromiumcodereview.appspot.com/10540049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 09:21:23 +00:00
svenpanne@chromium.org
128f426e06
Tentative fix for overly clever Mac compiler.
...
TBR=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10543074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-08 09:15:32 +00:00
svenpanne@chromium.org
40dbd13e2e
Added LoadIC stub for getters.
...
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
2012-06-08 08:48:05 +00:00
mstarzinger@chromium.org
81e8aa0016
Implement implicit instance checks for API accessors.
...
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
2012-06-08 07:45:11 +00:00
erik.corry@gmail.com
657422c29a
Use the syntax of a property addition as a hint for controlling the fast-mode vs. dictionary mode heursitics on objects.
...
Review URL: https://chromiumcodereview.appspot.com/10537050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-07 12:08:07 +00:00
mstarzinger@chromium.org
5e8cc58b9f
Fix CompileFullCodeForDebugging to compile closure.
...
This compiles against a given closure instead of the shared function
info, which is a prerequisite for enabling lazy compilation of inner
functions within a closure with non-trivial context.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10543026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 15:21:13 +00:00
svenpanne@chromium.org
089cb3ae50
Unbreak MIPS build after recent zone-related changes
...
Review URL: https://chromiumcodereview.appspot.com/10533022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 11:44:54 +00:00
danno@chromium.org
16e4c29513
Optimize write barrier of map-only elements transitions
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10544005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 11:05:28 +00:00
alexeif@chromium.org
31a0d0257c
Serialize edge counts instead of indexes in heap snapshot.
...
The serialized node structure currently holds an index
of its first containment edge in the edges array.
The index can be quite big (up to 7 digits for large snapshots).
The patch changes the serialization format to pass
node containment edge count instead. For most nodes the count
is just a single digit number.
This reduces serialized snapshot size and therefore its transfer time.
Review URL: https://chromiumcodereview.appspot.com/10534008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 10:57:20 +00:00
erik.corry@gmail.com
911d447b96
Keep track of which maps are associated with prototype objects so we can tune the fast-case vs. hash map heuristics accordingly.
...
This is a reland of r11681 https://chromiumcodereview.appspot.com/10448011 , which was reverted because of layout test failures that were actually caused by the long-standing issue fixed in https://chromiumcodereview.appspot.com/10515006 (r11706).
Review URL: https://chromiumcodereview.appspot.com/10532021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 10:17:26 +00:00
mstarzinger@chromium.org
99e0908cfd
Cleanup Runtime_SetCode and drop EnsureCompiled.
...
This change triggers compilation for a given closure instead of the
shared function info. It will allow for even more cases to be compiled
lazily.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10544025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 09:54:46 +00:00
rossberg@chromium.org
e16a23da9f
Prepare push to trunk. Now working on version 3.11.10.
...
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10542022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 09:26:22 +00:00
yangguo@chromium.org
8728847c2f
Fix assertion in the debug agent.
...
Patch by Chris Taylor <chris@gameclosure.com>.
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10543018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 08:37:34 +00:00
erik.corry@gmail.com
c3e6fab818
Remove CheckNotRegistersEqual regexp-masm function from all architectures. This is a commit of http://codereview.chromium.org/10066009/ for Daniel Kalmar
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-06 07:50:22 +00:00
yangguo@chromium.org
76f4f9efa8
Correctly check length when allocating string.
...
R=jkummerow@chromium.org
BUG=
TEST=regress-regexp-overflow.js
Review URL: https://chromiumcodereview.appspot.com/10538012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 17:41:59 +00:00
rossberg@chromium.org
4ea1fc0d27
Remove one more case behind --es5_readonly flag.
...
Plus add a couple of assertions.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10535011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 16:56:53 +00:00
ulan@chromium.org
eba324f9b1
Revert one line from r11715 because of a test failure on Windows.
...
TEST=mjsunit/harmony/proxies
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10532004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 14:41:01 +00:00
rossberg@chromium.org
9de4261527
MIPS: Implement correct checking for inherited readonliness on assignment.
...
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
2012-06-05 13:47:56 +00:00
ulan@chromium.org
1a80bc33a2
Replace SharedFunctionInfo::EnsureCompiled with JSFunction::CompileLazy where possible.
...
After we get rid of all SharedFunctionInfo::EnsureCompiled calls, it will be possible to remove the HasTrivialOuterContext() condition in Scope::AllowsLazyCompilation.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10542002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 13:15:35 +00:00
rossberg@chromium.org
c13dd2ece6
Put inherited readonliness behind a flag,
...
since it currently breaks WebKit bindings massively.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10535007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 12:39:07 +00:00
verwaest@chromium.org
a85f4e4226
ClearNonLiveTransitions has to hold on to non-map values.
...
This ensures that we don't accidentally throw away getters and/or setters that are still needed. To make sure the bug gets triggered, we have to construct a situation where the map is on the live side of a live->non-live transition. This ensures that the map is passed to ClearNonLiveTransitions.
BUG=v8:2163
TEST=test/mjsunit/regress/regress-2163.js
Review URL: https://chromiumcodereview.appspot.com/10535004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 11:36:57 +00:00
mmassi@chromium.org
bf3a25b337
Transform HGlobalValueNumberer::AnalyzeBlock from recursive into an iteraive loop keeping the traversal state in the zone instead of on the stack.
...
Fixed issue 129536.
BUG=129536
TEST=
Review URL: https://chromiumcodereview.appspot.com/10520004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-05 08:59:39 +00:00
sanjoy@chromium.org
98db16d94f
Progress towards making Zones independent of Isolates and Threads.
...
This CL changes some parts of the code to explicitly pass around a
Zone. Not passing in a zone is okay too (in fact most of v8 still
doesn't), but that may incur a TLS lookup.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10443114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 14:42:58 +00:00
danno@chromium.org
0686fc2531
MIPS: Fix several bugs that cause crashes in soft-float mode.
...
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
2012-06-04 13:56:10 +00:00
erik.corry@gmail.com
0a856e0bd7
Fix bug in __proto__ assignment transition cache where we forget the next enumeration index resulting in wrong iteration order.
...
Review URL: https://chromiumcodereview.appspot.com/10515006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 12:07:46 +00:00
yangguo@chromium.org
1245aaf3bc
Fix deadlock when terminating debugger session.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10479009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 09:01:37 +00:00
yangguo@chromium.org
85e3fba8a3
Remove unnecessary code for non-zero-length global regexps.
...
Also fixing a bug in the arm implementation.
BUG=
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/10383280
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 08:49:17 +00:00
verwaest@chromium.org
98c37e1f4c
Merging ContentArray into DescriptorArray
...
Review URL: https://chromiumcodereview.appspot.com/10412030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-04 07:20:11 +00:00
loislo@chromium.org
463a6ffdd4
Expose last seen heap object id via v8 public api.
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10444137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 16:10:52 +00:00
rossberg@chromium.org
e4b410f88f
STATIC_ASSERT is not available in shared build.
...
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10444136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 12:28:15 +00:00
rossberg@chromium.org
4b583674da
Silence Windows warning.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10449108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 12:10:19 +00:00
rossberg@chromium.org
f6017d36f2
Clean up d8 ArrayBuffer implementation and fix bug in readbuffer:
...
- Separate CreateExternalArrayBuffer function.
- Properly create buffers for arrays constructed with size argument only.
- Finalization of data array is tied to buffer object exclusively.
- Get rid of hidden buffer reference in array objects and size header in data.
- Use 'new' instead of 'malloc' in readbuffer.
- Test cases for additional array and buffer properties.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10459047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 11:46:05 +00:00
erik.corry@gmail.com
ae4fcd9702
Limit work done analyzing regexps with very large fanout.
...
BUG=128821
Review URL: https://chromiumcodereview.appspot.com/10448117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 11:28:52 +00:00
rossberg@chromium.org
d87249945f
Fix merge issue.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10454115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 11:09:09 +00:00
rossberg@chromium.org
e4c472a7af
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.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10388047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 10:51:36 +00:00
verwaest@chromium.org
dd54b0acf7
ClearNonLiveTransitions indepedent of ContentArray
...
Review URL: https://chromiumcodereview.appspot.com/10387231
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-01 09:12:01 +00:00
verwaest@chromium.org
c8a99c221b
Prepare push to trunk. Now working on version 3.11.9.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10447114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-31 13:22:56 +00:00
erikcorry
634ffc9600
Report syntax errors in natives when building with mksnapshot.
...
Review URL: http://codereview.chromium.org/10443085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-31 12:26:36 +00:00
erik.corry@gmail.com
047a7cfee0
Avoid overdeep recursion in regexp where a guarded expression with a
...
minimum repetition count is inside another quantifier.
Bug=129926
Review URL: https://chromiumcodereview.appspot.com/10451092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-31 11:59:04 +00:00
erik.corry@gmail.com
b7b43e9af9
Revert r11681 https://chromiumcodereview.appspot.com/10448011
...
(Keep track of which maps are associated with prototype objects so we can tune the fast-case vs. hash map heuristics accordingly.).
Reverting because the dict-mode to fast case transformation loses the iteration order information.
Review URL: https://chromiumcodereview.appspot.com/10448097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-31 09:27:39 +00:00
verwaest@chromium.org
75f35d3fe1
Decoupling MarkDescriptorArray as much as possible from the ContentArray.
...
Review URL: https://chromiumcodereview.appspot.com/10417030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 15:15:17 +00:00
verwaest@chromium.org
3a2d4c88f4
TraversableMap only dependent on DescriptorArray
...
This is the first step towards merging the ContentArray into the DescriptorArray, (hence reclaiming 3 words per descriptor array).
Review URL: https://chromiumcodereview.appspot.com/10455005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 14:54:00 +00:00
erik.corry@gmail.com
8cf2af4392
Keep track of which maps are associated with prototype objects
...
so we can tune the fast-case vs. hash map heuristics accordingly.
Review URL: https://chromiumcodereview.appspot.com/10448011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 14:40:57 +00:00
rossberg@chromium.org
40cc4062d2
Fix broken change to d8 typed arrays.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10441091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 14:26:34 +00:00
rossberg@chromium.org
716eac2801
Some clean-up of typed array support in d8.
...
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10392130
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 13:35:29 +00:00
mstarzinger@chromium.org
ebe9a0e0b2
Fix missing write barrier in store field stub.
...
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
2012-05-29 16:39:26 +00:00
rossberg@chromium.org
50fdcca1da
Proxies: Fix receiver for setters inherited from proxies.
...
R=mstarzinger@chromium.org
BUG=v8:1543
TEST=
Review URL: https://chromiumcodereview.appspot.com/10451064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 14:00:56 +00:00
rossberg@chromium.org
7a7ea0b547
Proxies: Fix ToStringArray function so that it does not reject some keys.
...
R=mstarzinger@chromium.org
BUG=v8:1543
TEST=
Review URL: https://chromiumcodereview.appspot.com/10453053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 13:57:55 +00:00
svenpanne@chromium.org
e0d4c33e3a
Prepare push to trunk. Now working on version 3.11.8.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10451065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 13:19:43 +00:00
svenpanne@chromium.org
39f88f1b26
Fixed JSObject::SetPropertyForResult (issue 2153)
...
AccessorPairs containing only holes are maps were handled incorrectly.
BUG=v8:2153
TEST=mjsunit/regress/regress-2153.js
Review URL: https://chromiumcodereview.appspot.com/10453054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 12:42:22 +00:00
mstarzinger@chromium.org
f9b8a8fc91
Revert r11665, r11666 and r11667 due to slowness.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10447033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 15:26:52 +00:00
verwaest@chromium.org
502123f912
Fixing debug build, missing parentheses
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10450038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 13:39:07 +00:00
verwaest@chromium.org
1c332bfd2e
Fixing unused Map* in release build
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10442032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 13:21:20 +00:00
verwaest@chromium.org
fd579e3dc8
TraversableMap only dependent on DescriptorArray
...
This is the first step towards merging the ContentArray into the DescriptorArray, (hence reclaiming 3 words per descriptor array).
Review URL: https://chromiumcodereview.appspot.com/10411067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 13:03:34 +00:00
svenpanne@chromium.org
0fa7de11b5
Enable map transitions for accessor properties.
...
To avoid a performance regression for context creation with snapshots, we avoid
creating a useless long map chain for regular expressions, keeping the snapshot
size almost the same as before.
Review URL: https://chromiumcodereview.appspot.com/10440045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 12:32:02 +00:00
yangguo@chromium.org
24a1503d28
Fix creating substring in string.replace(<global regexp>, <function>).
...
BUG=
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/10454032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 10:52:38 +00:00
danno@chromium.org
407e070fe0
Add missing FastElements check.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10451034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 09:58:40 +00:00
yurys@chromium.org
60da267ab6
Clear pending functions list in FuncNameInferrer when it closes
...
BUG=v8:2146
Review URL: https://chromiumcodereview.appspot.com/10414075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 12:41:55 +00:00
yangguo@chromium.org
86c2a15691
messages.js: Get better function names in stack traces.
...
CallSite.getFunctionName() is able to retrieve names for functions better than
getFunction().name. Use it in CallSite.toString().
Code by marja@chromium.org .
BUG=NONE
TEST=stack-traces.js: Added testClassNames.
Review URL: https://chromiumcodereview.appspot.com/10384196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 11:00:05 +00:00
svenpanne@chromium.org
ff216c9cea
Re-land: Use map transitions when defining accessor properties.
...
This is basically r11496, with the following changes:
* Set back pointers in maps (cherry-picked from r11528)
* Fixed size calculation in CopyInsert, as proposed by mstarzinger/rossberg
* DefineFastAccessor uses GetCallbackObject instead of GetValue (for __proto__)
* Put the code under a new flag, which is disabled by default
* Cut down the corresponding regression test
* Adapted bootup memory test, we actually only need a bit more memory on 64bit without snapshots, which can easily explained by more live maps lying around. Note that the snapshot variants are back to their previous limits.
Next steps: Investigate any performance degradationswith the flag enabled, and finally remove the flag when things are OK. Furthermore, GetCallbackObject should be merged into GetValue, the distinction is confusing and error-prone.
Review URL: https://chromiumcodereview.appspot.com/10445009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 10:40:24 +00:00
mmassi@chromium.org
9daf62dfce
Broke line longer than 80 chars.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10451011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:59:21 +00:00
jkummerow@chromium.org
64459021ef
Prepare push to trunk. Now working on version 3.11.7.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10442011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:26:03 +00:00
mmassi@chromium.org
0260303568
MIPS: Array index computation dehoisting.
...
Port r11596 (0cee9fca)
Original commit message:
Array index computation dehoisting.
When an array index (in an array access) is a simple "expression + constant", just embed the constant in the array access operation so that the full index expression is (potentially) no longer used and its live range can be much shorter.
This is effective in conjunction with array bounds check removal (otherwise the index is anyway used in the check).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10442003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:22:29 +00:00
yangguo@chromium.org
3c074eb120
Fix lint check.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10447008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 08:09:21 +00:00
yangguo@chromium.org
ef7524bd29
MIPS: Implement loop for global regexps in regexp assembler.
...
Port r11623 (f153116d)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10436012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 07:29:49 +00:00
danno@chromium.org
17ec52b6cd
Fix build and test failures from packed array optimizations.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10332317
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 21:15:14 +00:00
mstarzinger@chromium.org
7e613579be
Fix RegExp.prototype.toString for incompatible receivers.
...
BUG=v8:1981
TEST=mjsunit/regexp
Review URL: https://chromiumcodereview.appspot.com/10426005
Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 20:48:08 +00:00
danno@chromium.org
9910edbb9a
Implement tracking and optimizations of packed arrays
...
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
2012-05-23 14:24:29 +00:00
mstarzinger@chromium.org
c80dc925f2
Prepare push to trunk. Now working on version 3.11.6.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10411092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 11:58:18 +00:00
mstarzinger@chromium.org
f17833b6ec
Fix presubmit error in r11630.
...
TBR=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/10409091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 11:40:38 +00:00
yangguo@chromium.org
30e7c23afd
Fix argument passing to generated regexp code in Win64.
...
R=erik.corry@gmail.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10417049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 11:36:54 +00:00
mstarzinger@chromium.org
7412d9adbe
Change sentinel value for zapping of old-to-new pointers.
...
R=erik.corry@gmail.com
BUG=v8:2143
Review URL: https://chromiumcodereview.appspot.com/10411089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 11:17:22 +00:00
svenpanne@chromium.org
cae003513b
Fix two call to masm->CallStub on x64: should pass ASTId.
...
Review URL: https://chromiumcodereview.appspot.com/10383278
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 07:41:58 +00:00
yangguo@chromium.org
d70fb0dddc
Fix Win64 build.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10414073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 07:13:10 +00:00
loislo@chromium.org
610ef68f06
Eliminate dominator and retained_size fields. They are calculating on front-end side. See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10416035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 05:27:08 +00:00
yangguo@chromium.org
7ab5dcf4df
Fix stack push order when reserving space for regexp registers on Windows.
...
TBR=erik.corry@gmail.com
BUG=
TEST=test-regexp/MacroAssemblerNativeLotsOfRegisters
Review URL: https://chromiumcodereview.appspot.com/10407095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 15:30:08 +00:00
yangguo@chromium.org
578fc3cc2d
Implement loop for global regexps in regexp assembler.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10386090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 14:05:44 +00:00
yangguo@chromium.org
50063d30c4
Ensure integrity of ASCII strings.
...
BUG=v8:2128
TEST=
Review URL: https://chromiumcodereview.appspot.com/10407090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 12:49:20 +00:00
ulan@chromium.org
367757b794
Prepare push to trunk. Now working on version 3.11.5.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10399122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 09:13:13 +00:00
mmassi@chromium.org
3fad332049
Disable array index dehoisting because of performance regressions on Kraken imaging-desaturate.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10383269
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 16:22:54 +00:00
yangguo@chromium.org
db509d17e6
Handle EINTR in socket functions and continue incomplete sends.
...
Based on a patch by Ben Noordhuis <info@bnoordhuis.nl>.
BUG=v8:2098
TEST=
Review URL: https://chromiumcodereview.appspot.com/10416006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 12:58:48 +00:00
yangguo@chromium.org
0bfedfb584
Make socket send and receive more robust and return 0 on failure.
...
R=jkummerow@chromium.org
BUG=15719
TEST=
Review URL: https://chromiumcodereview.appspot.com/10412021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 10:02:49 +00:00
yangguo@chromium.org
ee17b195a4
Fix GCC 4.7 (C++11) compilation.
...
Original patch by Olivier Goffart <ogoffart@kde.org>.
BUG=v8:2136
TEST=
Review URL: https://chromiumcodereview.appspot.com/10387210
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 09:59:28 +00:00
mmassi@chromium.org
2fd1e1bbc2
Array index computation dehoisting.
...
When an array index (in an array access) is a simple "expression + constant", just embed the constant in the array access operation so that the full index expression is (potentially) no longer used and its live range can be much shorter.
This is effective in conjunction with array bounds check removal (otherwise the index is anyway used in the check).
Review URL: https://chromiumcodereview.appspot.com/10382055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 07:59:50 +00:00
ulan@chromium.org
750e2cda09
Prepare push to trunk. Now working on version 3.11.4.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10413005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 14:06:49 +00:00
ulan@chromium.org
15b796bec8
Disable optimization for functions that have scopes that cannot be reconstructed from the context chain.
...
BUG=v8:2071
TEST=mjsunit/regress/regress-2071.js
Review URL: https://chromiumcodereview.appspot.com/10388164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 13:06:16 +00:00
yangguo@chromium.org
cb06ffab5e
Correctly check for native error objects.
...
BUG=2138
TEST=
Review URL: https://chromiumcodereview.appspot.com/10392158
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 09:45:10 +00:00
erik.corry@gmail.com
3d45e98b5e
Remove %_SwapElements. This inlined runtime contained an optimization that was dangerous in the presence of incremental compaction. It also prevented QuickSort from array.js from being optimized by Crankshaft, so it is probably better to do without it. We have high hopes that this will fix bug=117879.
...
Review URL: https://chromiumcodereview.appspot.com/10392150
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-17 20:53:32 +00:00
peter.rybin@gmail.com
401fbbaef6
Fix issue 825 (LiveEdit vs. function with no locals) for x64.
...
Review URL: https://chromiumcodereview.appspot.com/10387116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 21:15:24 +00:00
yangguo@chromium.org
266c17e5d0
Simplify v8.gyp.
...
Based on http://codereview.chromium.org/10310156
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10398057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 15:48:06 +00:00
yangguo@chromium.org
6c6c7d80e0
Prepare push to trunk. Now working on version 3.11.3.
...
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10332194
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 12:35:01 +00:00
yangguo@chromium.org
ec1fc618ff
Revert r11496.
...
CL being reverted: https://chromiumcodereview.appspot.com/10238005
BUG=128146
TEST=regress-128146
Review URL: https://chromiumcodereview.appspot.com/10386166
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 11:07:54 +00:00
mstarzinger@chromium.org
f9b93e6cc7
Implement map collection for incremental marking.
...
This causes map transitions to be treated weakly during incremental
marking and hence allows clearing of non-live transitions. The marking
code is now shared between incremental and non-incremental mode.
R=vegorov@chromium.org
BUG=v8:1465
TEST=cctest/test-heap/Regress1465
Review URL: https://chromiumcodereview.appspot.com/10310168
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 10:07:50 +00:00
erik.corry@gmail.com
83fbd2b52d
MIPS: Fix simplification of DoLoadNamedFieldPolymorphic. This is a commit of https://chromiumcodereview.appspot.com/10391096/ for Akos Palfi
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 09:07:57 +00:00
mstarzinger@chromium.org
18a5298a6c
Fix CreateEmptyFunction to not share descriptor array.
...
R=ulan@chromium.org
BUG=v8:1465
Review URL: https://chromiumcodereview.appspot.com/10388158
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 07:52:41 +00:00
danno@chromium.org
7966fb3d8c
Always transition empty FAST_DOUBLE_ARRAYs on push
...
R=mstarzinger@chromium.org
BUG=chromium:128018
TEST=test/mjsunit/regress/regress-128018.js
Review URL: https://chromiumcodereview.appspot.com/10387130
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 16:17:53 +00:00
mstarzinger@chromium.org
4a7c70de23
Add zapping of Map contents in debug mode.
...
This zaps the contents of stale descriptor arrays and prototype
transition arrays before overwriting references to them. It should help
to discover accidental sharing early and is needed for the heap verifier
when map collection with incremental marking lands.
R=ulan@chromium.org
BUG=v8:1465
Review URL: https://chromiumcodereview.appspot.com/10383186
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 15:45:38 +00:00
yangguo@chromium.org
5d34345c96
messages.js: Add toString to CallSite (which describes a frame of the stack trace).
...
This is useful for users who overwrite Error.prepareStackTrace but want to use
this functionality for formatting the individual frames.
BUG=NONE
TEST=NONE
Review URL: https://chromiumcodereview.appspot.com/10388140
Review URL: https://chromiumcodereview.appspot.com/10332172
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 12:24:44 +00:00
yangguo@chromium.org
5cec8ad1e8
Prepare push to trunk. Now working on version 3.11.2.
...
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10389144
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 12:13:18 +00:00
mstarzinger@chromium.org
88a9350f14
Revert r11556 and r11558 to allow roll.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10383182
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 12:01:23 +00:00
rossberg@chromium.org
1016c4a285
Add a readbuffer function to d8, that reads a file into an ArrayBuffer.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10388140
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 11:00:30 +00:00
erik.corry@gmail.com
37ef03758f
Add a little more post morten debug info for the minidump.
...
Review URL: https://chromiumcodereview.appspot.com/10387127
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:54:54 +00:00
yangguo@chromium.org
ea7c5a23a3
Fix freebsd build.
...
BUG=2126
TEST=
Review URL: https://chromiumcodereview.appspot.com/10381149
Patch from Geoffrey Garside <ggarside@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:21:49 +00:00
rossberg@chromium.org
01dac9a99d
Improve typed arrays support in d8.
...
Add properties buffer, byteLength, and byteOffset to typed arrays.
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10389140
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:21:18 +00:00
ulan@chromium.org
bd1070b6ad
Fix ucontext structure for Android on x86
...
Review URL: https://chromiumcodereview.appspot.com/10310116
Patch from Lijuan Xiao <lijuan.xiao@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:19:00 +00:00
rossberg@chromium.org
a662a25469
Revert flag change for global semantics.
...
(Still breaks a couple of WebKit tests.)
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10381147
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:01:06 +00:00
mstarzinger@chromium.org
0c54a2371c
Implement map collection for incremental marking.
...
This causes map transitions to be treated weakly during incremental
marking and hence allows clearing of non-live transitions. The marking
code is now shared between incremental and non-incremental mode.
R=vegorov@chromium.org
BUG=v8:1465
TEST=cctest/test-heap/Regress1465
Review URL: https://chromiumcodereview.appspot.com/10386046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 08:39:25 +00:00
alexeif@chromium.org
e74b8c0952
Serialize heap snapshot data as an array of unsigned values.
...
None of the values can in fact be negative, while object IDs
can have the highest bit set which lead to negative values appear
in the snapshot that front-end is unable to parse.
Review URL: https://chromiumcodereview.appspot.com/10356143
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-12 16:41:13 +00:00
jkummerow@chromium.org
3f748cf5da
Prepare push to trunk. Now working on version 3.11.1.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10389094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 14:57:47 +00:00
erik.corry@gmail.com
423451aed7
Simplify DoLoadNamedFieldPolymorphic
...
Review URL: https://chromiumcodereview.appspot.com/10386089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 09:13:02 +00:00
erik.corry@gmail.com
f8bdbf1ce1
Fix compose-discard crasher from 11524 - port to x64, ARM, MIPS.
...
This is now bug 2123.
TBR=mstarzinger
Review URL: https://chromiumcodereview.appspot.com/10391061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 21:25:49 +00:00
erik.corry@gmail.com
50ecb6f011
Fix compose-discard crasher from 11524. We can't do a call (to a generic
...
stub) unless there is a pointer map. This does not fix the 3d-raytrace
regression, that will be in another change.
Review URL: https://chromiumcodereview.appspot.com/10382102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 20:34:06 +00:00
alexeif@chromium.org
7bf37bc6c6
Set object tags directly to the entry name in heap profiler.
...
Review URL: https://chromiumcodereview.appspot.com/10382106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 15:55:19 +00:00
rossberg@chromium.org
102de8e2ca
Activate new global semantics by default.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10383085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 10:35:42 +00:00
alexeif@chromium.org
4e3c3a9577
Merge SetObjectNames extra pass into the main pass.
...
Because heap snapshotting is now performed in a single pass
it is safe to make calls to GetConstructorName and further to
LocalLookupRealNamedProperty right within that main pass.
Review URL: https://chromiumcodereview.appspot.com/10332087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 09:17:32 +00:00
alexeif@chromium.org
f1ff027d3a
Fix formatting.
...
TBR=mnaganov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10356075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 15:49:03 +00:00
danno@chromium.org
159ee25bbf
Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when transitioning.
...
R=jkummerow@chromium.org
BUG=chromium:117409
TEST=test/mjsunit/regress/regress-117409.js
Review URL: https://chromiumcodereview.appspot.com/10386045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 15:18:50 +00:00
fschneider@chromium.org
51b569bd21
Declare more functions returing a MaybeObject* with MUST_USE_RESULT.
...
No violations found this time.
Additionally I changed one function JSDate::GetField that never returns
a failure to return a Object* instead.
Review URL: https://chromiumcodereview.appspot.com/10383088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 14:34:27 +00:00
alexeif@chromium.org
132af25697
Split nodes and edges into separate arrays in heap profiler.
...
This allowed the following changes:
- heap profiler now makes one pass less over the heap.
- HeapEntriesMap does not allocate EntryInfo per each entry.
- there's no need for an extra pass to set indexes before serialization.
As a result snapshot taking time has reduced up to 2x times.
Review URL: https://chromiumcodereview.appspot.com/10353010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 14:34:13 +00:00
fschneider@chromium.org
b28f403cfa
Force checking of result on all functions in elements.h that return MaybeObject*.
...
Add two missing failure checks found by this.
Review URL: https://chromiumcodereview.appspot.com/10356071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 12:49:56 +00:00
rossberg@chromium.org
9f04d73350
Make Error.prototype.name writable again, as required by the spec and the web.
...
Address http://code.google.com/p/chromium/issues/detail?id=69187 by instead
ignoring getters on ReferenceError.prototype.name in Error.prototype.toString.
And while we're at it, do the same for SyntaxError and TypeError, and the
properties "message", "type", and "arguments" on all of them, which
potentially have similar issues.
R=danno@chromium.org
BUG=69187
TEST=
Review URL: https://chromiumcodereview.appspot.com/10234004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 12:35:11 +00:00
mstarzinger@chromium.org
526b3f2cac
Implement explicit back pointers in transition tree.
...
This makes back pointers in the map transition tree explicit by having
accurate back pointers throughout the lifetime of maps instead of
establishing and destroying back pointers before and after each marking
phase. This is a prerequisite for being able to clear map transitions
during incremental marking.
R=vegorov@chromium.org
BUG=v8:1465
Review URL: https://chromiumcodereview.appspot.com/10381053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 07:29:18 +00:00
yangguo@chromium.org
13e4b7d881
Force inlining CopyChars and String::Get.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10332054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-08 12:38:24 +00:00
erik.corry@gmail.com
9889994c08
Fix function sorter from 11482 with correct fix. The sorter
...
was reverted from trunk 3.10.8.1, with this change we can
repush it.
Review URL: https://chromiumcodereview.appspot.com/10377043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-08 12:30:36 +00:00
erik.corry@gmail.com
681f2951c6
Regexp: Fix overflow in min-match-length calculation. Crbug=126412.
...
Review URL: https://chromiumcodereview.appspot.com/10384053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-08 12:18:08 +00:00
erik.corry@gmail.com
29c48e1076
Make DeltaBlue performance more stable by ignoring type feedback that
...
tells us that a map can transition to another map when we are generating
code for load operations. This may cause us to deopt if the same routine
is seeing different maps caused by branching in constructors. If so, I
have a different change that is around 100 times more complicated that
lets us generated Crankshaft code for negative lookups.
Review URL: https://chromiumcodereview.appspot.com/10306010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-08 09:22:58 +00:00
yangguo@chromium.org
2cb65b13be
MIPS: Fixed illegal instruction use on Loongson in code for Math.random().
...
BUG=v8:2115
TEST=mjsunit/string-case,mjsunit/regress/regress-110509,mjsunit/math-floor
Review URL: https://chromiumcodereview.appspot.com/10383044
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-07 17:31:14 +00:00
erik.corry@gmail.com
80256c7452
Fix crash bug in VisitChoice (bug=126272).
...
Review URL: https://chromiumcodereview.appspot.com/10332035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-07 13:23:56 +00:00
jkummerow@chromium.org
63263a9aa9
Fix unsigned-Smi check in MappedArgumentsLookup
...
BUG=126414
TEST=mjsunit/regress/regress-crbug-126414
Review URL: https://chromiumcodereview.appspot.com/10375033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-07 10:05:39 +00:00
yangguo@chromium.org
718ec5eb64
Handle negative number in Math.floor,ia32,non-SSE4.1 code path.
...
Zheng Liu
zheng.z.liu@intel.com
Review URL: https://chromiumcodereview.appspot.com/10168001
Patch from Zheng Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 15:50:43 +00:00
yangguo@chromium.org
05c195bd96
Intercept a crash, put debug information onto the stack and then abort gracefully.
...
BUG=125128
TEST=
Review URL: https://chromiumcodereview.appspot.com/10375009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 13:20:41 +00:00
ulan@chromium.org
ae0a7ec93a
Use correct size of promoted space for setting promotion and allocation limits.
...
Review URL: https://chromiumcodereview.appspot.com/10376008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 09:36:46 +00:00
mstarzinger@chromium.org
11d24334fc
Implement ClearFunctionTypeFeedback for test cases.
...
R=danno@chromium.org
TEST=mjsunit/compiler/inline-construct
Review URL: https://chromiumcodereview.appspot.com/10332010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 09:16:38 +00:00
danno@chromium.org
9f75aa3d7b
MIPS: ARM: Ensure reload of elements pointer in StoreFastDoubleElement stub
...
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
2012-05-04 09:07:22 +00:00
mstarzinger@chromium.org
a5a5f26ebb
MIPS: Fix register clobbering in LoadIC for interceptors.
...
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
2012-05-04 08:34:59 +00:00
mstarzinger@chromium.org
6531771c71
MIPS: Implement clearing of CompareICs.
...
Port r11491 (705d40cc)
Original commit message:
Implement clearing of CompareICs.
This allows CompareICs to be cleared during garbage collection to avoid
cross-context garbage retention through maps stored in CompareIC stubs
for the KNOWN_OBJECTS state.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10342024
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 07:53:11 +00:00
peter.rybin@gmail.com
a33c883008
Fix warning on Win64
...
Review URL: https://chromiumcodereview.appspot.com/10372003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 22:19:12 +00:00
peter.rybin@gmail.com
1719a1499a
Fix issue 825 (LiveEdit vs. function with no locals) in core and for ia32.
...
Review URL: https://chromiumcodereview.appspot.com/10263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 17:31:34 +00:00
danno@chromium.org
e443c69b8d
MIPS: Reduce size of LIR instruction by one word and remove dead code.
...
Port r11454 (72c662fc)
Original commit message:
Reduce size of LIR instruction by one word and remove dead code.
Until now we always recorded two deoptimization environments for instructions
that are marked as calls. We actually don't need two for all LIR
instructions except one (LInstanceOfKnownGlobal) where there is a lazy
deoptimization point in deferred code.
This change remove on of them and uses one virtual function instead
to make LInstanceOfKnownGlobal work as before.
Additionally, this change removes an unused predicate save_doubles_ from LIR
instructions and removes some helper functions that are used only in one place.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10233019
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 15:13:04 +00:00
erik.corry@gmail.com
f54484aff4
Fix assert in function sorter.
...
Review URL: https://chromiumcodereview.appspot.com/10364002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 14:09:26 +00:00
svenpanne@chromium.org
065cc14449
Use map transitions when defining accessor properties.
...
AccessorPairs can now contain map transitions, which is similar to our current
handling of CONSTANT_FUNCTION/CONSTANT_TRANSITION, but generalized to a pair for
holding info about the getter and the setter. This way we can achieve map
sharing for objects with accessor properties, which is a prerequisite for making
them fast via inlining. We fall back to the previous way of handling accessor
properties when sharing is not possible or we don't handle a special case.
Note: When an exisiting accessor property is redefined we could in principle
move the AccessorPair out of the descriptor into the object itself (again just
like the way we do something similar for CONSTANT_FUNCTION/CONSTANT_TRANSITION),
but this would require a new property kind for holding a pair of values. Perhaps
we can implement this later, but for now this hopefully rare case is handled
like before, losing map sharing and potentially creating more maps than strictly
necessary.
Review URL: https://chromiumcodereview.appspot.com/10238005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 12:41:40 +00:00
mstarzinger@chromium.org
d965561862
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.
R=vegorov@chromium.org
BUG=chromium:125988
TEST=cctest/test-api/Regress125988
Review URL: https://chromiumcodereview.appspot.com/10358010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 11:28:24 +00:00
mstarzinger@chromium.org
c810016e77
Implement clearing of CompareICs.
...
This allows CompareICs to be cleared during garbage collection to avoid
cross-context garbage retention through maps stored in CompareIC stubs
for the KNOWN_OBJECTS state.
R=vegorov@chromium.org
BUG=v8:2102
Review URL: https://chromiumcodereview.appspot.com/10263008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 10:54:17 +00:00
danno@chromium.org
7f5920dc94
Prepare push to trunk. Now working on version 3.11.0.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10354006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 09:02:57 +00:00
erik.corry@gmail.com
baf7ebd6da
Fix assert triggered in fast/regex/pcre-test-4.html We were not filtering out
...
all the nodes that had non-ASCII characters. That has been fixed, but because
of the protection against over-deep recursion when filtering it is wrong to
assert that all nodes were filtered. This change therefore also makes sure we
can cope with non-filtered nodes by adding back some code removed in
https://chromiumcodereview.appspot.com/10174017/
Review URL: https://chromiumcodereview.appspot.com/10358008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 08:22:12 +00:00
danno@chromium.org
eb05917323
ARM: Ensure reload of elements pointer in StoreFastDoubleElement stub
...
R=mstarzinger@chromium.org
TEST=test/mjsunit/regress/regress-125515.js
BUG=chromium:125515
Review URL: https://chromiumcodereview.appspot.com/10298010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 07:09:17 +00:00
erik.corry@gmail.com
cb8df6e624
Sort functions when doing megamorphic dispatch/inlining so their
...
order does not depend on the hash seed.
Review URL: https://chromiumcodereview.appspot.com/10270032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 13:07:31 +00:00
erik.corry@gmail.com
bd3c2c028f
Enable code flushing even when objects were marked incrementally,
...
since the incremental visitor is setting the gc_age fields correctly.
This means the ResetSharedFunctionInfoCountersDuringIncrementalMarking
test passes even if it hits a marking stack overflow.
Review URL: https://chromiumcodereview.appspot.com/10258001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 12:58:40 +00:00
yangguo@chromium.org
ce8f4df9b2
Small patch to save one jump instruction and one label bind in JSEntryStub.
...
BUG=v8:2105
TEST=
Review URL: https://chromiumcodereview.appspot.com/10249003
Patch from Zhongping Wang <kewpie.w.zp@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 12:13:39 +00:00
danno@chromium.org
908e77a53a
Ensure reload of elements pointer in StoreFastDoubleElement stub.
...
R=mstarzinger@chromium.org
TEST=test/mjsunit/regress/regress-125515.js
BUG=chromium:125515
Review URL: https://chromiumcodereview.appspot.com/10260014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 09:58:42 +00:00
mstarzinger@chromium.org
2c64592065
MIPS: Fix LFastLiteral to check boilerplate elements kind.
...
Port r11470 (621f96c0)
Original commit message:
Fix LFastLiteral to check boilerplate elements kind.
Adds a missing check that the elements kind of the boilerplate object
still has the expected elements kind, unoptimized code can transition
the boilerplate. Corner cases might cause the optimized code to be
reentered again.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10271018
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 07:51:03 +00:00
jkummerow@chromium.org
0133965d1b
Fix mistakes in r11472
...
TBR=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10274008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 17:06:13 +00:00
jkummerow@chromium.org
f6dacfe83a
Fixed corner cases in truncation behavior when storing to TypedArrays.
...
Also simplified ia32 KeyedStoreStubCompiler::GenerateStoreExternalArray a bit.
BUG=v8:2110
TEST=mjsunit/regress/regress-2110
Review URL: https://chromiumcodereview.appspot.com/10260011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 15:17:59 +00:00
vegorov@chromium.org
49989753ea
Don't ignore return value of CommitCodePage in AllocateAlignedMemory.
...
Release the mapping as whole if commit failed to avoid leaking virtual address space.
R=mstarzinger@chromium.org
BUG=chromium:118625
Review URL: https://chromiumcodereview.appspot.com/10260012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 15:02:43 +00:00
mstarzinger@chromium.org
b54ca31fb2
Fix LFastLiteral to check boilerplate elements kind.
...
Adds a missing check that the elements kind of the boilerplate object
still has the expected elements kind, unoptimized code can transition
the boilerplate. Corner cases might cause the optimized code to be
reentered again.
R=danno@chromium.org
TEST=mjsunit/regress/regress-fast-literal-transition
Review URL: https://chromiumcodereview.appspot.com/10254006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 14:59:13 +00:00
ulan@chromium.org
bc46d6c4a4
Make sure idle notifications perform a round of incremental GCs after context disposal.
...
BUG=v8:2107
Review URL: https://chromiumcodereview.appspot.com/10209026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 14:41:12 +00:00
svenpanne@chromium.org
6aceff1fa9
Fixed preparser for try statement. Tiny cleanup.
...
BUG=v8:2109
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10270007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 13:04:08 +00:00
danno@chromium.org
a1fe6f3b58
Prepare push to trunk. Now working on version 3.10.8.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10268006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 12:32:11 +00:00
ulan@chromium.org
8768af54b6
Revert r11425 because of V8 benchmark performance regression.
...
Original CL: https://chromiumcodereview.appspot.com/10202007 "Re-enable optimization for hot functions that have optimization disabled due to many deopts."
Review URL: https://chromiumcodereview.appspot.com/10265008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 11:54:34 +00:00
jkummerow@chromium.org
347d28f282
One more register change missing from r11460.
...
Also re-enable disabled test (reverts r11461).
BUG=v8:2108
TEST=mozilla tests pass
Review URL: https://chromiumcodereview.appspot.com/10178039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 08:53:48 +00:00
jkummerow@chromium.org
28bf8bfc4b
ia32: Redefine register usage in LoadIC/KeyedLoadIC to match StoreIC and KeyedStoreIC
...
Review URL: https://chromiumcodereview.appspot.com/10254005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-27 13:05:45 +00:00
yangguo@chromium.org
03e8d039ca
MIPS: Removed unused variables.
...
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
2012-04-27 12:57:01 +00:00
peter.rybin@gmail.com
569eba39f5
Issue 2081: Expose function's (closure's) inner context in debugger.
...
This is against the correct branch (bleeding_edge).
Review URL: https://chromiumcodereview.appspot.com/10171003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 20:16:53 +00:00
mstarzinger@chromium.org
94e5a8dfcd
Print compare-state with --print-code-stubs.
...
R=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10235006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 16:19:14 +00:00
erik.corry@gmail.com
292e007cf3
Remove more assumptions from debug tests. Even though a function
...
is optimized, does not mean all frames on the stack are optimized.
Also, when we ask for the list of scripts we may get more or less
depending on GC timing. Also fixed a presubmit error and made
%GetOptimizationStatus a little more honest.
Review URL: https://chromiumcodereview.appspot.com/10234007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 13:44:18 +00:00
fschneider@chromium.org
f46906d7a8
Reduce size of LIR instruction by one word and remove dead code.
...
Until now we always recorded two deoptimization environments for instructions
that are marked as calls. We actually don't need two for all LIR
instructions except one (LInstanceOfKnownGlobal) where there is a lazy
deoptimization point in deferred code.
This change remove on of them and uses one virtual function instead
to make LInstanceOfKnownGlobal work as before.
Additionally, this change removes an unused predicate save_doubles_ from LIR
instructions and removes some helper functions that are used only in one place.
Review URL: https://chromiumcodereview.appspot.com/10035021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 12:43:00 +00:00