ricow@chromium.org [Wed, 30 Mar 2011 07:22:53 +0000 (07:22 +0000)]
Fix conditional on sse2 support in CompileMathFloor
We should test that there is NO sse2 support and return undefined in
that case.
Review URL: http://codereview.chromium.org/6759021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 30 Mar 2011 07:00:35 +0000 (07:00 +0000)]
Fixing build on Mac
BUG=
TEST=
Review URL: http://codereview.chromium.org/6771015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7420
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Wed, 30 Mar 2011 04:36:41 +0000 (04:36 +0000)]
Fix xcode build warning in shell.cc
(out of order initialization).
BUG=
TEST=
Review URL: http://codereview.chromium.org/6772021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Tue, 29 Mar 2011 17:54:44 +0000 (17:54 +0000)]
Fix gyp files for d8 console. Include build/gyp in .gitignore.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6765006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 29 Mar 2011 15:19:42 +0000 (15:19 +0000)]
Use a fixed input register where we require a byte register.
Currently we can't specify a set of registers as a register constraint.
This change forces a fixed register (eax) in places that need
a byte register.
BUG=77752
Review URL: http://codereview.chromium.org/6708109
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 29 Mar 2011 14:00:41 +0000 (14:00 +0000)]
Remove redundant usages of some macros and functions in debug.cc
Cleanup of HEAP and FACTORY macros and use isolate_ member of classes where it is possible.
Cleanup of debugger(), debug() and global_handles() functions.
Pass the isolate pointer to the HandleScope constructor.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6708108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 29 Mar 2011 13:41:06 +0000 (13:41 +0000)]
Cleanup of HEAP and LOGGER macro usage in cpu-profiler.cc.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6708101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 29 Mar 2011 13:20:05 +0000 (13:20 +0000)]
Decrease number of runs in mjsunit/compiler/pic.js (Test still gets optimized, even without --stress-opt)
Review URL: http://codereview.chromium.org/6731049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 29 Mar 2011 13:06:48 +0000 (13:06 +0000)]
Make the preparser standalone library and process build in debug mode.
It should now be possible to build the preparser using 'scons preparser' in both release and debug modes.
Remove v8.h include from scanner-base.h and other files.
Remove NativeAllocationChecker and all of its kind.
Moved Isolate::PreallocatedStorage* to isolate.cc
Review URL: http://codereview.chromium.org/6749029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 29 Mar 2011 12:52:07 +0000 (12:52 +0000)]
Remove snapshots-related code that is implemented in DevTools heap profiler.
Diffs and retaining paths are implemented on JS side. There is no need
to maintain native implementation.
R=vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6770009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 29 Mar 2011 10:51:35 +0000 (10:51 +0000)]
Fix null-pointer dereference in the compiler when running without sse3 support.
BUG=77654
Review URL: http://codereview.chromium.org/6731046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 29 Mar 2011 10:48:28 +0000 (10:48 +0000)]
Fix x64 compilation error due to some dead code, by deleting the dead code.
BUG=1286
TEST=compile V8 with gcc-4.4.x.
Review URL: http://codereview.chromium.org/6771007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 29 Mar 2011 09:21:25 +0000 (09:21 +0000)]
Introduce scons target to build preparser libraray and proof-of-concept command line process.
The target doesn't compile yet, due to v8 dependencies introduced by isolates.
Review URL: http://codereview.chromium.org/6772002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 29 Mar 2011 09:18:08 +0000 (09:18 +0000)]
Remove an extra comma from "tick" log records.
This fixes VM state fetching from "tick" log records.
TBR=vitalyr@chromium.org
BUG=1287
TEST=none
Review URL: http://codereview.chromium.org/6718041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 29 Mar 2011 08:04:26 +0000 (08:04 +0000)]
Rename local variable in api.cc to avoid using C++0x keyword thread_local.
Also, the name thread_local did not make much sense.
R=karlklose@chromium.org
BUG=1280
Review URL: http://codereview.chromium.org/6771003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 29 Mar 2011 07:53:33 +0000 (07:53 +0000)]
Fix reference to masm_ after delete in RegExpMacroAssemblerX64.
BUG=77633
Review URL: http://codereview.chromium.org/6771002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7400
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 29 Mar 2011 07:43:27 +0000 (07:43 +0000)]
ARM: Check for minus zero when converting binary operation result to smi
The result of an Int32 binary operation will be converted to a smi if it fits. However a minus zero check was missing.
BUG=v8:1278
TEST=test/mjsunit/regress/regress-1278.js
R=ager@chromium.org
Review URL: http://codereview.chromium.org/6755009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7399
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 29 Mar 2011 07:34:23 +0000 (07:34 +0000)]
Cleanup of HEAP and FACTORY macro usage in accessors.cc.
Patch by Peter Varga.
Review URL: http://codereview.chromium.org/6756003/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7398
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 29 Mar 2011 06:18:16 +0000 (06:18 +0000)]
Build and pass all tests on FreeBSD.
Review URL: http://codereview.chromium.org/6726050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7397
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 28 Mar 2011 16:36:08 +0000 (16:36 +0000)]
Add binary-op stub variant to handle oddball objects more efficiently.
Review URL: http://codereview.chromium.org/6744006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7396
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 28 Mar 2011 13:37:09 +0000 (13:37 +0000)]
Fix presubmit errors in r7388
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6724034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7392
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 28 Mar 2011 13:34:10 +0000 (13:34 +0000)]
Remove unused method, this is not used anymore after 7360.
Review URL: http://codereview.chromium.org/6735012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7391
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 28 Mar 2011 13:33:48 +0000 (13:33 +0000)]
Cleanup of FACTORY and HEAP macro usage in code-stubs.cc.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6760001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7390
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 28 Mar 2011 13:09:37 +0000 (13:09 +0000)]
Cleanup of Isolate::Current(), FACTORY and HEAP usage in bootstrapper.cc.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6758005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7389
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 28 Mar 2011 13:05:36 +0000 (13:05 +0000)]
Re-establish mips basic infrastructure.
This commit adds current working versions of assembler, macro-assembler,
disassembler, and simulator.
All other mips arch files are replaced with stubbed-out versions that
will build.
Arch independent files are updated as needed to support building and
running mips.
The only test is cctest/test-assembler-mips, and this passes on the
simulator and on mips hardware.
TEST=none
BUG=none
Patch by Paul Lind from MIPS.
Review URL: http://codereview.chromium.org/6730029/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7388
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 28 Mar 2011 12:27:56 +0000 (12:27 +0000)]
Add more details the --trace-deopt output
R=ager@chromium.org
Review URL: http://codereview.chromium.org/6735007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7387
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 28 Mar 2011 09:33:40 +0000 (09:33 +0000)]
Prepare push to trunk. Now working on version 3.2.6.
Review URL: http://codereview.chromium.org/6755006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7384
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 28 Mar 2011 09:32:11 +0000 (09:32 +0000)]
Fix arm compilation on OS X 10.5 gcc.
Review URL: http://codereview.chromium.org/6758003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 28 Mar 2011 09:11:14 +0000 (09:11 +0000)]
Cleanup of HEAP and LOGGER macros usage in api.cc.
Patch by Peter Varga.
Review URL: http://codereview.chromium.org/6735003/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 28 Mar 2011 08:51:08 +0000 (08:51 +0000)]
Run array-length less times to make the builder green.
We still get this method optimized even without --always-opt flag.
Review URL: http://codereview.chromium.org/6719029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 28 Mar 2011 08:44:30 +0000 (08:44 +0000)]
Remove more TLS hurting Dromaeo DOM.
Patch by Dmitry Lomov.
Review URL: http://codereview.chromium.org/6745029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7380
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 28 Mar 2011 06:11:08 +0000 (06:11 +0000)]
Follow jsc on not throwing when trying to add a property to a non-extensible object.
This change makes us compatible with Safari on not throwing when trying to add a property to a non-extensible object.
Review URL: http://codereview.chromium.org/6712059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7379
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 28 Mar 2011 05:57:27 +0000 (05:57 +0000)]
Set optimizable to false on code object if shared function info says so.
Because we might throw away code when doing code flushing we need to
set the optimizable flag to false in CompileLaze if this has been set
on the shared function info. This is the only place where this can
happen, since we always exchange the code with the laze compile stub
when doing code flushing.
The comment in AbortAndDisable actually states that this is already
the case (and that comment should now be ok).
Review URL: http://codereview.chromium.org/6685044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7378
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Sun, 27 Mar 2011 18:40:48 +0000 (18:40 +0000)]
Fast TLS support on mac.
Review URL: http://codereview.chromium.org/6724028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7377
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Sun, 27 Mar 2011 16:18:34 +0000 (16:18 +0000)]
Add files missing from last commit.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7376
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Sun, 27 Mar 2011 16:14:20 +0000 (16:14 +0000)]
Fast TLS support.
This patch adds common infrastructure for fast TLS support and
implementation on win32. More implementations will be added soon.
Fast TLS is controlled by V8_FAST_TLS define which is enabled by
default in our gyp and scons builds. The scons build has
fasttls={on,off} option so that we can see the effects of slow TLS
when needed.
Review URL: http://codereview.chromium.org/6696112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7375
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 25 Mar 2011 14:09:14 +0000 (14:09 +0000)]
Remove unneeded TLS reads from v8::Null() and friends.
Patch by Dmitry Lomov.
Code review: http://codereview.chromium.org/6737003/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7374
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 25 Mar 2011 14:03:42 +0000 (14:03 +0000)]
Fix test that can fail for small denormals.
Review URL: http://codereview.chromium.org/6736027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7373
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 25 Mar 2011 13:48:17 +0000 (13:48 +0000)]
Fix typo in math-sqrt.js
Review URL: http://codereview.chromium.org/6696109
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7372
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 25 Mar 2011 13:32:06 +0000 (13:32 +0000)]
Remove TLS read from ON_BAILOUT.
Patch by Dmitry Lomov.
Original review: http://codereview.chromium.org/6731030/
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6713128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7370
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 25 Mar 2011 13:26:55 +0000 (13:26 +0000)]
Don't rely on C++ object padding across platforms
The use of sizeof on FrameDescription to get to the additional allocated memory for the frame content relies on the padding of the FrameDescription. On IA32 Linux the FrameDescription is not padded but on ARM Linux it is padded to become 8 byte aligned. With a snapshot generated with the ARM simulator on IA32 Linux that contains one or more of the deoptimization tables the deoptimization did not work as the access to the frame content was one off between the C++ code and the generated code.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/6744004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 25 Mar 2011 13:24:20 +0000 (13:24 +0000)]
Add more tests to mul-exhaustive for constant left/right operands.
Make MJSUnit able to distinguish 0 and -0.
Review URL: http://codereview.chromium.org/6688062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 25 Mar 2011 13:21:30 +0000 (13:21 +0000)]
Cleanup more isolate usage in ia32 files.
Review URL: http://codereview.chromium.org/6696107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 25 Mar 2011 12:51:32 +0000 (12:51 +0000)]
Check for SSE2 support in FullCodeGenerator::EmitMathPow.
Do not emit call to the MathPowStub when SSE2 is not available because it requires SSE2.
Review URL: http://codereview.chromium.org/6736006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 25 Mar 2011 11:53:29 +0000 (11:53 +0000)]
Fix prettyprinter for --print-ast option.
Was broken since isolates merge.
Review URL: http://codereview.chromium.org/6676144
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 25 Mar 2011 11:16:29 +0000 (11:16 +0000)]
Fix ARM external array crankshaft bailout
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6730054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 25 Mar 2011 10:34:39 +0000 (10:34 +0000)]
Correct order of arguments to CHECK_EQ in an API test.
R=karlklose@chromium.org
BUG=1275
TEST=
Review URL: http://codereview.chromium.org/6713125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7361
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 25 Mar 2011 10:29:34 +0000 (10:29 +0000)]
Reimplement the padding of relocation information for lazy deoptimization on ia32.
The previous implementation attempted to keep track of the needed
relocation size for deoptimization while generating the optimized
code. That was error prone. This patch moves the relocation resizing
to the deoptimizer as the last step of creating an optimized code
object.
The down side to this approach is that two relocation information byte
arrays are created for all optimized functions that do not have enough
relocation space for lazy deoptimization.
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/6730050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7360
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 25 Mar 2011 10:02:42 +0000 (10:02 +0000)]
Fix hydrogen statistics output when no code gets optimized.
In that case print 0 instead of NaN for normalized time and bytes allocated.
R=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/6696070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7359
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 25 Mar 2011 07:41:35 +0000 (07:41 +0000)]
mprove code generation for DoAddI, DoSubI and DoBitI when the right hand
side is a constant.
TEST=none
BUG=none
Patch by Rodolph Perfetta from ARM Ltd.
Review URL: http://codereview.chromium.org/6730029/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7358
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 24 Mar 2011 22:30:53 +0000 (22:30 +0000)]
Fix build
BUG=none
TEST=none
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6732038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7355
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 24 Mar 2011 22:14:15 +0000 (22:14 +0000)]
Support external arrays in Crankshaft
Add specialized hydrogen and lithium instructions to support loading and storing to external arrays.
Review URL: http://codereview.chromium.org/6656001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7354
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 24 Mar 2011 19:05:49 +0000 (19:05 +0000)]
Allow calling stats API functions before we have an isolate.
Review URL: http://codereview.chromium.org/6733030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7353
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 24 Mar 2011 18:49:45 +0000 (18:49 +0000)]
Get rid of more TLS fetches in API implementation.
Patch by Dmitry Lomov.
Original review: http://codereview.chromium.org/6715016/
TBR=dimich
Review URL: http://codereview.chromium.org/6730031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7352
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 24 Mar 2011 13:01:16 +0000 (13:01 +0000)]
Fix bug in test-macro-assembler-x64 which is the probable cause for hanging on Win64.
Review URL: http://codereview.chromium.org/6733024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7348
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 24 Mar 2011 12:24:28 +0000 (12:24 +0000)]
Implemented FastAsciiStringJoin in X64 full codegen.
Review URL: http://codereview.chromium.org/6729016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7345
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 24 Mar 2011 11:37:24 +0000 (11:37 +0000)]
Fix bug that caused invalid code motion for certain loads instructions.
The dependency flags of instructions depending on a previous check have to
be a super-set of the flags of the check instructions.
Review URL: http://codereview.chromium.org/6730025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7343
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 24 Mar 2011 11:19:27 +0000 (11:19 +0000)]
Fix wording in comment
Review URL: http://codereview.chromium.org/6676111
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7340
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 24 Mar 2011 11:03:08 +0000 (11:03 +0000)]
Add regression test.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7338
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 24 Mar 2011 10:54:23 +0000 (10:54 +0000)]
Make V8 build with the chromium shared library build
Fix the shell to not use functions from the v8::internal namespace when building with V8 in a shared library.
Remove the v8_preparser library. The dependencies for this target needs to be resolved after isolates have landed.
Review URL: http://codereview.chromium.org/6696067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7337
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 24 Mar 2011 10:11:51 +0000 (10:11 +0000)]
Enable GVN for polymorphic loads by not expanding them at the HIR level.
This change adds a new IR instruction for polymorphic loads. It performs
map compares and loads in one IR instruction instead of splitting each
load into a graph of map-compares and field loads.
The advantage is a smaller IR and less basic blocks, plus it allows to
do GVN on polymorphic loads.
Review URL: http://codereview.chromium.org/6708085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7336
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Wed, 23 Mar 2011 21:36:42 +0000 (21:36 +0000)]
Enable V8 test bindings for test262 ietestcenter.
Review URL: http://codereview.chromium.org/6711063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7333
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Mar 2011 15:33:49 +0000 (15:33 +0000)]
Ensure enough space for lazy deoptimization relocation information.
Was not done for runtime calls and for recursive calls.
Only ia32 for now. We need to refactor x64 and look into arm as well.
R=sgjesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6728001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7331
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 23 Mar 2011 14:44:19 +0000 (14:44 +0000)]
Store HValue uses in a custom small list structure.
This saves about 700K of zone allocation when compiling the V8
benchmark suite.
Review URL: http://codereview.chromium.org/6707001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7330
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Mar 2011 14:07:52 +0000 (14:07 +0000)]
Cleanup of Isolate::Current() usage in api.cc.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6705024
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7329
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Mar 2011 13:40:07 +0000 (13:40 +0000)]
Introduce accessors on builtins instance and use them to avoid TLS access when getting builtins.
R=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/6717018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7327
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Mar 2011 12:07:23 +0000 (12:07 +0000)]
Fix COUNTERS use in test-serialize.
Review URL: http://codereview.chromium.org/6705023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7326
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 23 Mar 2011 11:41:45 +0000 (11:41 +0000)]
Change bleeding edge version to candidate
R=ager@chromium.org
Review URL: http://codereview.chromium.org/6723015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Mar 2011 11:13:07 +0000 (11:13 +0000)]
Avoid TLS access for counters.
Get rid of the COUNTERS macro and fetch the counters from a locally
stored isolate instead.
R=karlklose@chromium.org
Review URL: http://codereview.chromium.org/6723014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 23 Mar 2011 11:12:34 +0000 (11:12 +0000)]
Fix compile failure on Win64.
Review URL: http://codereview.chromium.org/6727021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 23 Mar 2011 09:57:12 +0000 (09:57 +0000)]
Remember and reuse derived map for external arrays
Ensure that all objects that had the same map before attaching an external array have the same map once the external array is attached.
BUG=75639
TEST=fast/canvas/webgl/uninitialized-test.html
Review URL: http://codereview.chromium.org/6685073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7318
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Mar 2011 09:20:08 +0000 (09:20 +0000)]
Irregexp Interpreter build fix.
BUG=1266
TEST=
Review URL: http://codereview.chromium.org/6727018
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7317
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 23 Mar 2011 09:06:13 +0000 (09:06 +0000)]
Prepare push to trunk. We are now working on 3.2.5.
Review URL: http://codereview.chromium.org/6723012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 23 Mar 2011 09:05:13 +0000 (09:05 +0000)]
X64: Optimize access to external references.
Access to an ExternalReference in non-serializable code will try to use
an offset relative to the root-array register.
Since the root-array is in the Heap object, and the Heap object is in
the Isolate object, there's a good chance that any external data field
is within a 32-bit offset of the root array register.
It falls back on the original behavior if the serializer is enabled,
if the root register isn't initialized or if the offset is not representable
as a 32-bit value.
Review URL: http://codereview.chromium.org/6716018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 23 Mar 2011 09:02:15 +0000 (09:02 +0000)]
Cleanup of FACTORY macro usage in api.cc.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6725014
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7314
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Wed, 23 Mar 2011 03:45:48 +0000 (03:45 +0000)]
Implement poison pill for non-strict mode function.caller
when caller is strict mode function.
Review URL: http://codereview.chromium.org/6713059/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7313
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 22 Mar 2011 19:15:02 +0000 (19:15 +0000)]
Some Isolate usage cleanups in objects.{h,cc}.
Review URL: http://codereview.chromium.org/6723001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dimich@chromium.org [Tue, 22 Mar 2011 18:44:32 +0000 (18:44 +0000)]
Cleanup of Isolate usage (guided by SunSpider profiling)
Review URL: http://codereview.chromium.org/6718023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
podivilov@chromium.org [Tue, 22 Mar 2011 18:02:23 +0000 (18:02 +0000)]
Fix crash in Debug::SendCommand.
R=vitalyr@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6715029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7310
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Tue, 22 Mar 2011 18:00:03 +0000 (18:00 +0000)]
Merge TemporaryScope with LexicalScope.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7309
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 22 Mar 2011 16:10:01 +0000 (16:10 +0000)]
Add support for CPU and heap profiles deletion.
R=vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6685084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 22 Mar 2011 15:16:29 +0000 (15:16 +0000)]
Remove TLS fetches in v8::String API implementation.
Patch by Dmitry Lomov.
Original review: http://codereview.chromium.org/6716004/
TBR=ager
Review URL: http://codereview.chromium.org/6716023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 22 Mar 2011 14:11:08 +0000 (14:11 +0000)]
Use different syscall constants on Android
Review URL: http://codereview.chromium.org/6716021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7306
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 22 Mar 2011 13:20:04 +0000 (13:20 +0000)]
Require an isolate parameter for most external reference creation to
avoid TLS access in connection with external references.
Make the isolate accessible via the assembler.
Only for ia32 at this point. If this looks OK to you I will port it.
R=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/6713074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7305
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 22 Mar 2011 11:58:03 +0000 (11:58 +0000)]
Add file missing from last commit
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6715026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7304
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Tue, 22 Mar 2011 11:52:38 +0000 (11:52 +0000)]
Shorten bail out checks when calling code which can fail.
Review URL: http://codereview.chromium.org/6713004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7303
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 22 Mar 2011 11:51:16 +0000 (11:51 +0000)]
Fix error in test-reloc-info/Positions. This error caused a failure on Windows 64-bit V8.
BUG=1267
TEST=test-reloc-info/Positions
Review URL: http://codereview.chromium.org/6719022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 22 Mar 2011 11:50:39 +0000 (11:50 +0000)]
Rename memory.h to v8memory.h
This is to avoid name collision with system include file named memory.h causing problems on some platforms.
Review URL: http://codereview.chromium.org/6716020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 22 Mar 2011 10:00:43 +0000 (10:00 +0000)]
Improved modulo operation in lithium as well as bailout on -0.
TEST=none
BUG=none
Patch by Rodolph Perfetta from ARM Ltd.
Review URL: http://codereview.chromium.org/6612017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7300
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 22 Mar 2011 06:39:16 +0000 (06:39 +0000)]
Trying to unskip test-profile-generator/RecordStackTraceAtStartProfiling and
test-cpu-profiler/CrashIfStoppingLastNonExistentProfile.
After r7293 and r7294 they might feel better.
TBR=vitalyr@chromium.org
BUG=1262,1263
TEST=none
Review URL: http://codereview.chromium.org/6676084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7299
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dimich@chromium.org [Mon, 21 Mar 2011 23:44:14 +0000 (23:44 +0000)]
Another Lint fix.
Review URL: http://codereview.chromium.org/6716012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dimich@chromium.org [Mon, 21 Mar 2011 23:16:06 +0000 (23:16 +0000)]
Lint: remove line trailing whitespaces.
Review URL: http://codereview.chromium.org/6708070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7297
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dimich@chromium.org [Mon, 21 Mar 2011 23:06:38 +0000 (23:06 +0000)]
Fix Win32 bots - they crash/timeout on too long thread name.
Review URL: http://codereview.chromium.org/6676076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7296
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 21 Mar 2011 18:13:27 +0000 (18:13 +0000)]
Change the way sampler / profiler handle external callbacks.
This should fix test-profile-generator/RecordStackTraceAtStartProfiling flakinness.
R=vitalyr@chromium.org
BUG=1261
TEST=test-profile-generator/RecordStackTraceAtStartProfiling
Review URL: http://codereview.chromium.org/6708056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 21 Mar 2011 17:40:40 +0000 (17:40 +0000)]
Fix DevTools CPU profiler after isolates merge.
There was an obvious bug with missing call to SamplerRegistry::GetState.
I've also updated CpuProfiler to avoid stopping sampler, if it didn't started it.
R=vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6712062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Mon, 21 Mar 2011 16:10:05 +0000 (16:10 +0000)]
Revert r7288.
TBR=ager
Review URL: http://codereview.chromium.org/6709060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7292
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 21 Mar 2011 16:00:52 +0000 (16:00 +0000)]
Clean up Isolate usages in handles.cc.
Review URL: http://codereview.chromium.org/6713070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7291
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 21 Mar 2011 15:04:17 +0000 (15:04 +0000)]
Use v8::internal threading support in samples/shell.cc.
We need this for isolates testing. To make it work I had to extend the
internal Thread constructor with an option to set the stack size (see
the comment in shell.cc).
BUG=1264
Review URL: http://codereview.chromium.org/6711068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Mon, 21 Mar 2011 14:31:15 +0000 (14:31 +0000)]
ARM: Add optimization for constant RHS in DoMulI.
Patch by ARM Ltd.
Review URL: http://codereview.chromium.org/6708025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7288
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 21 Mar 2011 12:57:25 +0000 (12:57 +0000)]
Change cctests to use variant flags as part of the name for the serilization file.
Because we run all tests three times with different variant flags (to
test crankshaft) we might end up in a situation where we try to write
to the same serilization file from two different threads
simultaneously. The patch concats the variant flags at the end of the
serialization file name.
Review URL: http://codereview.chromium.org/6688068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00