vitalyr@chromium.org [Tue, 12 Apr 2011 19:05:48 +0000 (19:05 +0000)]
Fit Representation and HType in one word to make HValue smaller.
Review URL: http://codereview.chromium.org/6813091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7592
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
cira@chromium.org [Tue, 12 Apr 2011 18:19:40 +0000 (18:19 +0000)]
Moving JavaScript code from i18n-extension.cc into i18n.js file using
tools/js2c.py script.
Added new type I18N to natives.h enum.
Review URL: http://codereview.chromium.org/6825049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7591
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 12 Apr 2011 15:20:26 +0000 (15:20 +0000)]
Fix load/store of external float arrays on ARM
BUG=1323
TEST=mjsunit/regress/regress-1323.js, run with simulator=arm
Review URL: http://codereview.chromium.org/6822054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7590
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 12 Apr 2011 13:20:51 +0000 (13:20 +0000)]
X64: Tweak code generation slightly.
Uses a shorter opcode for movl and movb with immediates.
Make movl preferable to movq in Set(register, int64_t) and use Set in more places.
Review URL: http://codereview.chromium.org/6824074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7589
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 12 Apr 2011 12:30:13 +0000 (12:30 +0000)]
ARM: Set expectations for failing deserializations tests to turn the bot green
R=karl.klose@chromium.org
BUG=v8:1075
TEST=
Review URL: http://codereview.chromium.org//6825073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7588
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 12 Apr 2011 10:27:09 +0000 (10:27 +0000)]
Enable inlining of functions containing loops.
Review URL: http://codereview.chromium.org/6813107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7586
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 12 Apr 2011 08:37:29 +0000 (08:37 +0000)]
Change the list of statements that are inlineable into a black-list.
Before we had a white-list of things that we allow inside inlined functions.
This way we can enable new constructs one-by-one.
Review URL: http://codereview.chromium.org/6825042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7585
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 12 Apr 2011 08:27:38 +0000 (08:27 +0000)]
Cleanup of ScannerConstants, now named UnicodeCache.
The ScannerConstants class was originally static fields on the scanner class.
During creation of the stand-alone preparser and later isolates, it has been
moved into a separate class with a per-isolate instance.
It is used to hold caching unicode Predicate values.
This change renames the class to UnicodeCache, and passes a reference
to the instance down to methods that doesn't have an easy access to
an isolate (to avoid, e.g., having to do an Isolate::Current() for every
number parsed).
Review URL: http://codereview.chromium.org/6824071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7584
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 12 Apr 2011 07:46:17 +0000 (07:46 +0000)]
Revert 7581, you can't have try except finally toghetter until python 2.5
We have some 2.4 versions on the windows buildbots, I will try to have these updated and reapply.
Review URL: http://codereview.chromium.org/6821069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7583
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Tue, 12 Apr 2011 06:44:15 +0000 (06:44 +0000)]
ARM: Add optimization for constant RHS in DoMulI.
Patch by ARM Ltd.
Review URL: http://codereview.chromium.org/6756033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7582
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 12 Apr 2011 06:26:38 +0000 (06:26 +0000)]
Fix tools/test.py to allow CTRL+C to work correctly again.
This also changes the AfterRun functions to allow None as the passed in parameter.
Review URL: http://codereview.chromium.org/6824040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7581
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 12 Apr 2011 06:12:45 +0000 (06:12 +0000)]
ARM: Always enable ARMv7 when VFPv3 is enabled.
R=vegorov@chromium.org, rodolph.perfetta@gmail.com
BUG=v8:1317
TEST=
Review URL: http://codereview.chromium.org//6825037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7580
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 12 Apr 2011 05:08:13 +0000 (05:08 +0000)]
Fix retained object info leak.
Review URL: http://codereview.chromium.org/6813101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7578
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dimich@chromium.org [Tue, 12 Apr 2011 00:49:30 +0000 (00:49 +0000)]
Another attempt to fix Win build.
Review URL: http://codereview.chromium.org/6825061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7577
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dimich@chromium.org [Tue, 12 Apr 2011 00:42:27 +0000 (00:42 +0000)]
Fix build borkage due to r7575
(landing for Dmitry Lomov)
Review URL: http://codereview.chromium.org/6823065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7576
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 11 Apr 2011 23:46:22 +0000 (23:46 +0000)]
Do not rely on uniqueness of pthread_t
Patch by Dmitry Lomov.
pthreads implementations are free to reuse pthread_t (thread id) after
the thread has died. This change gets rid of ThreadHandle class and
replaces it with v8-managed thread identifiers.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7575
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Mon, 11 Apr 2011 16:16:52 +0000 (16:16 +0000)]
Allow recursive messages reporting as it is already used.
Instead discard unhandled exceptions thown while running
message listeners.
Review URL: http://codereview.chromium.org/6820003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7574
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Mon, 11 Apr 2011 13:54:30 +0000 (13:54 +0000)]
Bring test262 expectations up-to-date.
Add missing *.js files into Xcode project.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6826036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7573
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 11 Apr 2011 13:24:50 +0000 (13:24 +0000)]
Introduce runtime function %OptimizeFunctionOnNextCall to manually trigger optimization.
TEST=existing unit tests still pass
Review URL: http://codereview.chromium.org/6821009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7572
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Mon, 11 Apr 2011 12:14:53 +0000 (12:14 +0000)]
Prepare push to trunk. Now working on version 3.2.10.
Review URL: http://codereview.chromium.org/6820029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7569
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 11 Apr 2011 11:49:55 +0000 (11:49 +0000)]
Fix x64 build after r7567
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7568
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Mon, 11 Apr 2011 11:38:34 +0000 (11:38 +0000)]
Mark single-argument inline constructors as 'explicit'.
There is currently a bug in cpplint.py hiding this problem.
R=sgjesse@chromium.org
BUG=1304
TEST=none
Review URL: http://codereview.chromium.org/6820028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7567
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 11 Apr 2011 09:39:21 +0000 (09:39 +0000)]
Remove code from the deprecated GenericBinaryOpStub.
All platforms are now using the TypeRecordingBinaryOpStub.
I also removed the ARM IntegerModStub which was called from
the GenericBinaryOpStub.
Review URL: http://codereview.chromium.org/6826032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7566
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 11 Apr 2011 09:04:30 +0000 (09:04 +0000)]
ARM: Remove support for ABI prior to EABI
The support for the old ABI is known to be broken and has been deprecated for some time now. Removed the instructions for loading and storing co-processor registers as they where only used to support the old ABI.
R=karlklose@chromium.org
BUG=v8:1316
TEST=
Review URL: http://codereview.chromium.org//6822025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7565
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 11 Apr 2011 08:59:29 +0000 (08:59 +0000)]
ARM: Fix wrong fall through handling
Looks like a copy/paste mistake.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//6826031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7564
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Sun, 10 Apr 2011 08:29:18 +0000 (08:29 +0000)]
Fix JS ratio computation on startup.
Review URL: http://codereview.chromium.org/6826026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7562
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Fri, 8 Apr 2011 14:30:10 +0000 (14:30 +0000)]
Strict mode fixes.
- mutual inlining strict and non-strict functions in crankshaft.
- assignment to undefined variable with eval in scope.
- propagation of strict mode through lazy compilation.
BUG=
TEST=test/mjsunit/strict-mode.js test/mjsunit/strict-mode-opt.js
Review URL: http://codereview.chromium.org/6814012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7561
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 8 Apr 2011 12:34:00 +0000 (12:34 +0000)]
X64: Convert HeapNumbers that contain valid smi values to smis in binop-stub.
When the TypeRecordingBinaryOpStub expect smi values as input, they might
sometimes come as HeapNumbers. The transition code will detect the heap numbers
as holding values that are valid smi values, and will not change the expectations.
However, the stub didn't handle HeapNumbers and always tried to transition again.
Review URL: http://codereview.chromium.org/6812046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7560
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Fri, 8 Apr 2011 12:22:43 +0000 (12:22 +0000)]
Removing old codegen from Xcode project.
TBR=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6811044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7559
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 8 Apr 2011 11:37:30 +0000 (11:37 +0000)]
ARM: Fix a crash bug in code for %_IsStringWrapperSafeForDefaultValueOf
Turned out out that the setting of bit Map::kStringWrapperSafeForDefaultValueOf in Map::kStringWrapperSafeForDefaultValueOf was not done on the map but in some other memory location causing crashes.
R=vegorov@chromium.org
BUG=none
TEST=mozilla/data/js1_2/String/slice.js (crashed only on ARM hardware)
Review URL: http://codereview.chromium.org//6816054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7558
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 8 Apr 2011 11:25:19 +0000 (11:25 +0000)]
Fix compilation with gdbjit=on.
Ensure mutual exclusion on access to GDBJITInterface internal structures to make it work correctly with several isolates.
Review URL: http://codereview.chromium.org/6816053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7557
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 8 Apr 2011 10:02:01 +0000 (10:02 +0000)]
Fix some presumbmit failures.
Review URL: http://codereview.chromium.org/6801070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7554
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 8 Apr 2011 09:39:45 +0000 (09:39 +0000)]
Report stack overflow exceptions to V8 message listeners
Stack overflow exceptions like other JavaScript exceptions should be reported to listeners added via V8::AddMessageListener
Review URL: http://codereview.chromium.org/6816021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7553
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 8 Apr 2011 06:54:50 +0000 (06:54 +0000)]
Add ToBoolean-conversion of constants in Crankshaft and use it when generating a branch based on a constant.
Review URL: http://codereview.chromium.org/6801050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7552
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 7 Apr 2011 20:57:07 +0000 (20:57 +0000)]
Fix auto suspension of the sampler thread.
BUG=http://crbug.com/78267
Review URL: http://codereview.chromium.org/6801060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7549
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Thu, 7 Apr 2011 19:52:24 +0000 (19:52 +0000)]
Make exception thrown via v8 public API propagate to v8::TryCatch as JS thrown exceptions do.
Correctly process failures which can be returned by Object::GetProperty
when performing GetRealNamedProperty* queries.
Callback properties can produce exceptions so we need to wrap access to them
into exception checks. However, despite of many other methods with exception
checks, property access doesn't mandatroy go via JavaScript and hence we
need to inject code to propagate exception to public API TryCatch handlers.
Review URL: http://codereview.chromium.org/6685087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7548
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 7 Apr 2011 16:10:56 +0000 (16:10 +0000)]
Fix win64 compile failure.
Review URL: http://codereview.chromium.org/6810021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7547
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 7 Apr 2011 15:02:38 +0000 (15:02 +0000)]
Fix v8.gyp.
R=kmillikin@chromium.org
BUG=
TEST=
TBR=
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7546
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 7 Apr 2011 15:01:50 +0000 (15:01 +0000)]
oops
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7545
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 7 Apr 2011 15:01:20 +0000 (15:01 +0000)]
Fix cow fixed array map check in optimized arm code.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6814016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7544
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 7 Apr 2011 14:45:34 +0000 (14:45 +0000)]
Restart AST node numbering when we enter a function.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6691058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7543
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 7 Apr 2011 14:42:37 +0000 (14:42 +0000)]
Remove some dead code.
- virtual-frame*
- register-allocator*
- jump-target*
- most of codegen*
- AstOptimizer and fields on AST
There is a lot of additional cleanup that we should do but this gets
rid of a lot.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6811012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7542
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 7 Apr 2011 13:32:45 +0000 (13:32 +0000)]
In LCodeGen::DoDeferredLInstanceOfKnownGlobal emit safepoint with registers for the call to stub.
Review URL: http://codereview.chromium.org/6793017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7541
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 7 Apr 2011 12:38:16 +0000 (12:38 +0000)]
Add GCMole to the repository.
GCMole is a simple static analysis tool that searches for GC-usafe evaluation order dependent callsites.
Review URL: http://codereview.chromium.org/6812002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7540
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peterhal@chromium.org [Thu, 7 Apr 2011 11:29:40 +0000 (11:29 +0000)]
Fix --print-code-stubs during VM initialization
BUG=
TEST=
Review URL: http://codereview.chromium.org/6815007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7539
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 Apr 2011 10:44:39 +0000 (10:44 +0000)]
Fix bad deoptimization tests for double-to-int conversion.
Deopted on zero result, not just bad cvttsi2sd conversion.
Add inline floating point result for SHR in Smi TypeRecordingBinaryOpStub.
Small optimizations.
Adding rightshift to case handled by floating point result in type-recording binary op stub.
Review URL: http://codereview.chromium.org/6801040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7537
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 7 Apr 2011 09:51:25 +0000 (09:51 +0000)]
Fix opmitized external array access for compound assignments and count operations, also implement missing ARM typed array Hydrogen loads and stores.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6805005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7536
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Thu, 7 Apr 2011 09:18:06 +0000 (09:18 +0000)]
Fix build break on Mac.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6816012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7535
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 Apr 2011 08:41:37 +0000 (08:41 +0000)]
Make preparser api be exported in shared libraries.
Adds missing V8EXPORT declarations to types in v8-preparser.h.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6812012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7531
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 7 Apr 2011 08:24:56 +0000 (08:24 +0000)]
Make "length" and "BYTES_PER_ELEMENT" properties of typed arrays accessible.
Review URL: http://codereview.chromium.org/6805010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7527
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 7 Apr 2011 07:56:43 +0000 (07:56 +0000)]
Remove unnecessary AST node for ++ and -- operations.
Instead of adding an extra AST node we can just use an auxiliary
bailout id for named and keyed property count operations.
Review URL: http://codereview.chromium.org/6810015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7524
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Wed, 6 Apr 2011 22:47:14 +0000 (22:47 +0000)]
Fix arm and x64 build break.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6808001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7523
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Wed, 6 Apr 2011 20:20:31 +0000 (20:20 +0000)]
Strict mode renamings.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6804024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7522
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 6 Apr 2011 19:17:54 +0000 (19:17 +0000)]
Make object groups and implicit references a bit more lightweight.
We can only call malloc/free once per group and we can avoid scanning
through a list of NULLs if we keep unprocessed groups in the beginning.
I also changed the internal representation of implicit references to
hold a handle to the parent (instead of a direct pointer). The
prologue callback must not trigger a GC, but it's better to be safe.
Review URL: http://codereview.chromium.org/6800003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7521
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Wed, 6 Apr 2011 19:06:19 +0000 (19:06 +0000)]
Fix Xcode project.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6799016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7520
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 6 Apr 2011 18:32:01 +0000 (18:32 +0000)]
Add a missing handle for serialized scope info
R=vegorov@chromium.org
BUG=v8:1252
TEST=none
Review URL: http://codereview.chromium.org//6805013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7519
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 6 Apr 2011 17:54:39 +0000 (17:54 +0000)]
Debugger: show local scope before with for functions created inside with block
Review URL: http://codereview.chromium.org/6804015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7518
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peterhal@chromium.org [Wed, 6 Apr 2011 16:22:06 +0000 (16:22 +0000)]
1309 fix
BUG=
TEST=
Review URL: http://codereview.chromium.org/6800018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7517
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 6 Apr 2011 14:23:27 +0000 (14:23 +0000)]
Always iterate outgoing arguments as a part of caller frame.
Change caller_sp() to always point to the place after outgoing arguments.
Change deoptimizer to use absolute stack slot addresses for deferred HeapNumber's materialization.
(This is reapplication of r7504 with fix for mozilla testsuite failures).
Review URL: http://codereview.chromium.org/6677164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7516
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 6 Apr 2011 12:52:51 +0000 (12:52 +0000)]
X64: Allow the type recording binary op stub to create heapnumber results.
Review URL: http://codereview.chromium.org/6803010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7515
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 6 Apr 2011 11:03:30 +0000 (11:03 +0000)]
Prepare push to trunk. Now working on version 3.2.9.
Review URL: http://codereview.chromium.org/6804008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7511
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 6 Apr 2011 11:01:07 +0000 (11:01 +0000)]
Add regression test for overlapping key and value registers.
Review URL: http://codereview.chromium.org/6804007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7510
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 6 Apr 2011 09:06:23 +0000 (09:06 +0000)]
ARM: Add support load/store multiple VFP registers
Enter/exit frames with save doubles use these instructions instead of generating 16 load/store instructions.
R=karlklose@chromium.org, rodolph.perfetta@gmail.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//6691057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7509
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 6 Apr 2011 08:41:28 +0000 (08:41 +0000)]
Remove unused last_pc_ in AssemblerX64.
Remove unneeded checks for SSE2 in X64 code.
Remove an unneeded check for SSE3 where the X64 code doesn't use SSE3 features.
Review URL: http://codereview.chromium.org/6793040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7508
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 6 Apr 2011 08:31:54 +0000 (08:31 +0000)]
Expose WebGL typed array constructors in the shell sample
Review URL: http://codereview.chromium.org/6691061
Patch from Jakob Kummerow <jkummerow@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7507
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 5 Apr 2011 18:47:46 +0000 (18:47 +0000)]
Use placement new for zone objects in hydrogen.
Review URL: http://codereview.chromium.org/6794041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 5 Apr 2011 18:46:06 +0000 (18:46 +0000)]
Revert r7504.
Deoptimization infrastructure implicitly uses caller_sp related addressing (where caller_sp is expected to point below outgoing arguments).
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/6677160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 5 Apr 2011 17:18:44 +0000 (17:18 +0000)]
Always iterate outgoing arguments as a part of caller frame.
Change caller_sp() to always point to the place after outgoing arguments.
Review URL: http://codereview.chromium.org/6720049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 5 Apr 2011 09:55:18 +0000 (09:55 +0000)]
Remove environment length from HSimulate instructions.
It was only used in an ASSERT when reconstructing environments
at lithium translation time.
Review URL: http://codereview.chromium.org/6693062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 5 Apr 2011 09:21:02 +0000 (09:21 +0000)]
Add inline non-transcendental cache version of log to lithium.
In addition, this change allows one additional level of inlining.
Review URL: http://codereview.chromium.org/6720017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7500
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 5 Apr 2011 09:01:47 +0000 (09:01 +0000)]
Simplify isolates access during stack iteration (WAS: Move SafeStackFrameIterator::active_count_...)
While trying to fix Mac and Windows versions for this change:
http://codereview.chromium.org/6771047/, I figured out, that we
already store an isolate in StackFrameIterator, so we can use it in
frame objects, instead of requiring it from caller.
I've changed iterators usage to the following scheme: whenever a
caller maintains an isolate pointer, it just passes it to stack
iterator, and no more worries about passing it to frame content
accessors. If a caller uses current isolate, it can omit passing it
to iterator, in this case, an iterator will use the current isolate,
too.
There was a special case with LiveEdit, which creates
detached copies of frame objects.
R=vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6794019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7499
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 5 Apr 2011 07:57:35 +0000 (07:57 +0000)]
Fix overlapping registers in external array stores on x64.
R=danno@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6794047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 4 Apr 2011 18:26:06 +0000 (18:26 +0000)]
Cleanup of FACTORY macro and fix Irregexp Interpreter build in test-regexp.cc
Patch by Peter Varga.
Review URL: http://codereview.chromium.org/6793019/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 4 Apr 2011 15:03:34 +0000 (15:03 +0000)]
Extend crankshaft support for global stores
All global stores are now supported in crankshaft by using the normal store IC when other optimizations are not possible due to the state of the global object.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//6693066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 4 Apr 2011 08:57:21 +0000 (08:57 +0000)]
Remove redundant data member from HChange instructions.
The target representation is already stored as part of HValue::representation().
Review URL: http://codereview.chromium.org/6794014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 4 Apr 2011 08:16:54 +0000 (08:16 +0000)]
Prepare push to trunk. Now working on version 3.2.8.
R=danno@chromium.org
Review URL: http://codereview.chromium.org/6693060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 4 Apr 2011 06:29:02 +0000 (06:29 +0000)]
Support placement new syntax for zone objects and start using it in the parser.
Review URL: http://codereview.chromium.org/6771058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 4 Apr 2011 05:46:51 +0000 (05:46 +0000)]
Fix fast TLS support on Mac.
Review URL: http://codereview.chromium.org/6706018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 4 Apr 2011 02:56:34 +0000 (02:56 +0000)]
Explicitly use icu namespace.
Chromium builds with U_USING_ICU_NAMESPACE=0, so we need this.
Landing for thakis@chromium.org.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7487
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 1 Apr 2011 19:46:21 +0000 (19:46 +0000)]
Reapply: Never use classic code generator.
Crankshaft is now the default on all platforms. This is the first
patch on the way to removing the classic code generator from the
system.
This time with no removal of the crankshaft flag. --nocrankshaft is
not at all the same as --always-full-compiler which I had used instead
for testing. That was what caused timeouts on the buildbots because of
repeated attempts to optimize hot functions. It makes sense to keep
the crankshaft flag in case you want to run only with the full
compiler and with no adaptive compilation.
R=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/6759070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7486
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 1 Apr 2011 16:21:26 +0000 (16:21 +0000)]
Revert r7483 "Move SafeStackFrameIterator::active_count_ into an isolate."
It broke the Mac build.
Sampler::SampleStack() can't use Isolate::Current() when called from
the sampler thread (from SampleContext). We have to pass the isolate
pointer.
TBR=mikhail.naganov@gmail.com
Review URL: http://codereview.chromium.org/6791014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7485
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 1 Apr 2011 15:37:59 +0000 (15:37 +0000)]
Fix non-ia32 build.
Review URL: http://codereview.chromium.org/6771052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 1 Apr 2011 15:23:18 +0000 (15:23 +0000)]
Move SafeStackFrameIterator::active_count_ into an isolate.
R=ager@chromium.org,vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6771047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7483
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 1 Apr 2011 14:46:30 +0000 (14:46 +0000)]
Fix multi-isolate build:
o Make ia32 macro assembler work without an isolate and use it in the
custom memcpy creation code.
o Remove isolate-dependent code from the custom memcpy and modulo
functions creation code.
Review URL: http://codereview.chromium.org/6788007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7482
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 1 Apr 2011 14:38:30 +0000 (14:38 +0000)]
Revert "Never use classic code generator."
This reverts r7469 which might have caused the timeouts on the buildbot.
TBR=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//6788009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 1 Apr 2011 13:48:10 +0000 (13:48 +0000)]
Fix presubmit error.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6791011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7480
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 1 Apr 2011 13:27:28 +0000 (13:27 +0000)]
Revert "Made test.py not mention the defunct --crankshaft flag."
This reverts svn r7477.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6760027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 1 Apr 2011 13:15:27 +0000 (13:15 +0000)]
Allow construction of x64 Assembler with a NULL Isolate.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6771049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7478
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 1 Apr 2011 13:07:37 +0000 (13:07 +0000)]
Made test.py not mention the defunct --crankshaft flag.
Cleanup of X64 assembler.
Review URL: http://codereview.chromium.org/6764015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7477
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 1 Apr 2011 12:17:20 +0000 (12:17 +0000)]
Introduce v8::Object::CreationContext method.
That allows to find out a global context in which the object
was created.
Review URL: http://codereview.chromium.org/6759054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Fri, 1 Apr 2011 11:59:00 +0000 (11:59 +0000)]
Cleanup usage of HEAP in mark-compact.
Review URL: http://codereview.chromium.org/6760025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7475
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 1 Apr 2011 11:54:04 +0000 (11:54 +0000)]
Increase coverage of global loads in optimized code
In the cases where a global property cell cannot be used in the optimized code
use standard load ic to get the property instead of bailing out.
This is re-committing r7212 and r7215 which where reverted in r7239 with the addition of recoring the source position in the hydrogen code for the LoadGlobalCell instruction. To record that position an optional position field has been added to the variable proxy AST node.
Review URL: http://codereview.chromium.org/6758007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Fri, 1 Apr 2011 11:47:42 +0000 (11:47 +0000)]
Do not try to execute empty programs.
After failing to read a non-existing file, the shell tried to execute the resulting empty program, which resulted in a null pointer dereference. This patch avoids execution of empty programs.
Review URL: http://codereview.chromium.org/6777005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 1 Apr 2011 11:41:36 +0000 (11:41 +0000)]
Fix SlotRef::SlotAddress for parameters indices.
Fix %NewObjectFromBound to correctly handle optimized frames (including those with inlined functions).
Fix %_IsConstructCall handling in hydrogen: when called from inlined function return false constant directly instead of emiting HIsConstructCall.
Fix success case in TraceInline.
BUG=v8:1229
TEST=test/mjsunit/regress/regress-1229.js
Review URL: http://codereview.chromium.org/6740023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7472
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 1 Apr 2011 11:21:46 +0000 (11:21 +0000)]
Fix Win64 build isolate problem
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6764014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7471
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 1 Apr 2011 11:21:36 +0000 (11:21 +0000)]
Minor cleanup in StaticMarkingVisitor.
Review URL: http://codereview.chromium.org/6780032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7470
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 1 Apr 2011 10:52:18 +0000 (10:52 +0000)]
Never use classic code generator.
Crankshaft is now the default on all platforms. This is the first
patch on the way to removing the classic code generator from the
system.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6771045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7469
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 1 Apr 2011 10:30:09 +0000 (10:30 +0000)]
Fix pc offset calculation for stack traces
Use the correct address of the code object to calculate the offset from the code object start to a pc for an optimized frame.
BUG=
TEST=
Review URL: http://codereview.chromium.org//6759052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7468
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 1 Apr 2011 10:20:39 +0000 (10:20 +0000)]
Do not create a SharedFunctionInfo for closures on each recompilation.
Unoptimized code should already keep a reference to the SharedFunctionInfo,
let's use it instead of allocating a new object and prohibiting SharedFunctionInfo
specific optimizations.
Review URL: http://codereview.chromium.org/6706016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7467
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 1 Apr 2011 08:03:34 +0000 (08:03 +0000)]
Fix minor issues in typed array load/store implementation
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6675043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00