yangguo@chromium.org
99a58e36ad
Correctly throw reference error in strict mode with ICs disabled.
...
R=jkummerow@chromium.org
BUG=v8:2119
TEST=regress/regress-2119.js
Review URL: https://chromiumcodereview.appspot.com/10659011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 13:28:11 +00:00
verwaest@chromium.org
68c944c265
In-place shrinking of descriptor arrays with non-live transitions.
...
Instead of overwriting non-live transitions with NULL_DESCRIPTORs, we remove them from the array by compacting the array (shifting live values to the left) and in-place trimming the array. If the final descriptor array contains no live values (only contained transitions which are now all cleared), we move bit_field3 back from the descriptor array to the map. The descriptor array itself will be collected in the next GC.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10575032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 13:10:54 +00:00
ulan@chromium.org
390580e49f
Use correct size of objects in PrintShortHeapStatistics.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10579041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 12:51:03 +00:00
verwaest@chromium.org
41560e9f5f
Separate stub types from property types.
...
Review URL: https://chromiumcodereview.appspot.com/10656018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 11:35:23 +00:00
ulan@chromium.org
3c58dab2b2
Prepare push to trunk. Now working on version 3.12.4.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10668019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 09:45:51 +00:00
ulan@chromium.org
781484365b
Revert r11835 'Unify promotion and allocation limit computation' due to V8 Splay performance regression on Mac.
...
R=mstarzinger@chromium.org
BUG=134183
Review URL: https://chromiumcodereview.appspot.com/10664013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 09:14:47 +00:00
yangguo@chromium.org
32a6a29cc8
Skip LiveEdit test on ARM.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10665021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 08:18:09 +00:00
peter.rybin@gmail.com
83973a0a2e
Correctly support several consecutive stack modifications.
...
Review URL: https://chromiumcodereview.appspot.com/10637003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 20:50:03 +00:00
mstarzinger@chromium.org
84b866b2d9
Fix sharing of literal boilerplates for optimized code.
...
This makes sure the literal boilerplates array is correctly shared
together with optimized code when caching of optimized code is enabled.
It also enabled said caching by default again.
R=ulan@chromium.org
BUG=v8:2193
TEST=mjsunit/regress/regress-2193
Review URL: https://chromiumcodereview.appspot.com/10649008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 13:55:15 +00:00
yangguo@chromium.org
e3888b2e57
Prepare push to trunk. Now working on version 3.12.3.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10633027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 13:44:02 +00:00
jkummerow@chromium.org
9ce4133017
Make near-jump check more strict in LoadNamedFieldPolymorphic on ia32/x64
...
BUG=134055
TEST=mjsunit/regress/regress-crbug-134055
Review URL: https://chromiumcodereview.appspot.com/10630027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 13:38:39 +00:00
yangguo@chromium.org
9a0069b639
Skip test for optimized code sharing if flag is disabled by default.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10642019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 12:47:11 +00:00
yangguo@chromium.org
a28c919c7b
Disable --cache-optimized-code by default.
...
R=mstarzinger@chromium.org
BUG=v8:2193
TEST=
Review URL: https://chromiumcodereview.appspot.com/10626015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 12:21:18 +00:00
mstarzinger@chromium.org
776493ab42
Fix lazy sweeping heuristics to prevent old-space expansion.
...
This is a temporary fix to prevent excessive expansion of old-space
caused by inaccuracies in lazy sweeper advancing. We actually don't
intend to sweep any pages eagerly, but that requires further changes
to lazy sweeping.
R=ulan@chromium.org ,erik.corry@gmail.com
BUG=v8:2194
Review URL: https://chromiumcodereview.appspot.com/10640002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 11:47:30 +00:00
yangguo@chromium.org
47be3e8231
Fix lint.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10640018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 10:11:19 +00:00
yangguo@chromium.org
16c775ea81
Actually put debug information on stack when aborting.
...
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10627015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 09:36:39 +00:00
mstarzinger@chromium.org
6cf640ab6c
Adapt fragmentation heuristics for over reserved pages.
...
This adapts the heuristics that detect fragmented pages to reduce memory
footprint for spaces with over reserved memory. This minimizes external
fragmentation caused by pages that cannot be released to the OS because
of just a few live objects on them.
R=erik.corry@gmail.com
TEST=cctest/test-heap/ReleaseOverReservedPages
Review URL: https://chromiumcodereview.appspot.com/10629004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 09:29:49 +00:00
ulan@chromium.org
3372b08cb0
Adjust idle notification handler to do full GC at the end of idle round in order to compact code space.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10639002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 08:33:43 +00:00
verwaest@chromium.org
1cff0c498e
Cleaning up usage of lookup results.
...
- 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
2012-06-21 15:32:52 +00:00
mstarzinger@chromium.org
3e0e042e4a
Add unit test for r11818.
...
R=rossberg@chromium.org
TEST=cctest/test-decls/ExistsInHiddenPrototype
Review URL: https://chromiumcodereview.appspot.com/10628002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-21 11:31:30 +00:00
yangguo@chromium.org
030ac76b9d
Prepare push to trunk. Now working on version 3.12.2.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10634002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-21 11:15:57 +00:00
mstarzinger@chromium.org
d3d59e71e9
Revert r11834 because of broken Chromium unit test.
...
R=yangguo@chromium.org
BUG=v8:2166
Review URL: https://chromiumcodereview.appspot.com/10630003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-21 11:10:53 +00:00
ulan@chromium.org
9006c1b223
In test-api.cc a few calls to Heap::CollectAllGarbage use obsolete argument.
...
The assertion failure I ran into is in Regress1516, where collector falls back to SCAVENGER, during x64.debug.check run.
Zheng Liu
zheng.z.liu@intel.com
Review URL: https://chromiumcodereview.appspot.com/10536199
Patch from Zheng Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 16:07:30 +00:00
yangguo@chromium.org
41113d7301
Fix Windows build.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10578039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 14:22:32 +00:00
yangguo@chromium.org
e4f4aad2d1
x86/x64 port of Math.floor(x/y) to use integer division for specific divisor.
...
Only handles when x is int32 and y is int32 constant.
BUG=v8:2038
Currently implemented by imul (not fpmul).
x86 and x64 algorithm differs a bit.
x86 implementation is kind of cumbersome, but I couldn't think of better ways.
Review URL: https://chromiumcodereview.appspot.com/10382033
Patch from Zheng Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 14:08:03 +00:00
erik.corry@gmail.com
d31ed98428
Fix GC bug with missing handle. Bug=133618
...
Review URL: https://chromiumcodereview.appspot.com/10559083
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 13:40:10 +00:00
sanjoy@chromium.org
dce8dccd88
Remove unused variable.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10559082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 13:32:18 +00:00
erik.corry@gmail.com
423e5b8906
Make a test run faster that is timing out on the ARM simulator.
...
Review URL: https://chromiumcodereview.appspot.com/10577032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 13:31:07 +00:00
yangguo@chromium.org
dfbd734b5a
Prepare push to trunk. Now working on version 3.12.1.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10584027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 11:25:08 +00:00
sanjoy@chromium.org
6fef6e451c
Unbreak bleeding_edge by getting the Parser to work with a CompilationInfo instead of a Handle<Script> and a Zone. This should have been fixed in the initial patch itself but escaped my attention.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10583031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 10:56:53 +00:00
sanjoy@chromium.org
9e4fbb45c1
One Zone per CompilationInfo.
...
The CompilationInfo record now saves a Zone, and the compiler pipeline
allocates memory from the Zone in the CompilationInfo. Before
compiling a function, we create a Zone on the stack and save a pointer
to that Zone to the CompilationInfo; which then gets picked up and
allocated from.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10534139
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 08:58:41 +00:00
erik.corry@gmail.com
000519013f
Remove unused variable in mksnapshot.cc.
...
Review URL: https://chromiumcodereview.appspot.com/10559078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 08:14:31 +00:00
erikcorry
f4f9e2c1e0
Quicksort: Choose pivot with recursive sort of pivot candidates on large arrays to avoid patholgical cases.
...
Review URL: http://codereview.chromium.org/10532193
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-20 07:52:47 +00:00
erikcorry
f96f439150
Add missing cast to make MSVC happier.
...
Review URL: http://codereview.chromium.org/10592003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 19:37:33 +00:00
erikcorry
458e87fd05
Snapshots: Add --extra-code flag to mksnapshot which lets you specify a file
...
with more JS code that is loaded into the VM before writing the snapshot. Get
rid of the hard coded limit on the partial snapshot cache size. This change
disables most of the serializer tests for the snapshot build of the VM: It's
getting too complicated to support both booting from a snapshot and then
creating a new snapshot from the same VM or loading more code with another
snapshot in the same VM.
Review URL: http://codereview.chromium.org/10574013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 18:38:03 +00:00
mstarzinger@chromium.org
edc231e2a9
Fix return values for Harmony map and set operations.
...
R=rossberg@chromium.org
BUG=chromium:132741,chromium:132742
TEST=mjsunit/harmony/collections
Review URL: https://chromiumcodereview.appspot.com/10573011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 15:23:03 +00:00
mstarzinger@chromium.org
a760b82cab
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.
This relands r11782, r11783, r11790 and a minor fix.
R=ulan@chromium.org
TEST=mjsunit/debug-script-breakpoints-nested
Review URL: https://chromiumcodereview.appspot.com/10543141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 14:29:48 +00:00
jkummerow@chromium.org
a40f7b516e
Add msvs_configuration_platform to common.gypi to allow x64 builds on Windows
...
Review URL: https://chromiumcodereview.appspot.com/10573008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 14:20:29 +00:00
jkummerow@chromium.org
b7700fb3cc
Fix a bunch of implicit casts detected by the Win64 compiler
...
Review URL: https://chromiumcodereview.appspot.com/10536202
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 13:45:30 +00:00
rossberg@chromium.org
3e6b01df18
Fix crash bug in Hydrogen occurring with empty prototype chain.
...
(Thanks for diagnosing this.)
R=vegorov@chromium.org
BUG=115100
TEST=
Review URL: https://chromiumcodereview.appspot.com/10576013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 13:44:07 +00:00
verwaest@chromium.org
30b335157f
Fixing ClearNonLiveTransition bug in combination with AccessorPairs.
...
BUG=133211
TEST=test/mjsunit/regress/regress-133211b.js
Review URL: https://chromiumcodereview.appspot.com/10575018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 13:16:39 +00:00
mstarzinger@chromium.org
4f6e72ce29
Fix check in r11850 for nosse2 and novfp3 machines.
...
R=ulan@chromium.org
TEST=cctest/test-compiler/OptimizedCodeSharing
Review URL: https://chromiumcodereview.appspot.com/10573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 12:54:24 +00:00
vegorov@chromium.org
22b3bf5867
Teach grokdump to print oddball kind when ToString content is not available
...
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10559063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 11:41:50 +00:00
yangguo@chromium.org
0a60da717b
Correctly resolve local var shadowing a context-allocated var in debugger.
...
R=ulan@chromium.org
BUG=131994
TEST=regress/regress-131994.js
Review URL: https://chromiumcodereview.appspot.com/10585002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 11:25:49 +00:00
verwaest@chromium.org
8b7b7f466f
Make sure we don't leak map transitions from AccessorPairs to the Javascript world.
...
BUG=133211
TEST=test/mjsunit/regress/regress-133211.js
Review URL: https://chromiumcodereview.appspot.com/10559062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-19 10:58:15 +00:00
mstarzinger@chromium.org
928a1bff32
Fix handling of numbers in SameValue method.
...
R=vegorov@chromium.org
BUG=v8:2186
TEST=mjsunit/regress/regress-2186
Review URL: https://chromiumcodereview.appspot.com/10532198
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 14:21:29 +00:00
yangguo@chromium.org
fa48ccde25
Print correct line number for Error thrown inside eval.
...
R=rossberg@chromium.org
BUG=v8:1914
TEST=eval-stack-trace.js
Review URL: https://chromiumcodereview.appspot.com/10565002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 13:39:24 +00:00
mstarzinger@chromium.org
b1fe586e6b
Fix optimized code caching in FastNewClosureStub.
...
This fixes a corner-case on ARM and MIPS where optimized code was not
shared immediately across closures when a function was used in several
global contexts at once.
R=ulan@chromium.org
TEST=cctest/test-compiler/OptimizedCodeSharing
Review URL: https://chromiumcodereview.appspot.com/10544205
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 13:26:43 +00:00
mmassi@chromium.org
f6b5dc6628
Remove default from switch.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10555026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 12:56:49 +00:00
mstarzinger@chromium.org
b2f9dc54ed
MIPS: Share optimized code for closures.
...
Port r11817 (616dfcf0)
Original commit message:
Each SharedFunctionInfo gets an optimized code map to store
one optimized code object per context. When allocating a new
closure we consult this map and check if there is optimized code
that can be shared.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10557002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-18 12:54:10 +00:00