yangguo@chromium.org [Thu, 3 Jan 2013 12:59:54 +0000 (12:59 +0000)]
Refactor out assumption that one byte strings are ascii in utf8 processing.
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11725006
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 3 Jan 2013 10:05:40 +0000 (10:05 +0000)]
Improved printing of HForceRepresentation.
Review URL: https://codereview.chromium.org/
11745011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 3 Jan 2013 09:18:01 +0000 (09:18 +0000)]
Remove InputBuffer
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11727004
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 3 Jan 2013 08:56:05 +0000 (08:56 +0000)]
Add Makefile options to build for the Raspberry Pi (armv7=0, arm_fpu=vfp2).
With these Makefile changes, it is possible to build V8 on the Raspberry Pi with the following make invocation:
make native armv7=false vfp3=off hardfp=on disassembler=on console=readline snapshot=on gdbjit=on strictaliasing=off
R=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11722003
Patch from Luis Reis <luis.m.reis@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13297
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 3 Jan 2013 07:23:33 +0000 (07:23 +0000)]
Fixed printing of LInstructions in the presence of optional arguments
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
11743012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 2 Jan 2013 15:00:12 +0000 (15:00 +0000)]
Relax test expectations in BootUpMemoryUse.
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11738004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 2 Jan 2013 10:09:42 +0000 (10:09 +0000)]
Move CopyElements to the accessor of the target.
Review URL: https://chromiumcodereview.appspot.com/
11416238
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13292
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 31 Dec 2012 11:13:50 +0000 (11:13 +0000)]
Reland r13275 and 13276 (Remove most uses of StringInputBuffer).
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11727003
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13291
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 28 Dec 2012 16:25:38 +0000 (16:25 +0000)]
Elide unnecessary context reload in generated stubs.
Review URL: https://codereview.chromium.org/
11550005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13290
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 28 Dec 2012 15:52:17 +0000 (15:52 +0000)]
Handle non-constant divisor in MathFloorOfDiv, on ia32/x64
Zheng Liu
zheng.z.liu@intel.com
Review URL: https://chromiumcodereview.appspot.com/
11624022
Patch from Zheng Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 28 Dec 2012 15:14:44 +0000 (15:14 +0000)]
Enable type feedback for branch statement and function call
This change associates TypeFeedbackIds with ToBoolean stubs in
full-compiled code on ARM, allowing their information to be used in
Crankshaft. This eliminates unnecessary checks, especially in
DoBranch.
Review URL: https://chromiumcodereview.appspot.com/
11635046
Patch from Jay Conrod <dconrod@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13288
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 28 Dec 2012 14:36:55 +0000 (14:36 +0000)]
Use EXTERNAL_REFERENCE instead of RUNTIME_ENTRY for Runtime::PerformGC and
CallApiFunctionAndReturn in X64
Review URL: https://codereview.chromium.org/
11694008
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 28 Dec 2012 13:34:15 +0000 (13:34 +0000)]
Use VLDR instead of VMOVs from GPR when a 64-bit double can't be encoded as a VMOV immediate.
This requires constant blinding before it can be enabled. There are other interesting optimizations that can be added later, detailed in a TODO.
BUG=optimization
R=ulan@chromium.org,mstarzinger@chromium.org, hwennborg@google.com
Review URL: https://chromiumcodereview.appspot.com/
11191029
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 28 Dec 2012 13:06:08 +0000 (13:06 +0000)]
postmortem: export kSmiShiftSize
Right now it's impossible to figure out from headers that smis are left shifted
by 31 bit on x64, and only then tagged.
R=erik.corry@gmail.com
Review URL: https://codereview.chromium.org/
11676005
Patch from Fedor Indutny <fedor@indutny.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 28 Dec 2012 11:09:16 +0000 (11:09 +0000)]
Refactor and improve inlined double-aligned allocations
Change is performance neutral but generates smaller code and encapsulates double alignment in the macro-assembler rather than at the allocation site.
Review URL: https://codereview.chromium.org/
11684005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13284
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 27 Dec 2012 15:56:02 +0000 (15:56 +0000)]
Prepare push to trunk. Now working on version 3.16.2.
R=danno@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11675006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13281
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 27 Dec 2012 15:40:34 +0000 (15:40 +0000)]
Fix SSE2 debug asserts in LayoutTests
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
11675005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13280
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Dec 2012 13:12:27 +0000 (13:12 +0000)]
Revert r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11678006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Dec 2012 10:11:08 +0000 (10:11 +0000)]
Add kNumberStringCacheRootIndex into writable_roots
Review URL: https://chromiumcodereview.appspot.com/
11660028
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13278
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 27 Dec 2012 10:03:17 +0000 (10:03 +0000)]
Revert r13275 and 13276 (Remove most uses of StringInputBuffer).
This is due to test failures in test-mark-compact/BootUpMemoryUse.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11688003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Dec 2012 08:52:32 +0000 (08:52 +0000)]
Fix build warnings.
TBR=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11669020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13276
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Dec 2012 08:29:48 +0000 (08:29 +0000)]
Remove most uses of StringInputBuffer
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11638037
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 21 Dec 2012 18:16:27 +0000 (18:16 +0000)]
Fix typo in the CheckSSE2OperandIsInt32: use bitwise not instead of integer negation.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11662009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 21 Dec 2012 17:52:00 +0000 (17:52 +0000)]
Fix x64 MathMinMax for negative untagged int32 arguments.
An untagged int32 has zeros in the upper half even if it is negative.
Using cmpq to compare such numbers will incorrectly ignore the sign.
BUG=164442
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11665007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13273
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Fri, 21 Dec 2012 17:40:09 +0000 (17:40 +0000)]
Basic test for interaction of Object.observe and hidden prototypes
The test simply shows the current behavior, not necessarily what we
want the behavior to be.
Review URL: https://codereview.chromium.org/
11635033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 14:28:33 +0000 (14:28 +0000)]
Fixed typing confusion found by GCMole
Review URL: https://codereview.chromium.org/
11668006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 14:01:53 +0000 (14:01 +0000)]
Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
BUG=v8:2458
Review URL: https://codereview.chromium.org/
11660010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13270
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 13:50:17 +0000 (13:50 +0000)]
Fixed x64 disassembler for cmpb_al
Review URL: https://codereview.chromium.org/
11666007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 13:47:08 +0000 (13:47 +0000)]
Added (dis-)assembler support for movmskps on ia32 and x64.
Review URL: https://codereview.chromium.org/
11664007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 21 Dec 2012 13:44:40 +0000 (13:44 +0000)]
Fast-forward version 3.15.12 to 3.16.0.
Now working on 3.16.1.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11659010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 21 Dec 2012 12:33:30 +0000 (12:33 +0000)]
Prepare push to trunk. Now working on version 3.15.13.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11665006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 10:19:42 +0000 (10:19 +0000)]
Refactoring only: Use CheckSSE2OperandIsInt32 instead of copy-n-paste code.
Review URL: https://codereview.chromium.org/
11666004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 21 Dec 2012 07:18:56 +0000 (07:18 +0000)]
Refactored deopt tracing and FindOptimizedCode. Fixed a bug when printing stubs.
Review URL: https://codereview.chromium.org/
11636046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 20 Dec 2012 17:07:38 +0000 (17:07 +0000)]
MIPS: ARM: fix a bug with saving lr register in GenerateSmiToDouble.
Port r13107 (
63aea0a3)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11574013
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 20 Dec 2012 16:31:19 +0000 (16:31 +0000)]
ARM: Use division instructions in lithium and stubs
BUG=none
TEST=Added to test/mjsunit/math-floor-of-div.js, math-floor-of-div-nosudiv.js
Review URL: https://codereview.chromium.org/
11316105
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Dec 2012 16:25:26 +0000 (16:25 +0000)]
Fix several bugs in error stack trace formatting.
GetScriptWrapper can be called recursively:
GetScriptWrapper -> GC -> DeferredFormatStackTrace -> GetScriptWrapper
GC-unsafe code in ErrorObjectList::DeferredFormatStackTrace
Enable overwriting Error.prepareStackTrace by itself while not
causing infinity recursion when it triggers an exception.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11649037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 20 Dec 2012 15:03:30 +0000 (15:03 +0000)]
Object.observe: fix observation for optimised in/decrement and compound assignment.
R=svenpanne@chromium.org
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11642042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13255
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 20 Dec 2012 14:12:41 +0000 (14:12 +0000)]
Object.observe: temporarily disable one test to unbreak ARM.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11646004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 20 Dec 2012 14:05:14 +0000 (14:05 +0000)]
Remove redundant loads in DoCheckMaps
Hoist the loop-invariant load out of the loop and call the other CheckMap function
BUG=none
TEST=none
Committed: https://code.google.com/p/v8/source/detail?r=13200
Review URL: https://codereview.chromium.org/
11369014
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13253
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 20 Dec 2012 13:05:16 +0000 (13:05 +0000)]
Refactoring only: Extracted a method for finding optimized code.
Review URL: https://codereview.chromium.org/
11637036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13252
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 20 Dec 2012 11:53:42 +0000 (11:53 +0000)]
Refactoring only: Extracted method to print deopt location.
Review URL: https://codereview.chromium.org/
11640041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13251
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 20 Dec 2012 09:47:09 +0000 (09:47 +0000)]
Refactoring only: Move stuff to DeoptimizerData where it belongs. Use "for".
Review URL: https://codereview.chromium.org/
11637034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Dec 2012 09:33:55 +0000 (09:33 +0000)]
Fix windows build errors.
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11637033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13249
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Dec 2012 09:20:37 +0000 (09:20 +0000)]
Remove Utf8InputBuffer
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11649018
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13248
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Dec 2012 09:07:05 +0000 (09:07 +0000)]
Fix ARM code for DoModI.
R=ulan@chromium.org
BUG=166379
Review URL: https://chromiumcodereview.appspot.com/
11618020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 19 Dec 2012 17:02:12 +0000 (17:02 +0000)]
Object.observe: test mutating an object via the API
Review URL: https://codereview.chromium.org/
11598014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13246
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 19 Dec 2012 15:17:01 +0000 (15:17 +0000)]
Fix treatment of hidden prototypes in SetProperty.
R=svenpanne@chromium.org
BUG=v8:2457
Review URL: https://codereview.chromium.org/
11644021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 19 Dec 2012 13:57:51 +0000 (13:57 +0000)]
Fix windows compile warnings.
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11636016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 19 Dec 2012 13:38:00 +0000 (13:38 +0000)]
Fix compile warning.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11642020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13243
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 19 Dec 2012 13:27:20 +0000 (13:27 +0000)]
Replace the use CharacterStreams in Heap::AllocateSymbolInternal and String::ComputeHash
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11593007
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 19 Dec 2012 12:01:22 +0000 (12:01 +0000)]
Deopt on overflow in integer mod.
R=ulan@chromium.org
BUG=166379
Review URL: https://chromiumcodereview.appspot.com/
11618017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 19 Dec 2012 10:28:36 +0000 (10:28 +0000)]
Extend API to allow setting length property for function templates.
R=yangguo@chromium.org
BUG=125308
Review URL: https://codereview.chromium.org/
11631002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13240
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 19 Dec 2012 09:51:46 +0000 (09:51 +0000)]
Object.observe: Change semantics of deliverChangeRecords to iterate.
Added test for recursive change generation.
R=yangguo@chromium.org
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11593028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13239
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 19 Dec 2012 09:31:12 +0000 (09:31 +0000)]
Unbreak --trace-codegen
Review URL: https://codereview.chromium.org/
11571055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13238
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 19 Dec 2012 07:36:38 +0000 (07:36 +0000)]
Fixed resizing of deopt table
BUG=chrome:166554
Review URL: https://codereview.chromium.org/
11617018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 18 Dec 2012 16:25:45 +0000 (16:25 +0000)]
Re-land Crankshaft-generated KeyedLoad stubs.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11528003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13236
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 18 Dec 2012 12:37:57 +0000 (12:37 +0000)]
Correctly handle negative codes in String.fromCharCode()
BUG=166553
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11576069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13235
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 18 Dec 2012 12:00:50 +0000 (12:00 +0000)]
Simplify implementation of assignment-to-const checks.
Also, add test that assignment to function name is a syntax error with harmony scoping.
Does not fix issue 2243 directly, but with ES6, the required behaviour will change to what is implemented already anyway.
R=yangguo@chromium.org
BUG=v8:2243
Review URL: https://codereview.chromium.org/
11607016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13234
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 18 Dec 2012 10:54:15 +0000 (10:54 +0000)]
Made store buffer compaction more predictable.
Review URL: https://codereview.chromium.org/
11593026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13233
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 18 Dec 2012 09:48:51 +0000 (09:48 +0000)]
Hardfloat does not imply VFPv3, only VFPv2.
Raspberry Pi is an example.
BUG=v8:2393
Review URL: https://chromiumcodereview.appspot.com/
11570061
Patch from Chi-Thanh Christopher Nguyen <nguyenchithanh@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 18 Dec 2012 09:22:25 +0000 (09:22 +0000)]
include: fix String::New() comment
Review URL: https://chromiumcodereview.appspot.com/
11446035
Patch from Ben Noordhuis <ben@c9.io>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 18 Dec 2012 09:21:05 +0000 (09:21 +0000)]
MIPS: Improve array to string conversion.
Port r13144 (
71c45300)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11573017
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13230
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 17 Dec 2012 15:56:16 +0000 (15:56 +0000)]
Rename LookupSymbol calls to use Utf8 or OneByte in names.
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11597007
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 17 Dec 2012 14:00:50 +0000 (14:00 +0000)]
Make sure error message formatting does not have side effects.
R=vegorov@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11598011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 17 Dec 2012 10:50:19 +0000 (10:50 +0000)]
Implement OS::DumpBacktrace() on FreeBSD.
Review URL: https://chromiumcodereview.appspot.com/
11595004
Patch from Ben Noordhuis <ben@c9.io>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 17 Dec 2012 10:23:52 +0000 (10:23 +0000)]
Use a filter instead of a visitor to deoptimize selected functions in a context.
This makes the DeoptimizeAll function O(n) instead of O(n^2) where n in the number of optimized functions.
Before this change, DeoptimizeAll iterated over the optimized function list and called DeoptimizingVisitor for each function. The visitor iterated over the optimized function list again to remove the functions that share the same optimized code.
This change partitions the optimized function list into one or more lists of related functions in one pass over the optimized function list.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11547015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Fri, 14 Dec 2012 18:36:51 +0000 (18:36 +0000)]
Fix set variable value bug: a function argument must be updated in 2 places
Review URL: https://codereview.chromium.org/
11519020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 14 Dec 2012 14:39:18 +0000 (14:39 +0000)]
Attempt to fix build.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11565035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 14 Dec 2012 14:27:06 +0000 (14:27 +0000)]
V8_Fatal now prints C++ stack trace in debug mode.
Currently only supported on Linux. When compiled with GCC, also demangles C++ identifier names.
Should make debugging those flaky crashes on buildbots easier... :)
R=mstarzinger@chromium.org,ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11577019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 14 Dec 2012 14:19:18 +0000 (14:19 +0000)]
Object.oberve: assertions to narrow down flaky crashes with array length mutation.
R=mstarzinger@chromium.org
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11566027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 14 Dec 2012 12:45:28 +0000 (12:45 +0000)]
Make string test resilient against GC stress.
R=dcarney@chromium.org
TEST=cctest/test-strings/StringCharacterStreamRandom
Review URL: https://codereview.chromium.org/
11565031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 13 Dec 2012 17:21:15 +0000 (17:21 +0000)]
Revert r13218 due to windows test failures.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11568014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 13 Dec 2012 16:38:49 +0000 (16:38 +0000)]
Add methods to allow resuming execution after calling TerminateExecution().
Two new methods are added to allow embedders to determine that execution
should be resumed at a particular point in the stack without being forced
to unwind all JS frames.
* V8::ResumeExecution() -- When execution is terminated via a call to
V8::TerminateExecution(), this method can be called to clear the
termination exception so that the engine can continue to be used.
* TryCatch::HasTerminated() -- When a TryCatch has caught a termination
exception, HasTerminated() will return true to indicate it is valid to
call V8::ResumeExecution() if desired.
A test case is added to cctest/test-thread-termination.cc.
BUG=v8:2361
Patch from Andrew Paprocki <andrew@ishiboo.com>.
Review URL: https://chromiumcodereview.appspot.com/
11142013
Patch from Andrew Paprocki <andrew@ishiboo.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13218
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 13 Dec 2012 15:39:01 +0000 (15:39 +0000)]
Cleanup tests for StringCharacterStream
Edge case tests now cover all branches.
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11548023
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 13 Dec 2012 10:17:37 +0000 (10:17 +0000)]
Cleanup object printer declaration.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
11567007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 13 Dec 2012 09:31:44 +0000 (09:31 +0000)]
Object.observe: Make array length and other magic data properties work correctly.
Also, disable TestFastElementsLength test for now, since it flakes on buildbots for yet unknown reasons.
R=mstarzinger@chromium.org
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11554019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 12 Dec 2012 15:26:04 +0000 (15:26 +0000)]
Removed RuntimeProfilerRateLimiter class and RuntimeProfiler::IsSomeIsolateInJS.
Removing the former was basically a consequence of removing the latter. The net
effect is, apart from less code, that the signal sender thread is much more
explicit about its logic now.
Review URL: https://codereview.chromium.org/
11543020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 12 Dec 2012 15:20:45 +0000 (15:20 +0000)]
Remove over-zealous hole checking in Array.slice()
R=jkummerow@chromium.org
BUG=chromium:165637
TEST=regress-165637.js
Review URL: https://codereview.chromium.org/
11442054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 12 Dec 2012 15:06:50 +0000 (15:06 +0000)]
Add HTML-based tick processor
Review URL: https://codereview.chromium.org/
11442055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13208
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 12 Dec 2012 14:54:35 +0000 (14:54 +0000)]
Find plot range with only sampling ticks (profiling with only --prof).
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11543019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13207
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 12 Dec 2012 12:51:47 +0000 (12:51 +0000)]
Revert "Remove redundant loads in DoCheckMaps"
This reverts r13200.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
11552017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13206
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 12 Dec 2012 11:38:24 +0000 (11:38 +0000)]
Object.observe: prevent observed objects from using fast elements.
This is necessary because polymorphic stores generally
do not perform a map check but only an instance type check,
which misses out on changes in the observation status.
Unfortunately, there currently is no efficient way in V8
to maintain that optimisation in the presence of Object.observe.
R=mstarzinger@chromium.org
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11477006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13205
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 12 Dec 2012 10:46:01 +0000 (10:46 +0000)]
Add regression test for r13195.
This is a regression test for the fix in r13195 which made sure that we
correctly clear the optimized code map even when incremental marking is
running.
R=ulan@chromium.org,jkummerow@chromium.org
BUG=chromium:165495
TEST=cctest/test-heap/Regress165495
Review URL: https://codereview.chromium.org/
11543015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 12 Dec 2012 09:49:46 +0000 (09:49 +0000)]
Do not read document and URL properties on global objects while taking heap snapshot
This unsafe mechanism was replaced with a user provided callback in r13137 and now we should remove old code.
Review URL: https://codereview.chromium.org/
11519029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13203
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Tue, 11 Dec 2012 23:27:38 +0000 (23:27 +0000)]
Issue 2399 part 2: In debugger allow modifying local variable values
Review URL: https://codereview.chromium.org/
11412310
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13202
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 11 Dec 2012 23:27:15 +0000 (23:27 +0000)]
Fix crashes in debug output of generated stubs
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11464027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13201
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 11 Dec 2012 20:33:44 +0000 (20:33 +0000)]
Remove redundant loads in DoCheckMaps
Hoist the loop-invariant load out of the loop and call the other CheckMap function
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
11369014
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 11 Dec 2012 20:19:37 +0000 (20:19 +0000)]
Fixed compilation error on Win64.
BUG=
Review URL: https://codereview.chromium.org/
11538010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13199
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 11 Dec 2012 17:45:01 +0000 (17:45 +0000)]
Prepare FreeList for parallel and concurrent sweeping.
BUG=
Review URL: https://codereview.chromium.org/
11348174
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13198
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 11 Dec 2012 17:28:40 +0000 (17:28 +0000)]
Clear optimized code map during incremental marking.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11458011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13195
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 11 Dec 2012 14:55:23 +0000 (14:55 +0000)]
Avoid object layout changes during GC.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11530011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13194
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Tue, 11 Dec 2012 14:23:04 +0000 (14:23 +0000)]
Fix for when array bounds check elimination tries to modify a phi index.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11486007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13193
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 11 Dec 2012 12:19:19 +0000 (12:19 +0000)]
Fix missing printing of deoptimizer input data.
R=rossberg@chromium.org
TEST=mjsunit/compiler/inline-arguments --print-all-code
Review URL: https://codereview.chromium.org/
11537005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13192
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 11 Dec 2012 10:42:10 +0000 (10:42 +0000)]
Fix windows build.
R=dcarney@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11538003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13191
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 11 Dec 2012 10:33:04 +0000 (10:33 +0000)]
Disable GC stress for mjsunit/fast-prototype.
R=yangguo@chromium.org
TEST=mjsunit/fast-prototype --gc-interval=500 --stress-compaction
Review URL: https://codereview.chromium.org/
11534004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 11 Dec 2012 10:22:15 +0000 (10:22 +0000)]
Cleanup StringCharacterStream and add initial test cases.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11438046
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13189
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 11 Dec 2012 10:14:01 +0000 (10:14 +0000)]
Fire 'stack' getter of error objects after GC.
BUG=v8:2340
Review URL: https://chromiumcodereview.appspot.com/
11377158
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Mon, 10 Dec 2012 22:02:26 +0000 (22:02 +0000)]
Allow all value types in evaluate additional context
Review URL: https://codereview.chromium.org/
11448030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 10 Dec 2012 18:58:32 +0000 (18:58 +0000)]
Prepare push to trunk. Now working on version 3.15.12.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11514002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13184
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 10 Dec 2012 15:14:20 +0000 (15:14 +0000)]
Make unit tests resilient against GC Stress.
R=yangguo@chromium.org
TEST=cctest --gc-interval=500 --stress-compaction
Review URL: https://codereview.chromium.org/
11498012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13183
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00